Sha256: 74d2ba1a9a0f87cd979f88f63073f492e0c16af7f9b563ed917bb581d32e86bb

Contents?: true

Size: 1.27 KB

Versions: 1

Compression:

Stored size: 1.27 KB

Contents

require_relative "docxify/version"
require_relative "docxify/document"
require_relative "docxify/container"
require_relative "docxify/template"

require_relative "docxify/element/base"
require_relative "docxify/element/divider"
require_relative "docxify/element/file"
require_relative "docxify/element/image"
require_relative "docxify/element/page_break"
require_relative "docxify/element/paragraph"
require_relative "docxify/element/table"

module DocXify
  class Error < StandardError; end

  UNITS_PER_CM = (1440 / 2.54)
  A4_PORTRAIT_WIDTH = 11_906 # cm2dxa(21)
  A4_PORTRAIT_HEIGHT = 15_840 # cm2dxa(29.7)
  A4_LANDSCAPE_WIDTH = A4_PORTRAIT_HEIGHT
  A4_LANDSCAPE_HEIGHT = A4_PORTRAIT_WIDTH

  # Used for most sizes
  def self.cm2dxa(value)
    value = value.to_f
    raise ArgumentError.new("Value must be greater than or equal to 0") if value.negative?

    (value * UNITS_PER_CM).to_i
  end

  # Used for font sizes
  def self.pt2halfpt(value)
    value = value.to_f
    raise ArgumentError.new("Value must be greater than or equal to 0") if value.negative?

    (value * 2).to_i
  end

  # Used for image sizes
  def self.cm2emu(value)
    value = value.to_f
    raise ArgumentError.new("Value must be greater than or equal to 0") if value.negative?

    (value * 360_000).to_i
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
docxify-0.0.5 lib/docxify.rb