Sha256: 045827012f69802e107324204224a0c27092b86071b27fb19f03efd754edd2d3

Contents?: true

Size: 1.01 KB

Versions: 1

Compression:

Stored size: 1.01 KB

Contents

require "savon"

module Intersail
  module Rpdf
    class ZapPdfClient

      def initialize(address)
        @url = address
        @ws = Savon.client(wsdl: "#{address}?wsdl")
      end

      def url
        @url
      end

      def make_pdf_with_local_file(templateFile, data, options = {})
        templateData = Base64.encode64(File.read(templateFile))

        response = @ws.call(:make_pdf_with_xml, message: { data: templateData, xmlTags: data.to_xml(options) })

        return nil unless response

        pdfData = response.body[:make_pdf_with_xml_response][:make_pdf_with_xml_result]

        Base64.decode64(pdfData)
      end

      def get_template_tags(templateFile)
        templateData = Base64.encode64(File.read(templateFile))

        response = @ws.call(:get_template_tags, message: { data: templateData })

        return nil unless response

        tags = response.body[:get_template_tags_response][:get_template_tags_result]

        Intersail::Rpdf::Node.new(tags) unless tags.nil?
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rpdf-0.9.6 lib/rpdf/services/zap_pdf_client.rb