Пытались получить оглавление / индекс для файлов PDF с использованием Ruby и Poppler. Я был бы очень признателен за любые предложения или намеки в правильном направлении, в которых мне удалось получить основные главы, но не подзаголовки в каждой главе. ех
1.Chapter 1
--Part of Chap1
-- Part of Chap 1
2.Chapter 2
-- Part of Chap2
-- Part of Chap2
Я могу получить Глава 1 и Глава 2 , но не часть в Chap1 / chap 2 при использовании ruby и poppler. Я мог бы думать об этом неправильно, но из того, что я понял, если бы ребенок существовал для Poppler::IndexIter
, я бы предположил, что те же методы, которые использовались для получения Главы 1 и Главы 2, сработали бы и для ребенка, однако это Похоже, не в этом дело. Пытался использовать action.title на дочернем классе, однако, похоже, он равен нулю. Файл PDF, который я сейчас использую, отображается во всех программах чтения PDF с подразделами.
http://ruby -gnome2.sourceforge.jp / hiki.cgi? Poppler% 3A% 3AIndexIter # открыта% 3F
#!/usr/bin/env ruby
require "rubygems"
require "poppler"
if ARGV.size < 1
puts "usage: #{$0} input.pdf"
exit(-1)
end
input = ARGV.shift
input_uri = "file://#{File.expand_path(input)}"
doc = Poppler::Document.new(input_uri)
indexer = Poppler::IndexIter.new(doc)
author = doc.n_pages
index = doc.index_iter
pages = doc.n_pages
#puts " #{doc.metadata}\n"
puts "This is the number of pages #{pages}\n"
#Prints out Table of Contents each chater
def walk_index(indexer)
indexer.each do |i|
chaps =i.action.title
puts chaps
child = i.child
workk_index(child) if child.nil? == false
end
end
def work_index(child)
#puts child
child.each do |h|
puts h.action.title
end
end
walk_index(indexer)