Sha256: 2dafaaa6caa9c139c93d72ba379fdd0d89a2a8439d5dfdb52d81e93ea4fb7fda

Contents?: true

Size: 1.33 KB

Versions: 29

Compression:

Stored size: 1.33 KB

Contents

require_relative "html_function/comments"
require_relative "html_function/footnotes"
require_relative "html_function/html"
require "metanorma"

module IsoDoc
  class PdfConvert < ::IsoDoc::Convert
    include HtmlFunction::Comments
    include HtmlFunction::Footnotes
    include HtmlFunction::Html

    def initialize(options)
      @standardstylesheet = nil
      super
      @format = :pdf
      @suffix = "pdf"
      @scripts = @scripts_pdf if @scripts_pdf
      @maxwidth = 500
      @maxheight = 800
    end

    def tmpimagedir_suffix
      "_#{SecureRandom.hex(8)}_pdfimages"
    end

    def convert(input_filename, file = nil, debug = false, output_filename = nil)
      file = File.read(input_filename, encoding: "utf-8") if file.nil?
      @openmathdelim, @closemathdelim = extract_delims(file)
      docxml, filename, dir = convert_init(file, input_filename, debug)
      result = convert1(docxml, filename, dir)
      return result if debug

      postprocess(result, "#{filename}.tmp.html", dir)
      FileUtils.rm_rf dir
      ::Metanorma::Output::Pdf.new.convert(
        "#{filename}.tmp.html",
        output_filename || "#{filename}.#{@suffix}",
      )
      FileUtils.rm_rf ["#{filename}.tmp.html", tmpimagedir]
    end

    def xref_parse(node, out)
      out.a(**{ "href": target_pdf(node) }) { |l| l << get_linkend(node) }
    end
  end
end

Version data entries

29 entries across 29 versions & 1 rubygems

Version Path
isodoc-2.2.2.2 lib/isodoc/pdf_convert.rb
isodoc-2.2.1 lib/isodoc/pdf_convert.rb
isodoc-2.2.0 lib/isodoc/pdf_convert.rb
isodoc-2.1.5 lib/isodoc/pdf_convert.rb
isodoc-2.1.4 lib/isodoc/pdf_convert.rb
isodoc-2.1.3 lib/isodoc/pdf_convert.rb
isodoc-2.1.2.1 lib/isodoc/pdf_convert.rb
isodoc-2.1.2 lib/isodoc/pdf_convert.rb
isodoc-2.1.1 lib/isodoc/pdf_convert.rb
isodoc-2.1.0.2 lib/isodoc/pdf_convert.rb
isodoc-2.1.0.1 lib/isodoc/pdf_convert.rb
isodoc-2.1.0 lib/isodoc/pdf_convert.rb
isodoc-2.0.8.2 lib/isodoc/pdf_convert.rb
isodoc-2.0.8.1 lib/isodoc/pdf_convert.rb
isodoc-2.0.8 lib/isodoc/pdf_convert.rb
isodoc-2.0.7 lib/isodoc/pdf_convert.rb
isodoc-2.0.6.1 lib/isodoc/pdf_convert.rb
isodoc-2.0.6 lib/isodoc/pdf_convert.rb
isodoc-2.0.5.3 lib/isodoc/pdf_convert.rb
isodoc-2.0.5.2 lib/isodoc/pdf_convert.rb