Class: Pdfcrowd::HtmlToImageClient

Inherits:
Object
  • Object
show all
Defined in:
lib/pdfcrowd.rb

Overview

Conversion from HTML to image.

Instance Method Summary collapse

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.



2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
# File 'lib/pdfcrowd.rb', line 2328

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.



2402
2403
2404
2405
2406
2407
2408
2409
# File 'lib/pdfcrowd.rb', line 2402

def convertFile(file)
    if (!(File.file?(file) && !File.zero?(file)))
        raise Error.new(Pdfcrowd.create_invalid_value_message(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.



2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
# File 'lib/pdfcrowd.rb', line 2428

def convertFileToFile(file, file_path)
    if (!(!file_path.nil? && !file_path.empty?))
        raise Error.new(Pdfcrowd.create_invalid_value_message(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.



2415
2416
2417
2418
2419
2420
2421
2422
# File 'lib/pdfcrowd.rb', line 2415

def convertFileToStream(file, out_stream)
    if (!(File.file?(file) && !File.zero?(file)))
        raise Error.new(Pdfcrowd.create_invalid_value_message(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.



2494
2495
2496
2497
# File 'lib/pdfcrowd.rb', line 2494

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.



2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
# File 'lib/pdfcrowd.rb', line 2512

def convertStreamToFile(in_stream, file_path)
    if (!(!file_path.nil? && !file_path.empty?))
        raise Error.new(Pdfcrowd.create_invalid_value_message(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.



2503
2504
2505
2506
# File 'lib/pdfcrowd.rb', line 2503

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.



2448
2449
2450
2451
2452
2453
2454
2455
# File 'lib/pdfcrowd.rb', line 2448

def convertString(text)
    if (!(!text.nil? && !text.empty?))
        raise Error.new(Pdfcrowd.create_invalid_value_message(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.



2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
# File 'lib/pdfcrowd.rb', line 2474

def convertStringToFile(text, file_path)
    if (!(!file_path.nil? && !file_path.empty?))
        raise Error.new(Pdfcrowd.create_invalid_value_message(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.



2461
2462
2463
2464
2465
2466
2467
2468
# File 'lib/pdfcrowd.rb', line 2461

def convertStringToStream(text, out_stream)
    if (!(!text.nil? && !text.empty?))
        raise Error.new(Pdfcrowd.create_invalid_value_message(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.



2356
2357
2358
2359
2360
2361
2362
2363
# File 'lib/pdfcrowd.rb', line 2356

def convertUrl(url)
    unless /(?i)^https?:\/\/.*$/.match(url)
        raise Error.new(Pdfcrowd.create_invalid_value_message(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.



2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
# File 'lib/pdfcrowd.rb', line 2382

def convertUrlToFile(url, file_path)
    if (!(!file_path.nil? && !file_path.empty?))
        raise Error.new(Pdfcrowd.create_invalid_value_message(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.



2369
2370
2371
2372
2373
2374
2375
2376
# File 'lib/pdfcrowd.rb', line 2369

def convertUrlToStream(url, out_stream)
    unless /(?i)^https?:\/\/.*$/.match(url)
        raise Error.new(Pdfcrowd.create_invalid_value_message(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

#getConsumedCreditCountObject

Get the number of credits consumed by the last conversion.

  • Returns - The number of credits.



2932
2933
2934
# File 'lib/pdfcrowd.rb', line 2932

def getConsumedCreditCount()
    return @helper.getConsumedCreditCount()
end

#getDebugLogUrlObject

Get the URL of the debug log for the last conversion.

  • Returns - The link to the debug log.



2917
2918
2919
# File 'lib/pdfcrowd.rb', line 2917

def getDebugLogUrl()
    return @helper.getDebugLogUrl()
end

#getJobIdObject

Get the job id.

  • Returns - The unique job identifier.



2938
2939
2940
# File 'lib/pdfcrowd.rb', line 2938

def getJobId()
    return @helper.getJobId()
end

#getOutputSizeObject

Get the size of the output in bytes.

  • Returns - The count of bytes.



2944
2945
2946
# File 'lib/pdfcrowd.rb', line 2944

def getOutputSize()
    return @helper.getOutputSize()
end

#getRemainingCreditCountObject

Get the number of conversion credits available in your account. This method can only be called after a call to one of the convertXYZ 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.



2926
2927
2928
# File 'lib/pdfcrowd.rb', line 2926

def getRemainingCreditCount()
    return @helper.getRemainingCreditCount()
end

#getVersionObject

Get the version details.

  • Returns - API version, converter version, and client version.



2950
2951
2952
# File 'lib/pdfcrowd.rb', line 2950

def getVersion()
    return "client " + CLIENT_VERSION + ", API v2, converter " + @helper.getConverterVersion()
end

#setBackgroundColor(color) ⇒ Object

The output image background color.

  • color - The value must be in RRGGBB or RRGGBBAA hexadecimal format.

  • Returns - The converter object.



2821
2822
2823
2824
2825
2826
2827
2828
# File 'lib/pdfcrowd.rb', line 2821

def setBackgroundColor(color)
    unless /^[0-9a-fA-F]{6,8}$/.match(color)
        raise Error.new(Pdfcrowd.create_invalid_value_message(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.



2590
2591
2592
2593
# File 'lib/pdfcrowd.rb', line 2590

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.



2993
2994
2995
2996
2997
2998
2999
3000
# File 'lib/pdfcrowd.rb', line 2993

def setClientCertificate(certificate)
    if (!(File.file?(certificate) && !File.zero?(certificate)))
        raise Error.new(Pdfcrowd.create_invalid_value_message(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.



3006
3007
3008
3009
# File 'lib/pdfcrowd.rb', line 3006

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.



3015
3016
3017
3018
3019
3020
3021
3022
# File 'lib/pdfcrowd.rb', line 3015

def setConverterVersion(version)
    unless /(?i)^(latest|20.10|18.10)$/.match(version)
        raise Error.new(Pdfcrowd.create_invalid_value_message(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.



2646
2647
2648
2649
# File 'lib/pdfcrowd.rb', line 2646

def setCookies(cookies)
    @fields['cookies'] = cookies
    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.



2717
2718
2719
2720
2721
2722
2723
2724
# File 'lib/pdfcrowd.rb', line 2717

def setCustomHttpHeader(header)
    unless /^.+:.+$/.match(header)
        raise Error.new(Pdfcrowd.create_invalid_value_message(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.



2691
2692
2693
2694
2695
2696
2697
2698
# File 'lib/pdfcrowd.rb', line 2691

def setCustomJavascript(javascript)
    if (!(!javascript.nil? && !javascript.empty?))
        raise Error.new(Pdfcrowd.create_invalid_value_message(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.



2883
2884
2885
2886
# File 'lib/pdfcrowd.rb', line 2883

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.



2865
2866
2867
2868
# File 'lib/pdfcrowd.rb', line 2865

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.



2843
2844
2845
2846
# File 'lib/pdfcrowd.rb', line 2843

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.



2852
2853
2854
2855
2856
2857
2858
2859
# File 'lib/pdfcrowd.rb', line 2852

def setDataFormat(data_format)
    unless /(?i)^(auto|json|xml|yaml|csv)$/.match(data_format)
        raise Error.new(Pdfcrowd.create_invalid_value_message(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.



2874
2875
2876
2877
# File 'lib/pdfcrowd.rb', line 2874

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.



2901
2902
2903
2904
# File 'lib/pdfcrowd.rb', line 2901

def setDataOptions(options)
    @fields['data_options'] = 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.



2834
2835
2836
2837
# File 'lib/pdfcrowd.rb', line 2834

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.



2892
2893
2894
2895
# File 'lib/pdfcrowd.rb', line 2892

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.



2910
2911
2912
2913
# File 'lib/pdfcrowd.rb', line 2910

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.



2599
2600
2601
2602
# File 'lib/pdfcrowd.rb', line 2599

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.



2559
2560
2561
2562
# File 'lib/pdfcrowd.rb', line 2559

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.



2550
2551
2552
2553
# File 'lib/pdfcrowd.rb', line 2550

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.



2568
2569
2570
2571
# File 'lib/pdfcrowd.rb', line 2568

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.



2743
2744
2745
2746
2747
2748
2749
2750
# File 'lib/pdfcrowd.rb', line 2743

def setElementToConvert(selectors)
    if (!(!selectors.nil? && !selectors.empty?))
        raise Error.new(Pdfcrowd.create_invalid_value_message(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.

  • mode - Allowed values are cut-out, remove-siblings, hide-siblings.

  • Returns - The converter object.



2756
2757
2758
2759
2760
2761
2762
2763
# File 'lib/pdfcrowd.rb', line 2756

def setElementToConvertMode(mode)
    unless /(?i)^(cut-out|remove-siblings|hide-siblings)$/.match(mode)
        raise Error.new(Pdfcrowd.create_invalid_value_message(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.



2673
2674
2675
2676
# File 'lib/pdfcrowd.rb', line 2673

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.



2664
2665
2666
2667
# File 'lib/pdfcrowd.rb', line 2664

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.



2636
2637
2638
2639
2640
# File 'lib/pdfcrowd.rb', line 2636

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.



2626
2627
2628
2629
# File 'lib/pdfcrowd.rb', line 2626

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.



2617
2618
2619
2620
# File 'lib/pdfcrowd.rb', line 2617

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.



2967
2968
2969
2970
2971
2972
2973
2974
# File 'lib/pdfcrowd.rb', line 2967

def setHttpProxy(proxy)
    unless /(?i)^([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z0-9]{1,}:\d+$/.match(proxy)
        raise Error.new(Pdfcrowd.create_invalid_value_message(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.



2980
2981
2982
2983
2984
2985
2986
2987
# File 'lib/pdfcrowd.rb', line 2980

def setHttpsProxy(proxy)
    unless /(?i)^([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z0-9]{1,}:\d+$/.match(proxy)
        raise Error.new(Pdfcrowd.create_invalid_value_message(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.



2730
2731
2732
2733
2734
2735
2736
2737
# File 'lib/pdfcrowd.rb', line 2730

def setJavascriptDelay(delay)
    if (!(Integer(delay) >= 0))
        raise Error.new(Pdfcrowd.create_invalid_value_message(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.



2577
2578
2579
2580
2581
2582
2583
2584
# File 'lib/pdfcrowd.rb', line 2577

def setLoadIframes(iframes)
    unless /(?i)^(all|same-origin|none)$/.match(iframes)
        raise Error.new(Pdfcrowd.create_invalid_value_message(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.



2608
2609
2610
2611
# File 'lib/pdfcrowd.rb', line 2608

def setLocale(locale)
    @fields['locale'] = locale
    self
end

#setNoBackground(value) ⇒ Object

Do not print the background graphics.

  • value - Set to true to disable the background graphics.

  • Returns - The converter object.



2541
2542
2543
2544
# File 'lib/pdfcrowd.rb', line 2541

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.



2682
2683
2684
2685
# File 'lib/pdfcrowd.rb', line 2682

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.



2704
2705
2706
2707
2708
2709
2710
2711
# File 'lib/pdfcrowd.rb', line 2704

def setOnLoadJavascript(javascript)
    if (!(!javascript.nil? && !javascript.empty?))
        raise Error.new(Pdfcrowd.create_invalid_value_message(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.



2343
2344
2345
2346
2347
2348
2349
2350
# File 'lib/pdfcrowd.rb', line 2343

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.create_invalid_value_message(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.



3050
3051
3052
3053
# File 'lib/pdfcrowd.rb', line 3050

def setProxy(host, port, user_name, password)
    @helper.setProxy(host, port, user_name, password)
    self
end

#setRetryCount(count) ⇒ Object

Specifies the number of retries when the 502 HTTP status code is received. The 502 status code indicates a temporary network issue. This feature can be disabled by setting to 0.

  • count - Number of retries wanted.

  • Returns - The converter object.



3059
3060
3061
3062
# File 'lib/pdfcrowd.rb', line 3059

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.



2808
2809
2810
2811
2812
2813
2814
2815
# File 'lib/pdfcrowd.rb', line 2808

def setScaleFactor(factor)
    if (!(Integer(factor) > 0))
        raise Error.new(Pdfcrowd.create_invalid_value_message(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.



2795
2796
2797
2798
2799
2800
2801
2802
# File 'lib/pdfcrowd.rb', line 2795

def setScreenshotHeight(height)
    if (!(Integer(height) > 0))
        raise Error.new(Pdfcrowd.create_invalid_value_message(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.



2782
2783
2784
2785
2786
2787
2788
2789
# File 'lib/pdfcrowd.rb', line 2782

def setScreenshotWidth(width)
    if (!(Integer(width) >= 96 && Integer(width) <= 65000))
        raise Error.new(Pdfcrowd.create_invalid_value_message(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.



2958
2959
2960
2961
# File 'lib/pdfcrowd.rb', line 2958

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.



3029
3030
3031
3032
# File 'lib/pdfcrowd.rb', line 3029

def setUseHttp(value)
    @helper.setUseHttp(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.



2532
2533
2534
2535
# File 'lib/pdfcrowd.rb', line 2532

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 some proxy or firewall.

  • agent - The user agent string.

  • Returns - The converter object.



3038
3039
3040
3041
# File 'lib/pdfcrowd.rb', line 3038

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.



2655
2656
2657
2658
# File 'lib/pdfcrowd.rb', line 2655

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.



2769
2770
2771
2772
2773
2774
2775
2776
# File 'lib/pdfcrowd.rb', line 2769

def setWaitForElement(selectors)
    if (!(!selectors.nil? && !selectors.empty?))
        raise Error.new(Pdfcrowd.create_invalid_value_message(selectors, "setWaitForElement", "html-to-image", "The string must not be empty.", "set_wait_for_element"), 470);
    end
    
    @fields['wait_for_element'] = selectors
    self
end