PDF ファイルを取得して画像に変換すると、各 PDF ページが個別の画像になります。
「.doc や .pdf を画像に変換して Ruby でサムネイルを表示しますか?」 も同様の投稿ですが、ページごとに個別の画像を作成する方法については触れていません。
PDF ファイルを取得して画像に変換すると、各 PDF ページが個別の画像になります。
「.doc や .pdf を画像に変換して Ruby でサムネイルを表示しますか?」 も同様の投稿ですが、ページごとに個別の画像を作成する方法については触れていません。
RMagick 自体を使用して、さまざまなページの画像を作成できます。
require 'RMagick'
pdf_file_name = "test.pdf"
im = Magick::Image.read(pdf_file_name)
上記のコードはarr[]
、対応するページの 1 つのエントリを持つ array を提供します。5 ページ目の JPEG 画像を生成する場合は、次のようにします。
im[4].write(pdf_file_name + ".jpg")
ただし、これは PDF 全体をロードするため、遅くなる可能性があります。
または、5 ページ目の画像を作成したいが、完全な PDF ファイルをロードしたくない場合は、次のようにします。
require 'RMagick'
pdf_file_name = "test.pdf[5]"
im = Magick::Image.read(pdf_file_name)
im[0].write(pdf_file_name + ".jpg")
ImageMagickは PDF でそれを行うことができます。おそらくRMagickでもできると思いますが、私はそれに慣れていません。
リンク先の投稿のコード:
require 'RMagick'
pdf = Magick::ImageList.new("doc.pdf")
pdf
ドキュメントImageList
によると、そのメソッドの多くを に委譲するオブジェクトです。繰り返して呼び出して、個々の画像をファイルに書き込むことができるはずです。Array
pdf
write
RMagick でページごとに PDF を処理する方法が見つからないため、最初にpdftk の burst
コマンドを使用して PDF をページに分割し、次に RMagick で個々のページを処理することをお勧めします。これはおそらくオールインワン ソリューションよりもパフォーマンスが劣りますが、残念ながらオールインワン ソリューションは存在しません。
pdftk にフックする Ruby 用のPDF::Toolkitもありますが、私はそれを使用したことがありません。