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.
-
#setClientUserAgent(agent) ⇒ Object
Specifies the User-Agent HTTP header that the client library will use when interacting with the API.
-
#setConverterUserAgent(agent) ⇒ Object
Specifies the User-Agent HTTP header that will be used by the converter when a request is made to the converted web page.
-
#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
- #setHttpAuthUserName(user_name) ⇒ Object
-
#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.
- #setSubprocessReferrer(referrer) ⇒ Object
-
#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.
2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 |
# File 'lib/pdfcrowd.rb', line 2530 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.
2604 2605 2606 2607 2608 2609 2610 2611 |
# File 'lib/pdfcrowd.rb', line 2604 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.
2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 |
# File 'lib/pdfcrowd.rb', line 2630 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.
2617 2618 2619 2620 2621 2622 2623 2624 |
# File 'lib/pdfcrowd.rb', line 2617 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.
2696 2697 2698 2699 |
# File 'lib/pdfcrowd.rb', line 2696 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.
2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 |
# File 'lib/pdfcrowd.rb', line 2714 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.
2705 2706 2707 2708 |
# File 'lib/pdfcrowd.rb', line 2705 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.
2650 2651 2652 2653 2654 2655 2656 2657 |
# File 'lib/pdfcrowd.rb', line 2650 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.
2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 |
# File 'lib/pdfcrowd.rb', line 2676 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.
2663 2664 2665 2666 2667 2668 2669 2670 |
# File 'lib/pdfcrowd.rb', line 2663 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.
2558 2559 2560 2561 2562 2563 2564 2565 |
# File 'lib/pdfcrowd.rb', line 2558 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.
2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 |
# File 'lib/pdfcrowd.rb', line 2584 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.
2571 2572 2573 2574 2575 2576 2577 2578 |
# File 'lib/pdfcrowd.rb', line 2571 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.
3181 3182 3183 |
# File 'lib/pdfcrowd.rb', line 3181 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.
3166 3167 3168 |
# File 'lib/pdfcrowd.rb', line 3166 def getDebugLogUrl() return @helper.getDebugLogUrl() end |
#getJobId ⇒ Object
Get the job id.
-
Returns - The unique job identifier.
3187 3188 3189 |
# File 'lib/pdfcrowd.rb', line 3187 def getJobId() return @helper.getJobId() end |
#getOutputSize ⇒ Object
Get the size of the output in bytes.
-
Returns - The count of bytes.
3193 3194 3195 |
# File 'lib/pdfcrowd.rb', line 3193 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.
3175 3176 3177 |
# File 'lib/pdfcrowd.rb', line 3175 def getRemainingCreditCount() return @helper.getRemainingCreditCount() end |
#getVersion ⇒ Object
Get the version details.
-
Returns - API version, converter version, and client version.
3199 3200 3201 |
# File 'lib/pdfcrowd.rb', line 3199 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.
3061 3062 3063 3064 |
# File 'lib/pdfcrowd.rb', line 3061 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.
2782 2783 2784 2785 2786 2787 2788 2789 |
# File 'lib/pdfcrowd.rb', line 2782 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.
2862 2863 2864 2865 |
# File 'lib/pdfcrowd.rb', line 2862 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.
3242 3243 3244 3245 3246 3247 3248 3249 |
# File 'lib/pdfcrowd.rb', line 3242 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.
3255 3256 3257 3258 |
# File 'lib/pdfcrowd.rb', line 3255 def setClientCertificatePassword(password) @fields['client_certificate_password'] = password self end |
#setClientUserAgent(agent) ⇒ Object
Specifies the User-Agent HTTP header that the client library will use when interacting with the API.
-
agent- The user agent string. -
Returns - The converter object.
3315 3316 3317 3318 |
# File 'lib/pdfcrowd.rb', line 3315 def setClientUserAgent(agent) @helper.setUserAgent(agent) self end |
#setConverterUserAgent(agent) ⇒ Object
Specifies the User-Agent HTTP header that will be used by the converter when a request is made to the converted web page.
-
agent- The user agent. -
Returns - The converter object.
3283 3284 3285 3286 |
# File 'lib/pdfcrowd.rb', line 3283 def setConverterUserAgent(agent) @fields['converter_user_agent'] = agent 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 24.04, 20.10, 18.10, latest. -
Returns - The converter object.
3292 3293 3294 3295 3296 3297 3298 3299 |
# File 'lib/pdfcrowd.rb', line 3292 def setConverterVersion(version) unless /(?i)^(24.04|20.10|18.10|latest)$/.match(version) raise Error.new(Pdfcrowd.(version, "setConverterVersion", "html-to-image", "Allowed values are 24.04, 20.10, 18.10, latest.", "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.
2912 2913 2914 2915 |
# File 'lib/pdfcrowd.rb', line 2912 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.
2957 2958 2959 2960 2961 2962 2963 2964 |
# File 'lib/pdfcrowd.rb', line 2957 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.
2996 2997 2998 2999 3000 3001 3002 3003 |
# File 'lib/pdfcrowd.rb', line 2996 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.
2970 2971 2972 2973 2974 2975 2976 2977 |
# File 'lib/pdfcrowd.rb', line 2970 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.
3132 3133 3134 3135 |
# File 'lib/pdfcrowd.rb', line 3132 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.
3114 3115 3116 3117 |
# File 'lib/pdfcrowd.rb', line 3114 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.
3092 3093 3094 3095 |
# File 'lib/pdfcrowd.rb', line 3092 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.
3101 3102 3103 3104 3105 3106 3107 3108 |
# File 'lib/pdfcrowd.rb', line 3101 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.
3123 3124 3125 3126 |
# File 'lib/pdfcrowd.rb', line 3123 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.
3150 3151 3152 3153 |
# File 'lib/pdfcrowd.rb', line 3150 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.
3083 3084 3085 3086 |
# File 'lib/pdfcrowd.rb', line 3083 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.
3141 3142 3143 3144 |
# File 'lib/pdfcrowd.rb', line 3141 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.
3159 3160 3161 3162 |
# File 'lib/pdfcrowd.rb', line 3159 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.
2871 2872 2873 2874 |
# File 'lib/pdfcrowd.rb', line 2871 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.
2822 2823 2824 2825 |
# File 'lib/pdfcrowd.rb', line 2822 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.
2813 2814 2815 2816 |
# File 'lib/pdfcrowd.rb', line 2813 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.
2831 2832 2833 2834 |
# File 'lib/pdfcrowd.rb', line 2831 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.
3022 3023 3024 3025 3026 3027 3028 3029 |
# File 'lib/pdfcrowd.rb', line 3022 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.
3035 3036 3037 3038 3039 3040 3041 3042 |
# File 'lib/pdfcrowd.rb', line 3035 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.
2939 2940 2941 2942 |
# File 'lib/pdfcrowd.rb', line 2939 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.
2930 2931 2932 2933 |
# File 'lib/pdfcrowd.rb', line 2930 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.
2902 2903 2904 2905 2906 |
# File 'lib/pdfcrowd.rb', line 2902 def setHttpAuth(user_name, password) setHttpAuthUserName(user_name) setHttpAuthPassword(password) self end |
#setHttpAuthPassword(password) ⇒ Object
2892 2893 2894 2895 |
# File 'lib/pdfcrowd.rb', line 2892 def setHttpAuthPassword(password) @fields['http_auth_password'] = password self end |
#setHttpAuthUserName(user_name) ⇒ Object
2886 2887 2888 2889 |
# File 'lib/pdfcrowd.rb', line 2886 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.
3216 3217 3218 3219 3220 3221 3222 3223 |
# File 'lib/pdfcrowd.rb', line 3216 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.
3229 3230 3231 3232 3233 3234 3235 3236 |
# File 'lib/pdfcrowd.rb', line 3229 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.
3009 3010 3011 3012 3013 3014 3015 3016 |
# File 'lib/pdfcrowd.rb', line 3009 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.
2849 2850 2851 2852 2853 2854 2855 2856 |
# File 'lib/pdfcrowd.rb', line 2849 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.
2880 2881 2882 2883 |
# File 'lib/pdfcrowd.rb', line 2880 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.
3264 3265 3266 3267 3268 3269 3270 3271 |
# File 'lib/pdfcrowd.rb', line 3264 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.
2804 2805 2806 2807 |
# File 'lib/pdfcrowd.rb', line 2804 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.
2948 2949 2950 2951 |
# File 'lib/pdfcrowd.rb', line 2948 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.
2983 2984 2985 2986 2987 2988 2989 2990 |
# File 'lib/pdfcrowd.rb', line 2983 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.
2545 2546 2547 2548 2549 2550 2551 2552 |
# File 'lib/pdfcrowd.rb', line 2545 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.
3336 3337 3338 3339 |
# File 'lib/pdfcrowd.rb', line 3336 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.
3070 3071 3072 3073 3074 3075 3076 3077 |
# File 'lib/pdfcrowd.rb', line 3070 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.
3345 3346 3347 3348 |
# File 'lib/pdfcrowd.rb', line 3345 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.
2769 2770 2771 2772 2773 2774 2775 2776 |
# File 'lib/pdfcrowd.rb', line 2769 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.
2756 2757 2758 2759 2760 2761 2762 2763 |
# File 'lib/pdfcrowd.rb', line 2756 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.
2743 2744 2745 2746 2747 2748 2749 2750 |
# File 'lib/pdfcrowd.rb', line 2743 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 |
#setSubprocessReferrer(referrer) ⇒ Object
3274 3275 3276 3277 |
# File 'lib/pdfcrowd.rb', line 3274 def setSubprocessReferrer(referrer) @fields['subprocess_referrer'] = referrer 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.
3207 3208 3209 3210 |
# File 'lib/pdfcrowd.rb', line 3207 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.
3306 3307 3308 3309 |
# File 'lib/pdfcrowd.rb', line 3306 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.
2840 2841 2842 2843 |
# File 'lib/pdfcrowd.rb', line 2840 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.
2795 2796 2797 2798 |
# File 'lib/pdfcrowd.rb', line 2795 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.
3324 3325 3326 3327 |
# File 'lib/pdfcrowd.rb', line 3324 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.
2921 2922 2923 2924 |
# File 'lib/pdfcrowd.rb', line 2921 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.
3048 3049 3050 3051 3052 3053 3054 3055 |
# File 'lib/pdfcrowd.rb', line 3048 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.
2734 2735 2736 2737 |
# File 'lib/pdfcrowd.rb', line 2734 def setZipMainFilename(filename) @fields['zip_main_filename'] = filename self end |