pdfcrowd 6.0.1 → 6.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/pdfcrowd.rb +64 -16
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: bd5433b839fb55dd482f13ea76bf6e74d203c071f748fd5d6ee8e09150a25f59
4
- data.tar.gz: d55b65b1bdcd54cc604eb2176e950dad8d8ce1b876414f37da5f2819724d892b
3
+ metadata.gz: 5ced48bdced7379753e37229aab427f954e8f072a8cbc1d7f9dd5fcec926db33
4
+ data.tar.gz: a00e3aec16dd5fcdc70534b28955ca2240095090c0b34235c90afdc75583082b
5
5
  SHA512:
6
- metadata.gz: 042b5798eb2361402cae04bfc61b465657e608c7d5b09a576123442a77e8da70af92cd4c4c39cf1d0ab33684093f8ac5bc5a4353944e7fe1452a78be6801ae46
7
- data.tar.gz: d27d21a7ff8446ee0d3388e21feb37eaf73c647460ecb567e22c3843c41c684b90ede884a8440034c7804d11f205caf5c1745b42e9305f21261480ea7a90bc38
6
+ metadata.gz: 6f256d7dd7f6ca51472abe629e158238eaad99e2033f9ea8b05c21f9ab547de857f8d2463b573edaa071ed9bf47296f9afb6192452b78eec0b69b1020b8053ba
7
+ data.tar.gz: 7c31d569baf3b0a1dc81eb9966d10d517befdee64ed75021202e999a2155d60d57c7e6504178b508ec0eaf954cce9d44d6bef57bcf4075c296cd17a30d842f03
data/lib/pdfcrowd.rb CHANGED
@@ -530,7 +530,7 @@ end
530
530
  module Pdfcrowd
531
531
  HOST = ENV["PDFCROWD_HOST"] || 'api.pdfcrowd.com'
532
532
  MULTIPART_BOUNDARY = '----------ThIs_Is_tHe_bOUnDary_$'
533
- CLIENT_VERSION = '6.0.1'
533
+ CLIENT_VERSION = '6.2.0'
534
534
 
535
535
  class ConnectionHelper
536
536
  def initialize(user_name, api_key)
@@ -541,7 +541,7 @@ module Pdfcrowd
541
541
 
542
542
  setProxy(nil, nil, nil, nil)
543
543
  setUseHttp(false)
544
- setUserAgent('pdfcrowd_ruby_client/6.0.1 (https://pdfcrowd.com)')
544
+ setUserAgent('pdfcrowd_ruby_client/6.2.0 (https://pdfcrowd.com)')
545
545
 
546
546
  @retry_count = 1
547
547
  @converter_version = '24.04'
@@ -1085,26 +1085,17 @@ module Pdfcrowd
1085
1085
 
1086
1086
  # Set the page range to print.
1087
1087
  #
1088
- # * +pages+ - A comma separated list of page numbers or ranges.
1088
+ # * +pages+ - A comma separated list of page numbers or ranges. Special strings may be used, such as `odd`, `even` and `last`.
1089
1089
  # * *Returns* - The converter object.
1090
1090
  def setPrintPageRange(pages)
1091
- unless /^(?:\s*(?:\d+|(?:\d*\s*\-\s*\d+)|(?:\d+\s*\-\s*\d*))\s*,\s*)*\s*(?:\d+|(?:\d*\s*\-\s*\d+)|(?:\d+\s*\-\s*\d*))\s*$/.match(pages)
1092
- raise Error.new(Pdfcrowd.create_invalid_value_message(pages, "setPrintPageRange", "html-to-pdf", "A comma separated list of page numbers or ranges.", "set_print_page_range"), 470);
1091
+ unless /^(?:\s*(?:\d+|(?:\d*\s*\-\s*\d+)|(?:\d+\s*\-\s*\d*)|odd|even|last)\s*,\s*)*\s*(?:\d+|(?:\d*\s*\-\s*\d+)|(?:\d+\s*\-\s*\d*)|odd|even|last)\s*$/.match(pages)
1092
+ raise Error.new(Pdfcrowd.create_invalid_value_message(pages, "setPrintPageRange", "html-to-pdf", "A comma separated list of page numbers or ranges. Special strings may be used, such as `odd`, `even` and `last`.", "set_print_page_range"), 470);
1093
1093
  end
