.docまたは.pdfを画像に変換し、Rubyでサムネイルを表示しますか?
Ruby(またはC、python ...)でドキュメントのサムネイルを生成する方法を知っている人はいますか?
6 に答える
PDF を PNG に変換する単純な RMagick の例は次のようになります。
require 'RMagick'
pdf = Magick::ImageList.new("doc.pdf")
thumb = pdf.scale(300, 300)
thumb.write "doc.png"
MS Word 文書を変換するのは簡単ではありません。サムネイルを生成する前に、まず PDF に変換することをお勧めします。PDF を生成するためのオプションは、実行している OS に大きく依存します。1 つは、OpenOffice とPython Open Document Converterを使用することです。http://Zamzar.comなど、試すことができるオンライン変換サービスもあります。
上記の @aisensiy によるコメントに回答するサンプル コード:
require 'rmagick'
pdf_path = "/path/to/interesting/file.pdf"
page_index_path = pdf_path + "[0]" # first page in PDF
pdf_page = Magick::Image.read( page_index_path ).first # first item in Magick::ImageList
pdf_page.write( "/tmp/indexed-page.png" ) # implicit conversion based on file extension
別の質問への回答のパスの手がかりに基づいて:
以前の2つのポスターが言ったように、ImageMagickはおそらくサムネイルを生成する最も簡単な方法です。
次のような実行が可能です。
´convert -size 300x300 doc.pdf doc.png´
(バッククォートはRubyにそれをシェルアウトするように指示します)。
execを使用して変換を実行したくない場合は、RMagick gemを使用して変換を実行できますが、おそらくもう少しコードが必要です。
オープンソースライブラリでの.docサポートについてはよくわかりませんが、ImageMagick(およびRMagick gem)はpdfサポートでコンパイルできます(デフォルトでオンになっていると思います)
PDF のサポートは、ImageMagick では少しバグがありますが、Ruby の OS としては断然最良の方法です。純粋な Ruby PDF サポートのための google summer of code プロジェクトもあります。
GUI なしで OpenOffice を使用して .doc ファイルを変換する方法について読んだことがありますが、せいぜい複雑です。