class Aspose::Cloud::Pdf::Converter

Public Class Methods

new(filename) click to toggle source
# File lib/Pdf/converter.rb, line 5
def initialize(filename)
  @filename = filename
  raise 'filename not specified.' if filename.empty?
  @base_uri =  Aspose::Cloud::Common::Product.product_uri + '/pdf/' + @filename
end

Public Instance Methods

convert(save_format, folder_name = '', storage_type = 'Aspose', storage_name = '') click to toggle source

convert a pdf document to given format

# File lib/Pdf/converter.rb, line 67
def convert(save_format, folder_name = '', storage_type = 'Aspose', storage_name = '')
  raise 'save_format not specified.' if save_format.empty?

  str_uri = "#{@base_uri}?format=#{save_format}"
  str_uri = Aspose::Cloud::Common::Utils.append_storage(str_uri,folder_name,storage_name,storage_type)

  signed_str_uri = Aspose::Cloud::Common::Utils.sign(str_uri)
  response_stream = RestClient.get(signed_str_uri, {:accept=>'application/json'})
  valid_output = Aspose::Cloud::Common::Utils.validate_output(response_stream)

  save_format = 'zip' if save_format.eql?('html')

  if valid_output.empty?
    output_path = "#{Aspose::Cloud::Common::AsposeApp.output_location}#{Aspose::Cloud::Common::Utils.get_filename(@filename)}.#{save_format}"
    Aspose::Cloud::Common::Utils.save_file(response_stream,output_path)
  end
  valid_output
end
convert_by_url(url, save_format, output_file, folder_name = '', storage_type = 'Aspose', storage_name = '') click to toggle source

Convert PDF from Remote Server to other Formats

# File lib/Pdf/converter.rb, line 111
def convert_by_url(url, save_format, output_file, folder_name = '', storage_type = 'Aspose', storage_name = '')
  raise 'url not specified.' if url.empty?
  raise 'save_format not specified.' if save_format.empty?
  raise 'output_file not specified.' if output_file.empty?          

  str_uri = Aspose::Cloud::Common::Product.product_uri + "/pdf/convert?url=#{url}&format=#{save_format}"
  str_uri = Aspose::Cloud::Common::Utils.append_storage(str_uri,folder_name,storage_name,storage_type)
  signed_str_uri = Aspose::Cloud::Common::Utils.sign(str_uri)

  response_stream = RestClient.put(signed_str_uri, {:accept=>'application/json'})
  valid_output = Aspose::Cloud::Common::Utils.validate_output(response_stream)

  save_format = 'zip' if save_format.eql?('html')

  if valid_output.empty?
    output_path = "#{Aspose::Cloud::Common::AsposeApp.output_location}#{Aspose::Cloud::Common::Utils.get_filename(output_file)}.#{save_format}"
    Aspose::Cloud::Common::Utils.save_file(response_stream,output_path)
  end
  valid_output
end
convert_local_file(input_file, output_file, save_format) click to toggle source

convert a local pdf document to given format without use of storage

# File lib/Pdf/converter.rb, line 89
def convert_local_file(input_file, output_file, save_format)
  raise 'input_file not specified.' if input_file.empty?
  raise 'output_file not specified.' if output_file.empty?
  raise 'save_format not specified.' if save_format.empty?

  str_uri = "#{Aspose::Cloud::Common::Product.product_uri}/pdf/convert?format=#{save_format}"
  signed_str_uri = Aspose::Cloud::Common::Utils.sign(str_uri)
  response_stream = Aspose::Cloud::Common::Utils.upload_file_binary(input_file, signed_str_uri)
  valid_output = Aspose::Cloud::Common::Utils.validate_output(response_stream)

  save_format = 'zip' if save_format.eql?('html')

  if valid_output.empty?
    output_path = "#{Aspose::Cloud::Common::AsposeApp.output_location}#{Aspose::Cloud::Common::Utils.get_filename(output_file)}.#{save_format}"
    Aspose::Cloud::Common::Utils.save_file(response_stream,output_path)
  end
  valid_output
end
convert_to_image(page_number, image_format, folder_name = '', storage_type = 'Aspose', storage_name = '') click to toggle source

convert a particular page to image with default size

# File lib/Pdf/converter.rb, line 13
def convert_to_image(page_number, image_format, folder_name = '', storage_type = 'Aspose', storage_name = '')
  raise 'page_number not specified.' if page_number.nil?
  raise 'image_format not specified.' if image_format.empty?

  qry = Hash.new

  str_uri = "#{@base_uri}/pages/#{page_number}"
  qry[:format] = image_format
  str_uri = Aspose::Cloud::Common::Utils.build_uri(str_uri,qry)
  str_uri = Aspose::Cloud::Common::Utils.append_storage(str_uri,folder_name,storage_name,storage_type)

  signed_str_uri = Aspose::Cloud::Common::Utils.sign(str_uri)
  response_stream = RestClient.get(signed_str_uri, {:accept=>'application/json'})
  valid_output = Aspose::Cloud::Common::Utils.validate_output(response_stream)


  if valid_output.empty?
    output_path = "#{Aspose::Cloud::Common::AsposeApp.output_location}#{Aspose::Cloud::Common::Utils.get_filename(@filename)}_#{page_number}.#{image_format}"
    Aspose::Cloud::Common::Utils.save_file(response_stream,output_path)
  end
  valid_output
end
convert_to_image_by_size(page_number, image_format, width=0, height=0, folder_name = '', storage_type = 'Aspose', storage_name = '') click to toggle source

convert a particular page to image with specified size

# File lib/Pdf/converter.rb, line 39
def convert_to_image_by_size(page_number, image_format, width=0, height=0, folder_name = '', storage_type = 'Aspose', storage_name = '')
  raise 'page_number not specified.' if page_number.nil?
  raise 'image_format not specified.' if image_format.empty?

  qry = Hash.new

  str_uri = "#{@base_uri}/pages/#{page_number}"
  qry[:format] = image_format
  qry[:width] = width unless width <= 0
  qry[:height] = width unless height <= 0
  str_uri = Aspose::Cloud::Common::Utils.build_uri(str_uri,qry)
  str_uri = Aspose::Cloud::Common::Utils.append_storage(str_uri,folder_name,storage_name,storage_type)

  signed_str_uri = Aspose::Cloud::Common::Utils.sign(str_uri)
  response_stream = RestClient.get(signed_str_uri, {:accept=>'application/json'})
  valid_output = Aspose::Cloud::Common::Utils.validate_output(response_stream)


  if valid_output.empty?
    output_path = "#{Aspose::Cloud::Common::AsposeApp.output_location}#{Aspose::Cloud::Common::Utils.get_filename(@filename)}_#{page_number}.#{image_format}"
    Aspose::Cloud::Common::Utils.save_file(response_stream,output_path)
  end
  valid_output
end