1094
1094
 
1095
1095
  @fields['print_page_range'] = pages
1096
1096
  self
1097
1097
  end
1098
1098
 
1099
- # Set an offset between physical and logical page numbers.
1100
- #
1101
- # * +offset+ - Integer specifying page offset.
1102
- # * *Returns* - The converter object.
1103
- def setPageNumberingOffset(offset)
1104
- @fields['page_numbering_offset'] = offset
1105
- self
1106
- end
1107
-
1108
1099
  # Set the viewport width for formatting the HTML content when generating a PDF. By specifying a viewport width, you can control how the content is rendered, ensuring it mimics the appearance on various devices or matches specific design requirements.
1109
1100
  #
1110
1101
  # * +width+ - The width of the viewport. The value must be "balanced", "small", "medium", "large", "extra-large", or a number in the range 96-65000.
@@ -1262,7 +1253,7 @@ module Pdfcrowd
1262
1253
  self
1263
1254
  end
1264
1255
 
1265
- # The page header is not printed on the specified pages.
1256
+ # The page header content is not printed on the specified pages. To remove the entire header area, use the conversion config.
1266
1257
  #
1267
1258
  # * +pages+ - List of physical page numbers. Negative numbers count backwards from the last page: -1 is the last page, -2 is the last but one page, and so on. A comma separated list of page numbers.
1268
1259
  # * *Returns* - The converter object.
@@ -1275,7 +1266,7 @@ module Pdfcrowd
1275
1266
  self
1276
1267
  end
1277
1268
 
1278
- # The page footer is not printed on the specified pages.
1269
+ # The page footer content is not printed on the specified pages. To remove the entire footer area, use the conversion config.
1279
1270
  #
1280
1271
  # * +pages+ - List of physical page numbers. Negative numbers count backwards from the last page: -1 is the last page, -2 is the last but one page, and so on. A comma separated list of page numbers.
1281
1272
  # * *Returns* - The converter object.
@@ -1301,6 +1292,15 @@ module Pdfcrowd
1301
1292
  self
1302
1293
  end
1303
1294
 
1295
+ # Set an offset between physical and logical page numbers.
1296
+ #
1297
+ # * +offset+ - Integer specifying page offset.
1298
+ # * *Returns* - The converter object.
1299
+ def setPageNumberingOffset(offset)
1300
+ @fields['page_numbering_offset'] = offset
1301
+ self
1302
+ end
1303
+
1304
1304
  # Apply a watermark to each page of the output PDF file. A watermark can be either a PDF or an image. If a multi-page file (PDF or TIFF) is used, the first page is used as the watermark.
1305
1305
  #
1306
1306
  # * +watermark+ - The file path to a local file. The file must exist and not be empty.
@@ -2426,6 +2426,28 @@ module Pdfcrowd
2426
2426
  self
2427
2427
  end
2428
2428
 
