Class: Pdfcrowd::HtmlToImageClient
- Inherits:
-
Object
- Object
- Pdfcrowd::HtmlToImageClient
- Defined in:
- lib/pdfcrowd.rb
Overview
Conversion from HTML to image.
Instance Method Summary collapse
-
#convertFile(file) ⇒ Object
Convert a local file.
-
#convertFileToFile(file, file_path) ⇒ Object
Convert a local file and write the result to a local file.
-
#convertFileToStream(file, out_stream) ⇒ Object
Convert a local file and write the result to an output stream.
-
#convertStream(in_stream) ⇒ Object
Convert the contents of an input stream.
-
#convertStreamToFile(in_stream, file_path) ⇒ Object
Convert the contents of an input stream and write the result to a local file.
-
#convertStreamToStream(in_stream, out_stream) ⇒ Object
Convert the contents of an input stream and write the result to an output stream.
-
#convertString(text) ⇒ Object
Convert a string.
-
#convertStringToFile(text, file_path) ⇒ Object
Convert a string and write the output to a file.
-
#convertStringToStream(text, out_stream) ⇒ Object
Convert a string and write the output to an output stream.
-
#convertUrl(url) ⇒ Object
Convert a web page.
-
#convertUrlToFile(url, file_path) ⇒ Object
Convert a web page and write the result to a local file.
-
#convertUrlToStream(url, out_stream) ⇒ Object
Convert a web page and write the result to an output stream.
-
#getConsumedCreditCount ⇒ Object
Get the number of credits consumed by the last conversion.
-
#getDebugLogUrl ⇒ Object
Get the URL of the debug log for the last conversion.
-
#getJobId ⇒ Object
Get the job id.
-
#getOutputSize ⇒ Object
Get the size of the output in bytes.
-
#getRemainingCreditCount ⇒ Object
Get the number of conversion credits available in your account.
-
#getVersion ⇒ Object
Get the version details.
-
#initialize(user_name, api_key) ⇒ HtmlToImageClient
constructor
Constructor for the Pdfcrowd API client.
-
#setAutoDetectElementToConvert(value) ⇒ Object
The main HTML element for conversion is detected automatically.
-
#setBackgroundColor(color) ⇒ Object
The output image background color.
-
#setBlockAds(value) ⇒ Object
Try to block ads.
-
#setClientCertificate(certificate) ⇒ Object
A client certificate to authenticate Pdfcrowd converter on your web server.
-
#setClientCertificatePassword(password) ⇒ Object
A password for PKCS12 file with a client certificate if it is needed.
-
#setConverterVersion(version) ⇒ Object
Set the converter version.
-
#setCookies(cookies) ⇒ Object
Set cookies that are sent in Pdfcrowd HTTP requests.
-
#setCustomCss(css) ⇒ Object
Apply custom CSS to the input HTML document.
-
#setCustomHttpHeader(header) ⇒ Object
Set a custom HTTP header that is sent in Pdfcrowd HTTP requests.
-
#setCustomJavascript(javascript) ⇒ Object
Run a custom JavaScript after the document is loaded and ready to print.
-
#setDataAutoEscape(value) ⇒ Object
Auto escape HTML symbols in the input data before placing them into the output.
-
#setDataEncoding(encoding) ⇒ Object
Set the encoding of the data file set by setDataFile.
-
#setDataFile(data_file) ⇒ Object
Load the input data for template rendering from the specified file.
-
#setDataFormat(data_format) ⇒ Object
Specify the input data format.
-
#setDataIgnoreUndefined(value) ⇒ Object
Ignore undefined variables in the HTML template.
-
#setDataOptions(options) ⇒ Object
Set the advanced data options:csv_delimiter - The CSV data delimiter, the default is ,.xml_remove_root - Remove the root XML element from the input data.data_root - The name of the root element inserted into the input data without a root node (e.g. CSV), the default is data.
-
#setDataString(data_string) ⇒ Object
Set the input data for template rendering.
-
#setDataTrimBlocks(value) ⇒ Object
Auto trim whitespace around each template command block.
-
#setDebugLog(value) ⇒ Object
Turn on the debug logging.
-
#setDefaultEncoding(encoding) ⇒ Object
Set the default HTML content text encoding.
-
#setDisableImageLoading(value) ⇒ Object
Do not load images.
-
#setDisableJavascript(value) ⇒ Object
Do not execute JavaScript.
-
#setDisableRemoteFonts(value) ⇒ Object
Disable loading fonts from remote sources.
-
#setElementToConvert(selectors) ⇒ Object
Convert only the specified element from the main document and its children.
-
#setElementToConvertMode(mode) ⇒ Object
Specify the DOM handling when only a part of the document is converted.
-
#setFailOnAnyUrlError(fail_on_error) ⇒ Object
Abort the conversion if any of the sub-request HTTP status code is greater than or equal to 400 or if some sub-requests are still pending.
-
#setFailOnMainUrlError(fail_on_error) ⇒ Object
Abort the conversion if the main URL HTTP status code is greater than or equal to 400.
-
#setHttpAuth(user_name, password) ⇒ Object
Set credentials to access HTTP base authentication protected websites.
-
#setHttpAuthPassword(password) ⇒ Object
Set the HTTP authentication password.
-
#setHttpAuthUserName(user_name) ⇒ Object
Set the HTTP authentication user name.
-
#setHttpProxy(proxy) ⇒ Object
A proxy server used by Pdfcrowd conversion process for accessing the source URLs with HTTP scheme.
-
#setHttpsProxy(proxy) ⇒ Object
A proxy server used by Pdfcrowd conversion process for accessing the source URLs with HTTPS scheme.
-
#setJavascriptDelay(delay) ⇒ Object
Wait the specified number of milliseconds to finish all JavaScript after the document is loaded.
-
#setLoadIframes(iframes) ⇒ Object
Specifies how iframes are handled.
-
#setLocale(locale) ⇒ Object
Set the locale for the conversion.
-
#setMaxLoadingTime(max_time) ⇒ Object
Set the maximum time to load the page and its resources.
-
#setNoBackground(value) ⇒ Object
Do not print the background graphics.
-
#setNoXpdfcrowdHeader(value) ⇒ Object
Do not send the X-Pdfcrowd HTTP header in Pdfcrowd HTTP requests.
-
#setOnLoadJavascript(javascript) ⇒ Object
Run a custom JavaScript right after the document is loaded.
-
#setOutputFormat(output_format) ⇒ Object
The format of the output file.
-
#setProxy(host, port, user_name, password) ⇒ Object
Specifies an HTTP proxy that the API client library will use to connect to the internet.
-
#setReadabilityEnhancements(enhancements) ⇒ Object
The input HTML is automatically enhanced to improve the readability.
-
#setRetryCount(count) ⇒ Object
Specifies the number of automatic retries when the 502 or 503 HTTP status code is received.
-
#setScaleFactor(factor) ⇒ Object
Set the scaling factor (zoom) for the output image.
-
#setScreenshotHeight(height) ⇒ Object
Set the output image height in pixels.
-
#setScreenshotWidth(width) ⇒ Object
Set the output image width in pixels.
-
#setTag(tag) ⇒ Object
Tag the conversion with a custom value.
-
#setUseHttp(value) ⇒ Object
Specifies if the client communicates over HTTP or HTTPS with Pdfcrowd API.
-
#setUseMobileUserAgent(value) ⇒ Object
Use a mobile user agent.
-
#setUsePrintMedia(value) ⇒ Object
Use the print version of the page if available (@media print).
-
#setUserAgent(agent) ⇒ Object
Set a custom user agent HTTP header.
-
#setVerifySslCertificates(value) ⇒ Object
Do not allow insecure HTTPS connections.
-
#setWaitForElement(selectors) ⇒ Object
Wait for the specified element in a source document.
-
#setZipMainFilename(filename) ⇒ Object
Set the file name of the main HTML document stored in the input archive.
Constructor Details
#initialize(user_name, api_key) ⇒ HtmlToImageClient
Constructor for the Pdfcrowd API client.
-
user_name
- Your username at Pdfcrowd. -
api_key
- Your API key.
2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 |
# File 'lib/pdfcrowd.rb', line 2451 def initialize(user_name, api_key) @helper = ConnectionHelper.new(user_name, api_key) @fields = { 'input_format'=>'html', 'output_format'=>'png' } @file_id = 1 @files = {} @raw_data = {} end |
Instance Method Details
#convertFile(file) ⇒ Object
Convert a local file.
-
file
- The path to a local file to convert. The file can be either a single file or an archive (.tar.gz, .tar.bz2, or .zip). If the HTML document refers to local external assets (images, style sheets, javascript), zip the document together with the assets. The file must exist and not be empty. The file name must have a valid extension. -
Returns - Byte array containing the conversion output.
2525 2526 2527 2528 2529 2530 2531 2532 |
# File 'lib/pdfcrowd.rb', line 2525 def convertFile(file) if (!(File.file?(file) && !File.zero?(file))) raise Error.new(Pdfcrowd.(file, "convertFile", "html-to-image", "The file must exist and not be empty.", "convert_file"), 470); end @files['file'] = file @helper.post(@fields, @files, @raw_data) end |
#convertFileToFile(file, file_path) ⇒ Object
Convert a local file and write the result to a local file.
-
file
- The path to a local file to convert. The file can be either a single file or an archive (.tar.gz, .tar.bz2, or .zip). If the HTML document refers to local external assets (images, style sheets, javascript), zip the document together with the assets. The file must exist and not be empty. The file name must have a valid extension. -
file_path
- The output file path. The string must not be empty.
2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 |
# File 'lib/pdfcrowd.rb', line 2551 def convertFileToFile(file, file_path) if (!(!file_path.nil? && !file_path.empty?)) raise Error.new(Pdfcrowd.(file_path, "convertFileToFile::file_path", "html-to-image", "The string must not be empty.", "convert_file_to_file"), 470); end output_file = open(file_path, "wb") begin convertFileToStream(file, output_file) output_file.close() rescue Error => why output_file.close() FileUtils.rm(file_path) raise end end |
#convertFileToStream(file, out_stream) ⇒ Object
Convert a local file and write the result to an output stream.
-
file
- The path to a local file to convert. The file can be either a single file or an archive (.tar.gz, .tar.bz2, or .zip). If the HTML document refers to local external assets (images, style sheets, javascript), zip the document together with the assets. The file must exist and not be empty. The file name must have a valid extension. -
out_stream
- The output stream that will contain the conversion output.
2538 2539 2540 2541 2542 2543 2544 2545 |
# File 'lib/pdfcrowd.rb', line 2538 def convertFileToStream(file, out_stream) if (!(File.file?(file) && !File.zero?(file))) raise Error.new(Pdfcrowd.(file, "convertFileToStream::file", "html-to-image", "The file must exist and not be empty.", "convert_file_to_stream"), 470); end @files['file'] = file @helper.post(@fields, @files, @raw_data, out_stream) end |
#convertStream(in_stream) ⇒ Object
Convert the contents of an input stream.
-
in_stream
- The input stream with source data. The stream can contain either HTML code or an archive (.zip, .tar.gz, .tar.bz2).The archive can contain HTML code and its external assets (images, style sheets, javascript). -
Returns - Byte array containing the conversion output.
2617 2618 2619 2620 |
# File 'lib/pdfcrowd.rb', line 2617 def convertStream(in_stream) @raw_data['stream'] = in_stream.read @helper.post(@fields, @files, @raw_data) end |
#convertStreamToFile(in_stream, file_path) ⇒ Object
Convert the contents of an input stream and write the result to a local file.
-
in_stream
- The input stream with source data. The stream can contain either HTML code or an archive (.zip, .tar.gz, .tar.bz2).The archive can contain HTML code and its external assets (images, style sheets, javascript). -
file_path
- The output file path. The string must not be empty.
2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 |
# File 'lib/pdfcrowd.rb', line 2635 def convertStreamToFile(in_stream, file_path) if (!(!file_path.nil? && !file_path.empty?)) raise Error.new(Pdfcrowd.(file_path, "convertStreamToFile::file_path", "html-to-image", "The string must not be empty.", "convert_stream_to_file"), 470); end output_file = open(file_path, "wb") begin convertStreamToStream(in_stream, output_file) output_file.close() rescue Error => why output_file.close() FileUtils.rm(file_path) raise end end |
#convertStreamToStream(in_stream, out_stream) ⇒ Object
Convert the contents of an input stream and write the result to an output stream.
-
in_stream
- The input stream with source data. The stream can contain either HTML code or an archive (.zip, .tar.gz, .tar.bz2).The archive can contain HTML code and its external assets (images, style sheets, javascript). -
out_stream
- The output stream that will contain the conversion output.
2626 2627 2628 2629 |
# File 'lib/pdfcrowd.rb', line 2626 def convertStreamToStream(in_stream, out_stream) @raw_data['stream'] = in_stream.read @helper.post(@fields, @files, @raw_data, out_stream) end |
#convertString(text) ⇒ Object
Convert a string.
-
text
- The string content to convert. The string must not be empty. -
Returns - Byte array containing the conversion output.
2571 2572 2573 2574 2575 2576 2577 2578 |
# File 'lib/pdfcrowd.rb', line 2571 def convertString(text) if (!(!text.nil? && !text.empty?)) raise Error.new(Pdfcrowd.(text, "convertString", "html-to-image", "The string must not be empty.", "convert_string"), 470); end @fields['text'] = text @helper.post(@fields, @files, @raw_data) end |
#convertStringToFile(text, file_path) ⇒ Object
Convert a string and write the output to a file.
-
text
- The string content to convert. The string must not be empty. -
file_path
- The output file path. The string must not be empty.
2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 |
# File 'lib/pdfcrowd.rb', line 2597 def convertStringToFile(text, file_path) if (!(!file_path.nil? && !file_path.empty?)) raise Error.new(Pdfcrowd.(file_path, "convertStringToFile::file_path", "html-to-image", "The string must not be empty.", "convert_string_to_file"), 470); end output_file = open(file_path, "wb") begin convertStringToStream(text, output_file) output_file.close() rescue Error => why output_file.close() FileUtils.rm(file_path) raise end end |
#convertStringToStream(text, out_stream) ⇒ Object
Convert a string and write the output to an output stream.
-
text
- The string content to convert. The string must not be empty. -
out_stream
- The output stream that will contain the conversion output.
2584 2585 2586 2587 2588 2589 2590 2591 |
# File 'lib/pdfcrowd.rb', line 2584 def convertStringToStream(text, out_stream) if (!(!text.nil? && !text.empty?)) raise Error.new(Pdfcrowd.(text, "convertStringToStream::text", "html-to-image", "The string must not be empty.", "convert_string_to_stream"), 470); end @fields['text'] = text @helper.post(@fields, @files, @raw_data, out_stream) end |
#convertUrl(url) ⇒ Object
Convert a web page.
-
url
- The address of the web page to convert. The supported protocols are http:// and https://. -
Returns - Byte array containing the conversion output.
2479 2480 2481 2482 2483 2484 2485 2486 |
# File 'lib/pdfcrowd.rb', line 2479 def convertUrl(url) unless /(?i)^https?:\/\/.*$/.match(url) raise Error.new(Pdfcrowd.(url, "convertUrl", "html-to-image", "The supported protocols are http:// and https://.", "convert_url"), 470); end @fields['url'] = url @helper.post(@fields, @files, @raw_data) end |
#convertUrlToFile(url, file_path) ⇒ Object
Convert a web page and write the result to a local file.
-
url
- The address of the web page to convert. The supported protocols are http:// and https://. -
file_path
- The output file path. The string must not be empty.
2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 |
# File 'lib/pdfcrowd.rb', line 2505 def convertUrlToFile(url, file_path) if (!(!file_path.nil? && !file_path.empty?)) raise Error.new(Pdfcrowd.(file_path, "convertUrlToFile::file_path", "html-to-image", "The string must not be empty.", "convert_url_to_file"), 470); end output_file = open(file_path, "wb") begin convertUrlToStream(url, output_file) output_file.close() rescue Error => why output_file.close() FileUtils.rm(file_path) raise end end |
#convertUrlToStream(url, out_stream) ⇒ Object
Convert a web page and write the result to an output stream.
-
url
- The address of the web page to convert. The supported protocols are http:// and https://. -
out_stream
- The output stream that will contain the conversion output.
2492 2493 2494 2495 2496 2497 2498 2499 |
# File 'lib/pdfcrowd.rb', line 2492 def convertUrlToStream(url, out_stream) unless /(?i)^https?:\/\/.*$/.match(url) raise Error.new(Pdfcrowd.(url, "convertUrlToStream::url", "html-to-image", "The supported protocols are http:// and https://.", "convert_url_to_stream"), 470); end @fields['url'] = url @helper.post(@fields, @files, @raw_data, out_stream) end |
#getConsumedCreditCount ⇒ Object
Get the number of credits consumed by the last conversion.
-
Returns - The number of credits.
3108 3109 3110 |
# File 'lib/pdfcrowd.rb', line 3108 def getConsumedCreditCount() return @helper.getConsumedCreditCount() end |
#getDebugLogUrl ⇒ Object
Get the URL of the debug log for the last conversion.
-
Returns - The link to the debug log.
3093 3094 3095 |
# File 'lib/pdfcrowd.rb', line 3093 def getDebugLogUrl() return @helper.getDebugLogUrl() end |
#getJobId ⇒ Object
Get the job id.
-
Returns - The unique job identifier.
3114 3115 3116 |
# File 'lib/pdfcrowd.rb', line 3114 def getJobId() return @helper.getJobId() end |
#getOutputSize ⇒ Object
Get the size of the output in bytes.
-
Returns - The count of bytes.
3120 3121 3122 |
# File 'lib/pdfcrowd.rb', line 3120 def getOutputSize() return @helper.getOutputSize() end |
#getRemainingCreditCount ⇒ Object
Get the number of conversion credits available in your account. This method can only be called after a call to one of the convertXtoY methods. The returned value can differ from the actual count if you run parallel conversions. The special value 999999 is returned if the information is not available.
-
Returns - The number of credits.
3102 3103 3104 |
# File 'lib/pdfcrowd.rb', line 3102 def getRemainingCreditCount() return @helper.getRemainingCreditCount() end |
#getVersion ⇒ Object
Get the version details.
-
Returns - API version, converter version, and client version.
3126 3127 3128 |
# File 'lib/pdfcrowd.rb', line 3126 def getVersion() return "client " + CLIENT_VERSION + ", API v2, converter " + @helper.getConverterVersion() end |
#setAutoDetectElementToConvert(value) ⇒ Object
The main HTML element for conversion is detected automatically.
-
value
- Set to true to detect the main element. -
Returns - The converter object.
2988 2989 2990 2991 |
# File 'lib/pdfcrowd.rb', line 2988 def setAutoDetectElementToConvert(value) @fields['auto_detect_element_to_convert'] = value self end |
#setBackgroundColor(color) ⇒ Object
The output image background color.
-
color
- The value must be in RRGGBB or RRGGBBAA hexadecimal format. -
Returns - The converter object.
2703 2704 2705 2706 2707 2708 2709 2710 |
# File 'lib/pdfcrowd.rb', line 2703 def setBackgroundColor(color) unless /^[0-9a-fA-F]{6,8}$/.match(color) raise Error.new(Pdfcrowd.(color, "setBackgroundColor", "html-to-image", "The value must be in RRGGBB or RRGGBBAA hexadecimal format.", "set_background_color"), 470); end @fields['background_color'] = color self end |
#setBlockAds(value) ⇒ Object
Try to block ads. Enabling this option can produce smaller output and speed up the conversion.
-
value
- Set to true to block ads in web pages. -
Returns - The converter object.
2783 2784 2785 2786 |
# File 'lib/pdfcrowd.rb', line 2783 def setBlockAds(value) @fields['block_ads'] = value self end |
#setClientCertificate(certificate) ⇒ Object
A client certificate to authenticate Pdfcrowd converter on your web server. The certificate is used for two-way SSL/TLS authentication and adds extra security.
-
certificate
- The file must be in PKCS12 format. The file must exist and not be empty. -
Returns - The converter object.
3169 3170 3171 3172 3173 3174 3175 3176 |
# File 'lib/pdfcrowd.rb', line 3169 def setClientCertificate(certificate) if (!(File.file?(certificate) && !File.zero?(certificate))) raise Error.new(Pdfcrowd.(certificate, "setClientCertificate", "html-to-image", "The file must exist and not be empty.", "set_client_certificate"), 470); end @files['client_certificate'] = certificate self end |
#setClientCertificatePassword(password) ⇒ Object
A password for PKCS12 file with a client certificate if it is needed.
-
password
- -
Returns - The converter object.
3182 3183 3184 3185 |
# File 'lib/pdfcrowd.rb', line 3182 def setClientCertificatePassword(password) @fields['client_certificate_password'] = password self end |
#setConverterVersion(version) ⇒ Object
Set the converter version. Different versions may produce different output. Choose which one provides the best output for your case.
-
version
- The version identifier. Allowed values are latest, 20.10, 18.10. -
Returns - The converter object.
3204 3205 3206 3207 3208 3209 3210 3211 |
# File 'lib/pdfcrowd.rb', line 3204 def setConverterVersion(version) unless /(?i)^(latest|20.10|18.10)$/.match(version) raise Error.new(Pdfcrowd.(version, "setConverterVersion", "html-to-image", "Allowed values are latest, 20.10, 18.10.", "set_converter_version"), 470); end @helper.setConverterVersion(version) self end |
#setCookies(cookies) ⇒ Object
Set cookies that are sent in Pdfcrowd HTTP requests.
-
cookies
- The cookie string. -
Returns - The converter object.
2839 2840 2841 2842 |
# File 'lib/pdfcrowd.rb', line 2839 def setCookies() @fields['cookies'] = self end |
#setCustomCss(css) ⇒ Object
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.
-
css
- A string containing valid CSS. The string must not be empty. -
Returns - The converter object.
2884 2885 2886 2887 2888 2889 2890 2891 |
# File 'lib/pdfcrowd.rb', line 2884 def setCustomCss(css) if (!(!css.nil? && !css.empty?)) raise Error.new(Pdfcrowd.(css, "setCustomCss", "html-to-image", "The string must not be empty.", "set_custom_css"), 470); end @fields['custom_css'] = css self end |
#setCustomHttpHeader(header) ⇒ Object
Set a custom HTTP header that is sent in Pdfcrowd HTTP requests.
-
header
- A string containing the header name and value separated by a colon. -
Returns - The converter object.
2923 2924 2925 2926 2927 2928 2929 2930 |
# File 'lib/pdfcrowd.rb', line 2923 def setCustomHttpHeader(header) unless /^.+:.+$/.match(header) raise Error.new(Pdfcrowd.(header, "setCustomHttpHeader", "html-to-image", "A string containing the header name and value separated by a colon.", "set_custom_http_header"), 470); end @fields['custom_http_header'] = header self end |
#setCustomJavascript(javascript) ⇒ Object
Run a custom JavaScript after the document is loaded and ready to print. The script is intended for post-load DOM manipulation (add/remove elements, update CSS, …). In addition to the standard browser APIs, the custom JavaScript code can use helper functions from our JavaScript library.
-
javascript
- A string containing a JavaScript code. The string must not be empty. -
Returns - The converter object.
2897 2898 2899 2900 2901 2902 2903 2904 |
# File 'lib/pdfcrowd.rb', line 2897 def setCustomJavascript(javascript) if (!(!javascript.nil? && !javascript.empty?)) raise Error.new(Pdfcrowd.(javascript, "setCustomJavascript", "html-to-image", "The string must not be empty.", "set_custom_javascript"), 470); end @fields['custom_javascript'] = javascript self end |
#setDataAutoEscape(value) ⇒ Object
Auto escape HTML symbols in the input data before placing them into the output.
-
value
- Set to true to turn auto escaping on. -
Returns - The converter object.
3059 3060 3061 3062 |
# File 'lib/pdfcrowd.rb', line 3059 def setDataAutoEscape(value) @fields['data_auto_escape'] = value self end |
#setDataEncoding(encoding) ⇒ Object
Set the encoding of the data file set by setDataFile.
-
encoding
- The data file encoding. -
Returns - The converter object.
3041 3042 3043 3044 |
# File 'lib/pdfcrowd.rb', line 3041 def setDataEncoding(encoding) @fields['data_encoding'] = encoding self end |
#setDataFile(data_file) ⇒ Object
Load the input data for template rendering from the specified file. The data format can be JSON, XML, YAML or CSV.
-
data_file
- The file path to a local file containing the input data. -
Returns - The converter object.
3019 3020 3021 3022 |
# File 'lib/pdfcrowd.rb', line 3019 def setDataFile(data_file) @files['data_file'] = data_file self end |
#setDataFormat(data_format) ⇒ Object
Specify the input data format.
-
data_format
- The data format. Allowed values are auto, json, xml, yaml, csv. -
Returns - The converter object.
3028 3029 3030 3031 3032 3033 3034 3035 |
# File 'lib/pdfcrowd.rb', line 3028 def setDataFormat(data_format) unless /(?i)^(auto|json|xml|yaml|csv)$/.match(data_format) raise Error.new(Pdfcrowd.(data_format, "setDataFormat", "html-to-image", "Allowed values are auto, json, xml, yaml, csv.", "set_data_format"), 470); end @fields['data_format'] = data_format self end |
#setDataIgnoreUndefined(value) ⇒ Object
Ignore undefined variables in the HTML template. The default mode is strict so any undefined variable causes the conversion to fail. You can use if variable is defined % to check if the variable is defined.
-
value
- Set to true to ignore undefined variables. -
Returns - The converter object.
3050 3051 3052 3053 |
# File 'lib/pdfcrowd.rb', line 3050 def setDataIgnoreUndefined(value) @fields['data_ignore_undefined'] = value self end |
#setDataOptions(options) ⇒ Object
Set the advanced data options:csv_delimiter - The CSV data delimiter, the default is ,.xml_remove_root - Remove the root XML element from the input data.data_root - The name of the root element inserted into the input data without a root node (e.g. CSV), the default is data.
-
options
- Comma separated list of options. -
Returns - The converter object.
3077 3078 3079 3080 |
# File 'lib/pdfcrowd.rb', line 3077 def setDataOptions() @fields['data_options'] = self end |
#setDataString(data_string) ⇒ Object
Set the input data for template rendering. The data format can be JSON, XML, YAML or CSV.
-
data_string
- The input data string. -
Returns - The converter object.
3010 3011 3012 3013 |
# File 'lib/pdfcrowd.rb', line 3010 def setDataString(data_string) @fields['data_string'] = data_string self end |
#setDataTrimBlocks(value) ⇒ Object
Auto trim whitespace around each template command block.
-
value
- Set to true to turn auto trimming on. -
Returns - The converter object.
3068 3069 3070 3071 |
# File 'lib/pdfcrowd.rb', line 3068 def setDataTrimBlocks(value) @fields['data_trim_blocks'] = value self end |
#setDebugLog(value) ⇒ Object
Turn on the debug logging. Details about the conversion are stored in the debug log. The URL of the log can be obtained from the getDebugLogUrl method or available in conversion statistics.
-
value
- Set to true to enable the debug logging. -
Returns - The converter object.
3086 3087 3088 3089 |
# File 'lib/pdfcrowd.rb', line 3086 def setDebugLog(value) @fields['debug_log'] = value self end |
#setDefaultEncoding(encoding) ⇒ Object
Set the default HTML content text encoding.
-
encoding
- The text encoding of the HTML content. -
Returns - The converter object.
2792 2793 2794 2795 |
# File 'lib/pdfcrowd.rb', line 2792 def setDefaultEncoding(encoding) @fields['default_encoding'] = encoding self end |
#setDisableImageLoading(value) ⇒ Object
Do not load images.
-
value
- Set to true to disable loading of images. -
Returns - The converter object.
2743 2744 2745 2746 |
# File 'lib/pdfcrowd.rb', line 2743 def setDisableImageLoading(value) @fields['disable_image_loading'] = value self end |
#setDisableJavascript(value) ⇒ Object
Do not execute JavaScript.
-
value
- Set to true to disable JavaScript in web pages. -
Returns - The converter object.
2734 2735 2736 2737 |
# File 'lib/pdfcrowd.rb', line 2734 def setDisableJavascript(value) @fields['disable_javascript'] = value self end |
#setDisableRemoteFonts(value) ⇒ Object
Disable loading fonts from remote sources.
-
value
- Set to true disable loading remote fonts. -
Returns - The converter object.
2752 2753 2754 2755 |
# File 'lib/pdfcrowd.rb', line 2752 def setDisableRemoteFonts(value) @fields['disable_remote_fonts'] = value self end |
#setElementToConvert(selectors) ⇒ Object
Convert only the specified element from the main document and its children. The element is specified by one or more CSS selectors. If the element is not found, the conversion fails. If multiple elements are found, the first one is used.
-
selectors
- One or more CSS selectors separated by commas. The string must not be empty. -
Returns - The converter object.
2949 2950 2951 2952 2953 2954 2955 2956 |
# File 'lib/pdfcrowd.rb', line 2949 def setElementToConvert(selectors) if (!(!selectors.nil? && !selectors.empty?)) raise Error.new(Pdfcrowd.(selectors, "setElementToConvert", "html-to-image", "The string must not be empty.", "set_element_to_convert"), 470); end @fields['element_to_convert'] = selectors self end |
#setElementToConvertMode(mode) ⇒ Object
Specify the DOM handling when only a part of the document is converted. This can affect the CSS rules used.
-
mode
- Allowed values are cut-out, remove-siblings, hide-siblings. -
Returns - The converter object.
2962 2963 2964 2965 2966 2967 2968 2969 |
# File 'lib/pdfcrowd.rb', line 2962 def setElementToConvertMode(mode) unless /(?i)^(cut-out|remove-siblings|hide-siblings)$/.match(mode) raise Error.new(Pdfcrowd.(mode, "setElementToConvertMode", "html-to-image", "Allowed values are cut-out, remove-siblings, hide-siblings.", "set_element_to_convert_mode"), 470); end @fields['element_to_convert_mode'] = mode self end |
#setFailOnAnyUrlError(fail_on_error) ⇒ Object
Abort the conversion if any of the sub-request HTTP status code is greater than or equal to 400 or if some sub-requests are still pending. See details in a debug log.
-
fail_on_error
- Set to true to abort the conversion. -
Returns - The converter object.
2866 2867 2868 2869 |
# File 'lib/pdfcrowd.rb', line 2866 def setFailOnAnyUrlError(fail_on_error) @fields['fail_on_any_url_error'] = fail_on_error self end |
#setFailOnMainUrlError(fail_on_error) ⇒ Object
Abort the conversion if the main URL HTTP status code is greater than or equal to 400.
-
fail_on_error
- Set to true to abort the conversion. -
Returns - The converter object.
2857 2858 2859 2860 |
# File 'lib/pdfcrowd.rb', line 2857 def setFailOnMainUrlError(fail_on_error) @fields['fail_on_main_url_error'] = fail_on_error self end |
#setHttpAuth(user_name, password) ⇒ Object
Set credentials to access HTTP base authentication protected websites.
-
user_name
- Set the HTTP authentication user name. -
password
- Set the HTTP authentication password. -
Returns - The converter object.
2829 2830 2831 2832 2833 |
# File 'lib/pdfcrowd.rb', line 2829 def setHttpAuth(user_name, password) setHttpAuthUserName(user_name) setHttpAuthPassword(password) self end |
#setHttpAuthPassword(password) ⇒ Object
Set the HTTP authentication password.
-
password
- The password. -
Returns - The converter object.
2819 2820 2821 2822 |
# File 'lib/pdfcrowd.rb', line 2819 def setHttpAuthPassword(password) @fields['http_auth_password'] = password self end |
#setHttpAuthUserName(user_name) ⇒ Object
Set the HTTP authentication user name.
-
user_name
- The user name. -
Returns - The converter object.
2810 2811 2812 2813 |
# File 'lib/pdfcrowd.rb', line 2810 def setHttpAuthUserName(user_name) @fields['http_auth_user_name'] = user_name self end |
#setHttpProxy(proxy) ⇒ Object
A proxy server used by Pdfcrowd conversion process for accessing the source URLs with HTTP scheme. It can help to circumvent regional restrictions or provide limited access to your intranet.
-
proxy
- The value must have format DOMAIN_OR_IP_ADDRESS:PORT. -
Returns - The converter object.
3143 3144 3145 3146 3147 3148 3149 3150 |
# File 'lib/pdfcrowd.rb', line 3143 def setHttpProxy(proxy) unless /(?i)^([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z0-9]{1,}:\d+$/.match(proxy) raise Error.new(Pdfcrowd.(proxy, "setHttpProxy", "html-to-image", "The value must have format DOMAIN_OR_IP_ADDRESS:PORT.", "set_http_proxy"), 470); end @fields['http_proxy'] = proxy self end |
#setHttpsProxy(proxy) ⇒ Object
A proxy server used by Pdfcrowd conversion process for accessing the source URLs with HTTPS scheme. It can help to circumvent regional restrictions or provide limited access to your intranet.
-
proxy
- The value must have format DOMAIN_OR_IP_ADDRESS:PORT. -
Returns - The converter object.
3156 3157 3158 3159 3160 3161 3162 3163 |
# File 'lib/pdfcrowd.rb', line 3156 def setHttpsProxy(proxy) unless /(?i)^([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z0-9]{1,}:\d+$/.match(proxy) raise Error.new(Pdfcrowd.(proxy, "setHttpsProxy", "html-to-image", "The value must have format DOMAIN_OR_IP_ADDRESS:PORT.", "set_https_proxy"), 470); end @fields['https_proxy'] = proxy self end |
#setJavascriptDelay(delay) ⇒ Object
Wait the specified number of milliseconds to finish all JavaScript after the document is loaded. Your API license defines the maximum wait time by “Max Delay” parameter.
-
delay
- The number of milliseconds to wait. Must be a positive integer number or 0. -
Returns - The converter object.
2936 2937 2938 2939 2940 2941 2942 2943 |
# File 'lib/pdfcrowd.rb', line 2936 def setJavascriptDelay(delay) if (!(Integer(delay) >= 0)) raise Error.new(Pdfcrowd.(delay, "setJavascriptDelay", "html-to-image", "Must be a positive integer number or 0.", "set_javascript_delay"), 470); end @fields['javascript_delay'] = delay self end |
#setLoadIframes(iframes) ⇒ Object
Specifies how iframes are handled.
-
iframes
- Allowed values are all, same-origin, none. -
Returns - The converter object.
2770 2771 2772 2773 2774 2775 2776 2777 |
# File 'lib/pdfcrowd.rb', line 2770 def setLoadIframes(iframes) unless /(?i)^(all|same-origin|none)$/.match(iframes) raise Error.new(Pdfcrowd.(iframes, "setLoadIframes", "html-to-image", "Allowed values are all, same-origin, none.", "set_load_iframes"), 470); end @fields['load_iframes'] = iframes self end |
#setLocale(locale) ⇒ Object
Set the locale for the conversion. This may affect the output format of dates, times and numbers.
-
locale
- The locale code according to ISO 639. -
Returns - The converter object.
2801 2802 2803 2804 |
# File 'lib/pdfcrowd.rb', line 2801 def setLocale(locale) @fields['locale'] = locale self end |
#setMaxLoadingTime(max_time) ⇒ Object
Set the maximum time to load the page and its resources. After this time, all requests will be considered successful. This can be useful to ensure that the conversion does not timeout. Use this method if there is no other way to fix page loading.
-
max_time
- The number of seconds to wait. The value must be in the range 10-30. -
Returns - The converter object.
3191 3192 3193 3194 3195 3196 3197 3198 |
# File 'lib/pdfcrowd.rb', line 3191 def setMaxLoadingTime(max_time) if (!(Integer(max_time) >= 10 && Integer(max_time) <= 30)) raise Error.new(Pdfcrowd.(max_time, "setMaxLoadingTime", "html-to-image", "The value must be in the range 10-30.", "set_max_loading_time"), 470); end @fields['max_loading_time'] = max_time self end |
#setNoBackground(value) ⇒ Object
Do not print the background graphics.
-
value
- Set to true to disable the background graphics. -
Returns - The converter object.
2725 2726 2727 2728 |
# File 'lib/pdfcrowd.rb', line 2725 def setNoBackground(value) @fields['no_background'] = value self end |
#setNoXpdfcrowdHeader(value) ⇒ Object
Do not send the X-Pdfcrowd HTTP header in Pdfcrowd HTTP requests.
-
value
- Set to true to disable sending X-Pdfcrowd HTTP header. -
Returns - The converter object.
2875 2876 2877 2878 |
# File 'lib/pdfcrowd.rb', line 2875 def setNoXpdfcrowdHeader(value) @fields['no_xpdfcrowd_header'] = value self end |
#setOnLoadJavascript(javascript) ⇒ Object
Run a custom JavaScript right after the document is loaded. The script is intended for early DOM manipulation (add/remove elements, update CSS, …). In addition to the standard browser APIs, the custom JavaScript code can use helper functions from our JavaScript library.
-
javascript
- A string containing a JavaScript code. The string must not be empty. -
Returns - The converter object.
2910 2911 2912 2913 2914 2915 2916 2917 |
# File 'lib/pdfcrowd.rb', line 2910 def setOnLoadJavascript(javascript) if (!(!javascript.nil? && !javascript.empty?)) raise Error.new(Pdfcrowd.(javascript, "setOnLoadJavascript", "html-to-image", "The string must not be empty.", "set_on_load_javascript"), 470); end @fields['on_load_javascript'] = javascript self end |
#setOutputFormat(output_format) ⇒ Object
The format of the output file.
-
output_format
- Allowed values are png, jpg, gif, tiff, bmp, ico, ppm, pgm, pbm, pnm, psb, pct, ras, tga, sgi, sun, webp. -
Returns - The converter object.
2466 2467 2468 2469 2470 2471 2472 2473 |
# File 'lib/pdfcrowd.rb', line 2466 def setOutputFormat(output_format) unless /(?i)^(png|jpg|gif|tiff|bmp|ico|ppm|pgm|pbm|pnm|psb|pct|ras|tga|sgi|sun|webp)$/.match(output_format) raise Error.new(Pdfcrowd.(output_format, "setOutputFormat", "html-to-image", "Allowed values are png, jpg, gif, tiff, bmp, ico, ppm, pgm, pbm, pnm, psb, pct, ras, tga, sgi, sun, webp.", "set_output_format"), 470); end @fields['output_format'] = output_format self end |
#setProxy(host, port, user_name, password) ⇒ Object
Specifies an HTTP proxy that the API client library will use to connect to the internet.
-
host
- The proxy hostname. -
port
- The proxy port. -
user_name
- The username. -
password
- The password. -
Returns - The converter object.
3239 3240 3241 3242 |
# File 'lib/pdfcrowd.rb', line 3239 def setProxy(host, port, user_name, password) @helper.setProxy(host, port, user_name, password) self end |
#setReadabilityEnhancements(enhancements) ⇒ Object
The input HTML is automatically enhanced to improve the readability.
-
enhancements
- Allowed values are none, readability-v1, readability-v2, readability-v3, readability-v4. -
Returns - The converter object.
2997 2998 2999 3000 3001 3002 3003 3004 |
# File 'lib/pdfcrowd.rb', line 2997 def setReadabilityEnhancements(enhancements) unless /(?i)^(none|readability-v1|readability-v2|readability-v3|readability-v4)$/.match(enhancements) raise Error.new(Pdfcrowd.(enhancements, "setReadabilityEnhancements", "html-to-image", "Allowed values are none, readability-v1, readability-v2, readability-v3, readability-v4.", "set_readability_enhancements"), 470); end @fields['readability_enhancements'] = enhancements self end |
#setRetryCount(count) ⇒ Object
Specifies the number of automatic retries when the 502 or 503 HTTP status code is received. The status code indicates a temporary network issue. This feature can be disabled by setting to 0.
-
count
- Number of retries. -
Returns - The converter object.
3248 3249 3250 3251 |
# File 'lib/pdfcrowd.rb', line 3248 def setRetryCount(count) @helper.setRetryCount(count) self end |
#setScaleFactor(factor) ⇒ Object
Set the scaling factor (zoom) for the output image.
-
factor
- The percentage value. Must be a positive integer number. -
Returns - The converter object.
2690 2691 2692 2693 2694 2695 2696 2697 |
# File 'lib/pdfcrowd.rb', line 2690 def setScaleFactor(factor) if (!(Integer(factor) > 0)) raise Error.new(Pdfcrowd.(factor, "setScaleFactor", "html-to-image", "Must be a positive integer number.", "set_scale_factor"), 470); end @fields['scale_factor'] = factor self end |
#setScreenshotHeight(height) ⇒ Object
Set the output image height in pixels. If it is not specified, actual document height is used.
-
height
- Must be a positive integer number. -
Returns - The converter object.
2677 2678 2679 2680 2681 2682 2683 2684 |
# File 'lib/pdfcrowd.rb', line 2677 def setScreenshotHeight(height) if (!(Integer(height) > 0)) raise Error.new(Pdfcrowd.(height, "setScreenshotHeight", "html-to-image", "Must be a positive integer number.", "set_screenshot_height"), 470); end @fields['screenshot_height'] = height self end |
#setScreenshotWidth(width) ⇒ Object
Set the output image width in pixels.
-
width
- The value must be in the range 96-65000. -
Returns - The converter object.
2664 2665 2666 2667 2668 2669 2670 2671 |
# File 'lib/pdfcrowd.rb', line 2664 def setScreenshotWidth(width) if (!(Integer(width) >= 96 && Integer(width) <= 65000)) raise Error.new(Pdfcrowd.(width, "setScreenshotWidth", "html-to-image", "The value must be in the range 96-65000.", "set_screenshot_width"), 470); end @fields['screenshot_width'] = width self end |
#setTag(tag) ⇒ Object
Tag the conversion with a custom value. The tag is used in conversion statistics. A value longer than 32 characters is cut off.
-
tag
- A string with the custom tag. -
Returns - The converter object.
3134 3135 3136 3137 |
# File 'lib/pdfcrowd.rb', line 3134 def setTag(tag) @fields['tag'] = tag self end |
#setUseHttp(value) ⇒ Object
Specifies if the client communicates over HTTP or HTTPS with Pdfcrowd API. Warning: Using HTTP is insecure as data sent over HTTP is not encrypted. Enable this option only if you know what you are doing.
-
value
- Set to true to use HTTP. -
Returns - The converter object.
3218 3219 3220 3221 |
# File 'lib/pdfcrowd.rb', line 3218 def setUseHttp(value) @helper.setUseHttp(value) self end |
#setUseMobileUserAgent(value) ⇒ Object
Use a mobile user agent.
-
value
- Set to true to use a mobile user agent. -
Returns - The converter object.
2761 2762 2763 2764 |
# File 'lib/pdfcrowd.rb', line 2761 def setUseMobileUserAgent(value) @fields['use_mobile_user_agent'] = value self end |
#setUsePrintMedia(value) ⇒ Object
Use the print version of the page if available (@media print).
-
value
- Set to true to use the print version of the page. -
Returns - The converter object.
2716 2717 2718 2719 |
# File 'lib/pdfcrowd.rb', line 2716 def setUsePrintMedia(value) @fields['use_print_media'] = value self end |
#setUserAgent(agent) ⇒ Object
Set a custom user agent HTTP header. It can be useful if you are behind a proxy or a firewall.
-
agent
- The user agent string. -
Returns - The converter object.
3227 3228 3229 3230 |
# File 'lib/pdfcrowd.rb', line 3227 def setUserAgent(agent) @helper.setUserAgent(agent) self end |
#setVerifySslCertificates(value) ⇒ Object
Do not allow insecure HTTPS connections.
-
value
- Set to true to enable SSL certificate verification. -
Returns - The converter object.
2848 2849 2850 2851 |
# File 'lib/pdfcrowd.rb', line 2848 def setVerifySslCertificates(value) @fields['verify_ssl_certificates'] = value self end |
#setWaitForElement(selectors) ⇒ Object
Wait for the specified element in a source document. The element is specified by one or more CSS selectors. The element is searched for in the main document and all iframes. If the element is not found, the conversion fails. Your API license defines the maximum wait time by “Max Delay” parameter.
-
selectors
- One or more CSS selectors separated by commas. The string must not be empty. -
Returns - The converter object.
2975 2976 2977 2978 2979 2980 2981 2982 |
# File 'lib/pdfcrowd.rb', line 2975 def setWaitForElement(selectors) if (!(!selectors.nil? && !selectors.empty?)) raise Error.new(Pdfcrowd.(selectors, "setWaitForElement", "html-to-image", "The string must not be empty.", "set_wait_for_element"), 470); end @fields['wait_for_element'] = selectors self end |
#setZipMainFilename(filename) ⇒ Object
Set the file name of the main HTML document stored in the input archive. If not specified, the first HTML file in the archive is used for conversion. Use this method if the input archive contains multiple HTML documents.
-
filename
- The file name. -
Returns - The converter object.
2655 2656 2657 2658 |
# File 'lib/pdfcrowd.rb', line 2655 def setZipMainFilename(filename) @fields['zip_main_filename'] = filename self end |