Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env ruby
- require 'poppler'
- class PDFParser
- def initialize(params = nil)
- @loaded = false
- if (params != nil) then
- @file = params[:file] || nil
- if (@file != nil) then
- loadFile(@file)
- end
- else
- @file = nil
- end
- end
- def loadFile(fileName)
- @loaded = false
- if (!File.exists?(fileName)) then
- raise 'file not found ' + fileName
- end
- @file = fileName
- @poppler = Poppler::Document.new(@file)
- pageCount = 0;
- @poppler.each do |page|
- pageCount+=1
- end
- @pageCount = pageCount
- @loaded = true
- end
- def DumpLinks
- if (!@loaded) then
- loadFile(@file)
- end
- @poppler.each do |page|
- links = page.link_mapping
- links.each do |link|
- action = link.action
- if(action.is_a?(Poppler::ActionGotoDest))
- puts "Destination: page_num: %d, top: %f, left: %f, right: %f, zoom: %f, dest: %s" %
- [action.dest.page_num, action.dest.top, action.dest.left, action.dest.right, action.dest.zoom, action.dest.named_dest]
- namedDest = action.dest.named_dest
- puts namedDest
- if (namedDest != nil) then
- dest = @poppler.find_dest(namedDest)
- puts dest
- end
- end
- end
- end
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement