将.doc或.pdf转换为图像并在Ruby中显示缩略图?

将.doc或.pdf转换为图像并在Ruby中显示缩略图?
有谁知道如何在Ruby(或C,python …)中生成文档缩略图

将PDF转换为PNG的简单RMagick示例如下:

require 'RMagick' pdf = Magick::ImageList.new("doc.pdf") thumb = pdf.scale(300, 300) thumb.write "doc.png" 

要转换MS Word文档,它将不那么容易。 您最好的选择可能是在生成缩略图之前先将其转换为PDF。 生成PDF的选项在很大程度上取决于您运行的操作系统。 一种可能是使用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 

基于回答另一个问题的路径线索:

https://stackoverflow.com/a/6369524/765063

不确定任何开源库中的.doc支持,但ImageMagick(和RMagick gem)可以用pdf支持编译(我认为它默认打开)

PDF支持在ImageMagick中是一个小小的错误 – 但它是迄今为止最好的ruby操作系统方式。 还有一个用于纯Ruby PDF支持的谷歌夏季代码项目。

我已经阅读了有关使用OpenOffice而不使用GUI来转换.doc文件的内容 – 但它最多也会很复杂。

正如之前的两张海报所说,ImageMagick可能是生成缩略图的最简单方法。

你可以这样执行:

 ´convert -size 300x300 doc.pdf doc.png´ 

(反引用告诉Ruby将其删除)。

如果您不想使用exec进行转换,您可以使用RMagick gem为您执行此操作,但它可能需要更多代码。

如果您不介意支付Imgix,它也会处理PDF 。 使用快速CDN可以获得所有好处。

Interesting Posts