2429
+ # Allows to configure conversion via JSON. The configuration defines various page settings for individual PDF pages or ranges of pages. It provides flexibility in designing each page of the PDF, giving control over each page's size, header, footer etc. If a page or parameter is not explicitly specified, the system will use the default settings for that page or attribute. If a JSON configuration is provided, the settings in the JSON will take precedence over the global options. The structure of the JSON must be: pageSetup: An array of objects where each object defines the configuration for a specific page or range of pages. The following properties can be set for each page object: pages: A comma-separated list of page numbers or ranges. Special strings may be used, such as `odd`, `even` and `last`. For example: 1-: from page 1 to the end of the document 2: only the 2nd page 2,4,6: pages 2, 4, and 6 2-5: pages 2 through 5 odd,2: the 2nd page and all odd pages pageSize: The page size (optional). Possible values: A0, A1, A2, A3, A4, A5, A6, Letter. pageWidth: The width of the page (optional). pageHeight: The height of the page (optional). marginLeft: Left margin (optional). marginRight: Right margin (optional). marginTop: Top margin (optional). marginBottom: Bottom margin (optional). displayHeader: Header appearance (optional). Possible values: none: completely excluded space: only the content is excluded, the space is used content: the content is printed (default) displayFooter: Footer appearance (optional). Possible values: none: completely excluded space: only the content is excluded, the space is used content: the content is printed (default) headerHeight: Height of the header (optional). footerHeight: Height of the footer (optional). orientation: Page orientation, such as "portrait" or "landscape" (optional). Dimensions may be empty, 0 or specified in inches "in", millimeters "mm", centimeters "cm", pixels "px", or points "pt".
2430
+ #
2431
+ # * +json_string+ - The JSON string.
2432
+ # * *Returns* - The converter object.
2433
+ def setConversionConfig(json_string)
2434
+ @fields['conversion_config'] = json_string
2435
+ self
2436
+ end
2437
+
2438
+ # Allows to configure the conversion process via JSON file. See details of the JSON string.
2439
+ #
2440
+ # * +filepath+ - The file path to a local file. The file must exist and not be empty.
2441
+ # * *Returns* - The converter object.
2442
+ def setConversionConfigFile(filepath)
2443
+ if (!(File.file?(filepath) && !File.zero?(filepath)))
2444
+ raise Error.new(Pdfcrowd.create_invalid_value_message(filepath, "setConversionConfigFile", "html-to-pdf", "The file must exist and not be empty.", "set_conversion_config_file"), 470);
2445
+ end
2446
+
2447
+ @files['conversion_config_file'] = filepath
2448
+ self
2449
+ end
2450
+
2429
2451
  # Set the converter version. Different versions may produce different output. Choose which one provides the best output for your case.
2430
2452
  #
2431
2453
  # * +version+ - The version identifier. Allowed values are 24.04, 20.10, 18.10, latest.
@@ -5681,6 +5703,19 @@ module Pdfcrowd
5681
5703
  self
5682
5704
  end
5683
5705
 
5706
+ # Sets the processing mode for handling Type 3 fonts.
5707
+ #
5708
+ # * +mode+ - The type3 font mode. Allowed values are raster, convert.
5709
+ # * *Returns* - The converter object.
5710
+ def setType3Mode(mode)
5711
+ unless /(?i)^(raster|convert)$/.match(mode)
5712
+ raise Error.new(Pdfcrowd.create_invalid_value_message(mode, "setType3Mode", "pdf-to-html", "Allowed values are raster, convert.", "set_type3_mode"), 470);
5713
+ end
5714
+
5715
+ @fields['type3_mode'] = mode
5716
+ self
5717
+ end
5718
+
5684
5719
  # Converts ligatures, two or more letters combined into a single glyph, back into their individual ASCII characters.
5685
5720
  #
5686
5721
  # * +value+ - Set to true to split ligatures.
@@ -5690,6 +5725,19 @@ module Pdfcrowd
5690
5725
  self
5691
5726
  end
5692
5727
 
5728
+ # Apply custom CSS to the output HTML document. It allows you to modify the visual appearance and layout. Tip: Using !important in custom CSS provides a way to prioritize and override conflicting styles.
5729
+ #
5730
+ # * +css+ - A string containing valid CSS. The string must not be empty.
5731
+ # * *Returns* - The converter object.
5732
+ def setCustomCss(css)
5733
+ if (!(!css.nil? && !css.empty?))
5734
+ raise Error.new(Pdfcrowd.create_invalid_value_message(css, "setCustomCss", "pdf-to-html", "The string must not be empty.", "set_custom_css"), 470);
5735
+ end
5736
+
5737
+ @fields['custom_css'] = css
5738
+ self
5739
+ end
5740
+
5693
5741
  # A helper method to determine if the output file is a zip archive. The output of the conversion may be either an HTML file or a zip file containing the HTML and its external assets.
5694
5742
  # * *Returns* - True if the conversion output is a zip file, otherwise False.
5695
5743
  def isZippedOutput()
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pdfcrowd
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.0.1
4
+ version: 6.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pdfcrowd Team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-07-09 00:00:00.000000000 Z
11
+ date: 2024-10-01 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: The Pdfcrowd API lets you easily convert between HTML, PDF and various
14
14
  image formats.