Module: Pdfrb::ImageLoader::PDF
- Defined in:
- lib/pdfrb/image_loader/pdf.rb
Overview
PDF image loader. Imports a page from another PDF document as
a Form XObject, suitable for embedding via the Do operator
or the canvas image method (TODO 95 enhancement).
Class Method Summary collapse
Class Method Details
.call(document, io, page: 0, **_opts) ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/pdfrb/image_loader/pdf.rb', line 11 def call(document, io, page: 0, **_opts) source_doc = io.is_a?(Pdfrb::Document) ? io : Pdfrb::Document.open(io) source_page = source_doc.pages[page] return nil unless source_page importer = Pdfrb::Importer.new(document) imported_value = importer.import(source_page.value, source_doc) imported_value.delete(:Parent) imported_value[:Type] = :XObject imported_value[:Subtype] = :Form imported_value[:BBox] ||= imported_value[:MediaBox] || [0, 0, 612, 792] form = document.add(imported_value, type: Pdfrb::Model::Type::XObjectForm) form end |