pdfcrowd 5.20.0 → 6.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/pdfcrowd.rb +119 -80
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bd5433b839fb55dd482f13ea76bf6e74d203c071f748fd5d6ee8e09150a25f59
|
4
|
+
data.tar.gz: d55b65b1bdcd54cc604eb2176e950dad8d8ce1b876414f37da5f2819724d892b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 042b5798eb2361402cae04bfc61b465657e608c7d5b09a576123442a77e8da70af92cd4c4c39cf1d0ab33684093f8ac5bc5a4353944e7fe1452a78be6801ae46
|
7
|
+
data.tar.gz: d27d21a7ff8446ee0d3388e21feb37eaf73c647460ecb567e22c3843c41c684b90ede884a8440034c7804d11f205caf5c1745b42e9305f21261480ea7a90bc38
|
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 = '
|
533
|
+
CLIENT_VERSION = '6.0.1'
|
534
534
|
|
535
535
|
class ConnectionHelper
|
536
536
|
def initialize(user_name, api_key)
|
@@ -541,10 +541,10 @@ module Pdfcrowd
|
|
541
541
|
|
542
542
|
setProxy(nil, nil, nil, nil)
|
543
543
|
setUseHttp(false)
|
544
|
-
setUserAgent('pdfcrowd_ruby_client/
|
544
|
+
setUserAgent('pdfcrowd_ruby_client/6.0.1 (https://pdfcrowd.com)')
|
545
545
|
|
546
546
|
@retry_count = 1
|
547
|
-
@converter_version = '
|
547
|
+
@converter_version = '24.04'
|
548
548
|
end
|
549
549
|
|
550
550
|
def post(fields, files, raw_data, out_stream = nil)
|
@@ -1105,93 +1105,52 @@ module Pdfcrowd
|
|
1105
1105
|
self
|
1106
1106
|
end
|
1107
1107
|
|
1108
|
-
# Set the
|
1108
|
+
# 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
1109
|
#
|
1110
|
-
# * +
|
1110
|
+
# * +width+ - The width of the viewport. The value must be "balanced", "small", "medium", "large", "extra-large", or a number in the range 96-65000.
|
1111
1111
|
# * *Returns* - The converter object.
|
1112
|
-
def
|
1113
|
-
unless /(?i)^
|
1114
|
-
raise Error.new(Pdfcrowd.create_invalid_value_message(
|
1112
|
+
def setContentViewportWidth(width)
|
1113
|
+
unless /(?i)^(balanced|small|medium|large|extra-large|[0-9]+)$/.match(width)
|
1114
|
+
raise Error.new(Pdfcrowd.create_invalid_value_message(width, "setContentViewportWidth", "html-to-pdf", "The value must be \"balanced\", \"small\", \"medium\", \"large\", \"extra-large\", or a number in the range 96-65000.", "set_content_viewport_width"), 470);
|
1115
1115
|
end
|
1116
1116
|
|
1117
|
-
@fields['
|
1117
|
+
@fields['content_viewport_width'] = width
|
1118
1118
|
self
|
1119
1119
|
end
|
1120
1120
|
|
1121
|
-
# Set the
|
1121
|
+
# Set the viewport height for formatting the HTML content when generating a PDF. By specifying a viewport height, you can enforce loading of lazy-loaded images and also affect vertical positioning of absolutely positioned elements within the content.
|
1122
1122
|
#
|
1123
|
-
# * +
|
1123
|
+
# * +height+ - The viewport height. The value must be "auto", "large", or a number.
|
1124
1124
|
# * *Returns* - The converter object.
|
1125
|
-
def
|
1126
|
-
unless /(?i)^
|
1127
|
-
raise Error.new(Pdfcrowd.create_invalid_value_message(
|
1128
|
-
end
|
1129
|
-
|
1130
|
-
@fields['content_area_y'] = y
|
1131
|
-
self
|
1132
|
-
end
|
1133
|
-
|
1134
|
-
# Set the width of the content area. It should be at least 1 inch.
|
1135
|
-
#
|
1136
|
-
# * +width+ - The value must be specified in inches "in", millimeters "mm", centimeters "cm", pixels "px", or points "pt".
|
1137
|
-
# * *Returns* - The converter object.
|
1138
|
-
def setContentAreaWidth(width)
|
1139
|
-
unless /(?i)^0$|^[0-9]*\.?[0-9]+(pt|px|mm|cm|in)$/.match(width)
|
1140
|
-
raise Error.new(Pdfcrowd.create_invalid_value_message(width, "setContentAreaWidth", "html-to-pdf", "The value must be specified in inches \"in\", millimeters \"mm\", centimeters \"cm\", pixels \"px\", or points \"pt\".", "set_content_area_width"), 470);
|
1141
|
-
end
|
1142
|
-
|
1143
|
-
@fields['content_area_width'] = width
|
1144
|
-
self
|
1145
|
-
end
|
1146
|
-
|
1147
|
-
# Set the height of the content area. It should be at least 1 inch.
|
1148
|
-
#
|
1149
|
-
# * +height+ - The value must be specified in inches "in", millimeters "mm", centimeters "cm", pixels "px", or points "pt".
|
1150
|
-
# * *Returns* - The converter object.
|
1151
|
-
def setContentAreaHeight(height)
|
1152
|
-
unless /(?i)^0$|^[0-9]*\.?[0-9]+(pt|px|mm|cm|in)$/.match(height)
|
1153
|
-
raise Error.new(Pdfcrowd.create_invalid_value_message(height, "setContentAreaHeight", "html-to-pdf", "The value must be specified in inches \"in\", millimeters \"mm\", centimeters \"cm\", pixels \"px\", or points \"pt\".", "set_content_area_height"), 470);
|
1125
|
+
def setContentViewportHeight(height)
|
1126
|
+
unless /(?i)^(auto|large|[0-9]+)$/.match(height)
|
1127
|
+
raise Error.new(Pdfcrowd.create_invalid_value_message(height, "setContentViewportHeight", "html-to-pdf", "The value must be \"auto\", \"large\", or a number.", "set_content_viewport_height"), 470);
|
1154
1128
|
end
|
1155
1129
|
|
1156
|
-
@fields['
|
1130
|
+
@fields['content_viewport_height'] = height
|
1157
1131
|
self
|
1158
1132
|
end
|
1159
1133
|
|
1160
|
-
#
|
1134
|
+
# Specifies the mode for fitting the HTML content to the print area by upscaling or downscaling it.
|
1161
1135
|
#
|
1162
|
-
# * +
|
1163
|
-
# * +y+ - Set the top left Y coordinate of the content area. It is relative to the top left Y coordinate of the print area. The value must be specified in inches "in", millimeters "mm", centimeters "cm", pixels "px", or points "pt". It may contain a negative value.
|
1164
|
-
# * +width+ - Set the width of the content area. It should be at least 1 inch. The value must be specified in inches "in", millimeters "mm", centimeters "cm", pixels "px", or points "pt".
|
1165
|
-
# * +height+ - Set the height of the content area. It should be at least 1 inch. The value must be specified in inches "in", millimeters "mm", centimeters "cm", pixels "px", or points "pt".
|
1136
|
+
# * +mode+ - The fitting mode. Allowed values are auto, smart-scaling, no-scaling, viewport-width, content-width, single-page, single-page-ratio.
|
1166
1137
|
# * *Returns* - The converter object.
|
1167
|
-
def
|
1168
|
-
|
1169
|
-
|
1170
|
-
setContentAreaWidth(width)
|
1171
|
-
setContentAreaHeight(height)
|
1172
|
-
self
|
1173
|
-
end
|
1174
|
-
|
1175
|
-
# Specifies behavior in presence of CSS @page rules. It may affect the page size, margins and orientation.
|
1176
|
-
#
|
1177
|
-
# * +mode+ - The page rule mode. Allowed values are default, mode1, mode2.
|
1178
|
-
# * *Returns* - The converter object.
|
1179
|
-
def setCssPageRuleMode(mode)
|
1180
|
-
unless /(?i)^(default|mode1|mode2)$/.match(mode)
|
1181
|
-
raise Error.new(Pdfcrowd.create_invalid_value_message(mode, "setCssPageRuleMode", "html-to-pdf", "Allowed values are default, mode1, mode2.", "set_css_page_rule_mode"), 470);
|
1138
|
+
def setContentFitMode(mode)
|
1139
|
+
unless /(?i)^(auto|smart-scaling|no-scaling|viewport-width|content-width|single-page|single-page-ratio)$/.match(mode)
|
1140
|
+
raise Error.new(Pdfcrowd.create_invalid_value_message(mode, "setContentFitMode", "html-to-pdf", "Allowed values are auto, smart-scaling, no-scaling, viewport-width, content-width, single-page, single-page-ratio.", "set_content_fit_mode"), 470);
|
1182
1141
|
end
|
1183
1142
|
|
1184
|
-
@fields['
|
1143
|
+
@fields['content_fit_mode'] = mode
|
1185
1144
|
self
|
1186
1145
|
end
|
1187
1146
|
|
1188
1147
|
# Specifies which blank pages to exclude from the output document.
|
1189
1148
|
#
|
1190
|
-
# * +pages+ - The empty page behavior. Allowed values are trailing, none.
|
1149
|
+
# * +pages+ - The empty page behavior. Allowed values are trailing, all, none.
|
1191
1150
|
# * *Returns* - The converter object.
|
1192
1151
|
def setRemoveBlankPages(pages)
|
1193
|
-
unless /(?i)^(trailing|none)$/.match(pages)
|
1194
|
-
raise Error.new(Pdfcrowd.create_invalid_value_message(pages, "setRemoveBlankPages", "html-to-pdf", "Allowed values are trailing, none.", "set_remove_blank_pages"), 470);
|
1152
|
+
unless /(?i)^(trailing|all|none)$/.match(pages)
|
1153
|
+
raise Error.new(Pdfcrowd.create_invalid_value_message(pages, "setRemoveBlankPages", "html-to-pdf", "Allowed values are trailing, all, none.", "set_remove_blank_pages"), 470);
|
1195
1154
|
end
|
1196
1155
|
|
1197
1156
|
@fields['remove_blank_pages'] = pages
|
@@ -1627,6 +1586,19 @@ module Pdfcrowd
|
|
1627
1586
|
self
|
1628
1587
|
end
|
1629
1588
|
|
1589
|
+
# Specifies behavior in presence of CSS @page rules. It may affect the page size, margins and orientation.
|
1590
|
+
#
|
1591
|
+
# * +mode+ - The page rule mode. Allowed values are default, mode1, mode2.
|
1592
|
+
# * *Returns* - The converter object.
|
1593
|
+
def setCssPageRuleMode(mode)
|
1594
|
+
unless /(?i)^(default|mode1|mode2)$/.match(mode)
|
1595
|
+
raise Error.new(Pdfcrowd.create_invalid_value_message(mode, "setCssPageRuleMode", "html-to-pdf", "Allowed values are default, mode1, mode2.", "set_css_page_rule_mode"), 470);
|
1596
|
+
end
|
1597
|
+
|
1598
|
+
@fields['css_page_rule_mode'] = mode
|
1599
|
+
self
|
1600
|
+
end
|
1601
|
+
|
1630
1602
|
# Apply custom CSS to the input HTML document. It allows you to modify the visual appearance and layout of your HTML content dynamically. Tip: Using !important in custom CSS provides a way to prioritize and override conflicting styles.
|
1631
1603
|
#
|
1632
1604
|
# * +css+ - A string containing valid CSS. The string must not be empty.
|
@@ -2319,6 +2291,73 @@ module Pdfcrowd
|
|
2319
2291
|
self
|
2320
2292
|
end
|
2321
2293
|
|
2294
|
+
# Set the top left X coordinate of the content area. It is relative to the top left X coordinate of the print area.
|
2295
|
+
#
|
2296
|
+
# * +x+ - The value must be specified in inches "in", millimeters "mm", centimeters "cm", pixels "px", or points "pt". It may contain a negative value.
|
2297
|
+
# * *Returns* - The converter object.
|
2298
|
+
def setContentAreaX(x)
|
2299
|
+
unless /(?i)^0$|^\-?[0-9]*\.?[0-9]+(pt|px|mm|cm|in)$/.match(x)
|
2300
|
+
raise Error.new(Pdfcrowd.create_invalid_value_message(x, "setContentAreaX", "html-to-pdf", "The value must be specified in inches \"in\", millimeters \"mm\", centimeters \"cm\", pixels \"px\", or points \"pt\". It may contain a negative value.", "set_content_area_x"), 470);
|
2301
|
+
end
|
2302
|
+
|
2303
|
+
@fields['content_area_x'] = x
|
2304
|
+
self
|
2305
|
+
end
|
2306
|
+
|
2307
|
+
# Set the top left Y coordinate of the content area. It is relative to the top left Y coordinate of the print area.
|
2308
|
+
#
|
2309
|
+
# * +y+ - The value must be specified in inches "in", millimeters "mm", centimeters "cm", pixels "px", or points "pt". It may contain a negative value.
|
2310
|
+
# * *Returns* - The converter object.
|
2311
|
+
def setContentAreaY(y)
|
2312
|
+
unless /(?i)^0$|^\-?[0-9]*\.?[0-9]+(pt|px|mm|cm|in)$/.match(y)
|
2313
|
+
raise Error.new(Pdfcrowd.create_invalid_value_message(y, "setContentAreaY", "html-to-pdf", "The value must be specified in inches \"in\", millimeters \"mm\", centimeters \"cm\", pixels \"px\", or points \"pt\". It may contain a negative value.", "set_content_area_y"), 470);
|
2314
|
+
end
|
2315
|
+
|
2316
|
+
@fields['content_area_y'] = y
|
2317
|
+
self
|
2318
|
+
end
|
2319
|
+
|
2320
|
+
# Set the width of the content area. It should be at least 1 inch.
|
2321
|
+
#
|
2322
|
+
# * +width+ - The value must be specified in inches "in", millimeters "mm", centimeters "cm", pixels "px", or points "pt".
|
2323
|
+
# * *Returns* - The converter object.
|
2324
|
+
def setContentAreaWidth(width)
|
2325
|
+
unless /(?i)^0$|^[0-9]*\.?[0-9]+(pt|px|mm|cm|in)$/.match(width)
|
2326
|
+
raise Error.new(Pdfcrowd.create_invalid_value_message(width, "setContentAreaWidth", "html-to-pdf", "The value must be specified in inches \"in\", millimeters \"mm\", centimeters \"cm\", pixels \"px\", or points \"pt\".", "set_content_area_width"), 470);
|
2327
|
+
end
|
2328
|
+
|
2329
|
+
@fields['content_area_width'] = width
|
2330
|
+
self
|
2331
|
+
end
|
2332
|
+
|
2333
|
+
# Set the height of the content area. It should be at least 1 inch.
|
2334
|
+
#
|
2335
|
+
# * +height+ - The value must be specified in inches "in", millimeters "mm", centimeters "cm", pixels "px", or points "pt".
|
2336
|
+
# * *Returns* - The converter object.
|
2337
|
+
def setContentAreaHeight(height)
|
2338
|
+
unless /(?i)^0$|^[0-9]*\.?[0-9]+(pt|px|mm|cm|in)$/.match(height)
|
2339
|
+
raise Error.new(Pdfcrowd.create_invalid_value_message(height, "setContentAreaHeight", "html-to-pdf", "The value must be specified in inches \"in\", millimeters \"mm\", centimeters \"cm\", pixels \"px\", or points \"pt\".", "set_content_area_height"), 470);
|
2340
|
+
end
|
2341
|
+
|
2342
|
+
@fields['content_area_height'] = height
|
2343
|
+
self
|
2344
|
+
end
|
2345
|
+
|
2346
|
+
# Set the content area position and size. The content area enables to specify a web page area to be converted.
|
2347
|
+
#
|
2348
|
+
# * +x+ - Set the top left X coordinate of the content area. It is relative to the top left X coordinate of the print area. The value must be specified in inches "in", millimeters "mm", centimeters "cm", pixels "px", or points "pt". It may contain a negative value.
|
2349
|
+
# * +y+ - Set the top left Y coordinate of the content area. It is relative to the top left Y coordinate of the print area. The value must be specified in inches "in", millimeters "mm", centimeters "cm", pixels "px", or points "pt". It may contain a negative value.
|
2350
|
+
# * +width+ - Set the width of the content area. It should be at least 1 inch. The value must be specified in inches "in", millimeters "mm", centimeters "cm", pixels "px", or points "pt".
|
2351
|
+
# * +height+ - Set the height of the content area. It should be at least 1 inch. The value must be specified in inches "in", millimeters "mm", centimeters "cm", pixels "px", or points "pt".
|
2352
|
+
# * *Returns* - The converter object.
|
2353
|
+
def setContentArea(x, y, width, height)
|
2354
|
+
setContentAreaX(x)
|
2355
|
+
setContentAreaY(y)
|
2356
|
+
setContentAreaWidth(width)
|
2357
|
+
setContentAreaHeight(height)
|
2358
|
+
self
|
2359
|
+
end
|
2360
|
+
|
2322
2361
|
# A 2D transformation matrix applied to the main contents on each page. The origin [0,0] is located at the top-left corner of the contents. The resolution is 72 dpi.
|
2323
2362
|
#
|
2324
2363
|
# * +matrix+ - A comma separated string of matrix elements: "scaleX,skewX,transX,skewY,scaleY,transY"
|
@@ -2389,11 +2428,11 @@ module Pdfcrowd
|
|
2389
2428
|
|
2390
2429
|
# Set the converter version. Different versions may produce different output. Choose which one provides the best output for your case.
|
2391
2430
|
#
|
2392
|
-
# * +version+ - The version identifier. Allowed values are
|
2431
|
+
# * +version+ - The version identifier. Allowed values are 24.04, 20.10, 18.10, latest.
|
2393
2432
|
# * *Returns* - The converter object.
|
2394
2433
|
def setConverterVersion(version)
|
2395
|
-
unless /(?i)^(
|
2396
|
-
raise Error.new(Pdfcrowd.create_invalid_value_message(version, "setConverterVersion", "html-to-pdf", "Allowed values are
|
2434
|
+
unless /(?i)^(24.04|20.10|18.10|latest)$/.match(version)
|
2435
|
+
raise Error.new(Pdfcrowd.create_invalid_value_message(version, "setConverterVersion", "html-to-pdf", "Allowed values are 24.04, 20.10, 18.10, latest.", "set_converter_version"), 470);
|
2397
2436
|
end
|
2398
2437
|
|
2399
2438
|
@helper.setConverterVersion(version)
|
@@ -3199,11 +3238,11 @@ module Pdfcrowd
|
|
3199
3238
|
|
3200
3239
|
# Set the converter version. Different versions may produce different output. Choose which one provides the best output for your case.
|
3201
3240
|
#
|
3202
|
-
# * +version+ - The version identifier. Allowed values are
|
3241
|
+
# * +version+ - The version identifier. Allowed values are 24.04, 20.10, 18.10, latest.
|
3203
3242
|
# * *Returns* - The converter object.
|
3204
3243
|
def setConverterVersion(version)
|
3205
|
-
unless /(?i)^(
|
3206
|
-
raise Error.new(Pdfcrowd.create_invalid_value_message(version, "setConverterVersion", "html-to-image", "Allowed values are
|
3244
|
+
unless /(?i)^(24.04|20.10|18.10|latest)$/.match(version)
|
3245
|
+
raise Error.new(Pdfcrowd.create_invalid_value_message(version, "setConverterVersion", "html-to-image", "Allowed values are 24.04, 20.10, 18.10, latest.", "set_converter_version"), 470);
|
3207
3246
|
end
|
3208
3247
|
|
3209
3248
|
@helper.setConverterVersion(version)
|
@@ -3807,11 +3846,11 @@ module Pdfcrowd
|
|
3807
3846
|
|
3808
3847
|
# Set the converter version. Different versions may produce different output. Choose which one provides the best output for your case.
|
3809
3848
|
#
|
3810
|
-
# * +version+ - The version identifier. Allowed values are
|
3849
|
+
# * +version+ - The version identifier. Allowed values are 24.04, 20.10, 18.10, latest.
|
3811
3850
|
# * *Returns* - The converter object.
|
3812
3851
|
def setConverterVersion(version)
|
3813
|
-
unless /(?i)^(
|
3814
|
-
raise Error.new(Pdfcrowd.create_invalid_value_message(version, "setConverterVersion", "image-to-image", "Allowed values are
|
3852
|
+
unless /(?i)^(24.04|20.10|18.10|latest)$/.match(version)
|
3853
|
+
raise Error.new(Pdfcrowd.create_invalid_value_message(version, "setConverterVersion", "image-to-image", "Allowed values are 24.04, 20.10, 18.10, latest.", "set_converter_version"), 470);
|
3815
3854
|
end
|
3816
3855
|
|
3817
3856
|
@helper.setConverterVersion(version)
|
@@ -4375,11 +4414,11 @@ module Pdfcrowd
|
|
4375
4414
|
|
4376
4415
|
# Set the converter version. Different versions may produce different output. Choose which one provides the best output for your case.
|
4377
4416
|
#
|
4378
|
-
# * +version+ - The version identifier. Allowed values are
|
4417
|
+
# * +version+ - The version identifier. Allowed values are 24.04, 20.10, 18.10, latest.
|
4379
4418
|
# * *Returns* - The converter object.
|
4380
4419
|
def setConverterVersion(version)
|
4381
|
-
unless /(?i)^(
|
4382
|
-
raise Error.new(Pdfcrowd.create_invalid_value_message(version, "setConverterVersion", "pdf-to-pdf", "Allowed values are
|
4420
|
+
unless /(?i)^(24.04|20.10|18.10|latest)$/.match(version)
|
4421
|
+
raise Error.new(Pdfcrowd.create_invalid_value_message(version, "setConverterVersion", "pdf-to-pdf", "Allowed values are 24.04, 20.10, 18.10, latest.", "set_converter_version"), 470);
|
4383
4422
|
end
|
4384
4423
|
|
4385
4424
|
@helper.setConverterVersion(version)
|
@@ -5292,11 +5331,11 @@ module Pdfcrowd
|
|
5292
5331
|
|
5293
5332
|
# Set the converter version. Different versions may produce different output. Choose which one provides the best output for your case.
|
5294
5333
|
#
|
5295
|
-
# * +version+ - The version identifier. Allowed values are
|
5334
|
+
# * +version+ - The version identifier. Allowed values are 24.04, 20.10, 18.10, latest.
|
5296
5335
|
# * *Returns* - The converter object.
|
5297
5336
|
def setConverterVersion(version)
|
5298
|
-
unless /(?i)^(
|
5299
|
-
raise Error.new(Pdfcrowd.create_invalid_value_message(version, "setConverterVersion", "image-to-pdf", "Allowed values are
|
5337
|
+
unless /(?i)^(24.04|20.10|18.10|latest)$/.match(version)
|
5338
|
+
raise Error.new(Pdfcrowd.create_invalid_value_message(version, "setConverterVersion", "image-to-pdf", "Allowed values are 24.04, 20.10, 18.10, latest.", "set_converter_version"), 470);
|
5300
5339
|
end
|
5301
5340
|
|
5302
5341
|
@helper.setConverterVersion(version)
|
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:
|
4
|
+
version: 6.0.1
|
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-
|
11
|
+
date: 2024-07-09 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.
|