Origami is a pure Ruby library to parse, modify and generate PDF documents.
Origami is a framework written in pure Ruby to manipulate PDF files.
It offers the possibility to parse the PDF contents, modify and save the PDF
structure, as well as creating new documents.
Origami supports some advanced features of the PDF specification:
Origami is able to parse PDF, FDF and PPKLite (Adobe certificate store) files.
As of version 2, the minimal version required to run Origami is Ruby 2.1.
Some optional features require additional gems:
First install Origami using the latest gem available:
$ gem install origami
Then import Origami with:
require 'origami'
To process a PDF document, you can use the PDF.read
method:
pdf = Origami::PDF.read "something.pdf"
puts "This document has #{pdf.pages.size} page(s)"
The default behavior is to parse the entire contents of the document at once. This can be changed by passing the lazy
flag to parse objects on demand.
pdf = Origami::PDF.read "something.pdf", lazy: true
pdf.each_page do |page|
page.each_font do |name, font|
# ... only parse the necessary bits
end
end
You can also create documents directly by instanciating a new PDF object:
pdf = Origami::PDF.new
pdf.append_page
pdf.pages.first.write "Hello", size: 30
pdf.save("example.pdf")
# Another way of doing it
Origami::PDF.write("example.pdf") do |pdf|
pdf.append_page do |page|
page.write "Hello", size: 30
end
end
Take a look at the examples and bin directories for some examples of advanced usage.
Origami comes with a set of tools to manipulate PDF documents from the command line.
Note: Since version 2.1, pdfwalker has been moved to a separate repository.
Origami is distributed under the LGPL license.
Copyright © 2019 Guillaume Delugré.