pdfの中身を抽出する方法は各言語様々な方法があると思いますが、rubyでやる方法の一つとしてpdf-readerを利用する方法があります。
gemのインストール後、以下のようなコードで簡単にページのテキストやメタデータを見ることができます。
require 'pdf-reader'
reader = PDF::Reader.new("sample.pdf")
puts reader.pdf_version
puts reader.info
puts reader.metadata
puts reader.page_count
reader.pages.each do |page|
puts page.text
puts page.fonts
end
ただ今回扱うファイルがパスワード付きだったので、どうするのかReadmeを見たところ特に言及はありませんでした。
どうしたものかと思っていましたが、gemのテストを見たところ答えがありました。
require 'pdf-reader'
-reader = PDF::Reader.new("sample.pdf")
+reader = PDF::Reader.new("sample.pdf",password: 'ここに入力')
puts reader.pdf_version
puts reader.info
puts reader.metadata
puts reader.page_count
reader.pages.each do |page|
puts page.text
puts page.fonts
end
そのままpasswordを引数として渡してあげればいいみたいです。