class Poppler::Document
Public Class Methods
new(*args)
click to toggle source
# File poppler/lib/poppler/document.rb, line 24 def initialize(*args) if args.size == 1 and args[0].is_a?(Hash) options = args[0] else uri_or_data, password = args if pdf_data?(uri_or_data) options = { :data => uri_or_data, :password => password } else options = { :uri => ensure_uri(uri_or_data), :password => password } end end data = options[:data] uri = options[:uri] path = options[:path] stream = options[:stream] length = options[:length] file = options[:file] password = options[:password] if data # Workaround: poppler_document_new_from_data()'s .gir # accepts PDF data as UTF-8 string. PDF data is not UTF-8 # string. So UTF-8 validation is failed. # # TODO: Enable the following: # initialize_new_from_data(data, password) @file = Tempfile.new(["poppler", ".pdf"]) @file.write(data) @file.close initialize_new_from_file(ensure_uri(@file.path), password) elsif uri initialize_new_from_file(uri, password) elsif path uri = ensure_uri(path) initialize_new_from_file(uri, password) elsif stream if length.nil? raise(ArgumentError, "must specify :length for :stream: #{options.inspect}") end initialize_new_from_stream(stream, length, password) elsif file if file.is_a?(String) initialize(path: file, password: password) else initialize_new_from_gfile(file, password) end else message = "must specify one of :data, :uri, :path, :stream or :file: " + options.inspect raise(ArgumentError, message) end end
Also aliased as: initialize_raw
Public Instance Methods
each() { |get_page(i)| ... }
click to toggle source
# File poppler/lib/poppler/document.rb, line 89 def each return to_enum(__method__) unless block_given? n_pages.times do |i| yield get_page(i) end end
index_iter()
click to toggle source
# File poppler/lib/poppler/document.rb, line 107 def index_iter IndexIter.new(self) end
save(uri)
click to toggle source
# File poppler/lib/poppler/document.rb, line 98 def save(uri) save_raw(ensure_uri(uri)) end
Also aliased as: save_raw
save_a_copy(uri)
click to toggle source
# File poppler/lib/poppler/document.rb, line 103 def save_a_copy(uri) save_a_copy_raw(ensure_uri(uri)) end
Also aliased as: save_a_copy_raw