Sha256: 40f8622311715fe96884ddb00a6339864fcc9a88e63ef1ff7c74f82f27dd0e10

Contents?: true

Size: 1.02 KB

Versions: 3

Compression:

Stored size: 1.02 KB

Contents

require_relative "base_convert"
require "isodoc"

module IsoDoc
  module UN

    # A {Converter} implementation that generates HTML output, and a document
    # schema encapsulation of the document for validation
    #
    class PdfConvert < IsoDoc::XslfoPdfConvert
      def initialize(options)
        @libdir = File.dirname(__FILE__)
        super
      end

      def convert(filename, file = nil, debug = false)
        file = File.read(filename, encoding: "utf-8") if file.nil?
        docxml, outname_html, dir = convert_init(file, filename, debug)
        plenary = docxml.at(ns("//bibdata/ext[doctype = 'plenary']"))
        /\.xml$/.match(filename) or
          filename = Tempfile.open([outname_html, ".xml"], encoding: "utf-8") do |f|
          f.write file
          f.path
        end
        FileUtils.rm_rf dir
        ::Metanorma::Output::XslfoPdf.new.convert(
          filename, outname_html + ".pdf",
          File.join(@libdir, plenary ? "unece.plenary.xsl" : "unece.recommendation.xsl"))
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
metanorma-un-0.3.9 lib/isodoc/un/pdf_convert.rb
metanorma-un-0.3.8 lib/isodoc/un/pdf_convert.rb
metanorma-un-0.3.7 lib/isodoc/un/pdf_convert.rb