将 PDF 转换为 JPG 的替代解决方案

Posted

技术标签:

【中文标题】将 PDF 转换为 JPG 的替代解决方案【英文标题】:alternative solution to convert PDFs to JPG 【发布时间】:2011-12-14 16:19:53 【问题描述】:

我已经使用 ImageMagick 和 Ghostscript 完成了我的课程。我不理会它,继续其他领域的开发,一整天我一直在拖网论坛试图让 ImageMagick 在我的 CentOS 服务器上工作,现在我可能会沮丧地哭泣...... .

有没有更简单的解决方案来简单地将所有文本 PDF 转换为 jpg 缩略图,这样我就可以解决这个令人头疼的问题了?似乎没有人知道“Postscript Delegate Failed”是什么意思,我不知道我要安装、删除、重新安装多少次,./configuremakemake installtar,羽毛,挂起,绘制和分割 Ghostscript 和所有开发库......将 PDF 转换为缩略图有多难?????

救命!!请!!!!

【问题讨论】:

【参考方案1】:

在 CentOS 上?

 /usr/bin/evince-thumbnailer --help
Usage:
  evince-thumbnailer [OPTION...] <input> <ouput> - GNOME Document Thumbnailer

Help Options:
  -h, --help             Show help options

Application Options:
  -s, --size=SIZE   

它生成PNG;很容易转换。 -s SIZE 选项似乎代表 最小 维度,保留纵横比。 (对我来说,-s 128 的美国信函大小的文件生成了 128×166 像素的 PNG。)

它在evince 包中。

【讨论】:

我刚刚安装并尝试了它,它没有给出错误消息,但它也没有给出缩略图:( 听起来那里可能存在更大的问题……rpm -q --verify evince 是否显示包和依赖项已正确安装?您传递的输出文件名是否在没有写权限的目录中?在(CentOS 5、Fedora 15、Fedora 16)上为我工作…… 我很好吃 - yum install evince。 虽然找到了其他东西....通过直接使用 gs 我已经设法获得所有要转换的文本 PDF,但是有谁知道给 gs 哪个选项来指定最大尺寸?有问题的 PDF 为 1040x3700,我希望它的缩略图最大为 80 像素...有些 PDF 可能宽或高,所以我需要一个最大的统计数据。 可能存在与权限相关的问题或类似问题?我假设您的用户对输入具有读取权限,并且对包含输出的目录具有rwx 权限(以及该目录路径上的rx),&c(通常的嫌疑人)?【参考方案2】:

好的,我找到了解决方案。忘记尝试让ImageMagick 转换您的PDF。我在这方面花了几个月的时间,但从未找到解决方案。

所以改为这样做。

直接使用gs将PDF文件转换为jpeg。

exec("gs -sDEVICE=jpeg -o $tmp_image -dJPEGQ=95 $pdf_name 2>&1");

有了 tmp_image,您就可以运行 ImageMagick convert 应用程序

exec("convert -colorspace RGB ".$tmp_image." -geometry 80x80 -quality 100 ".$thumb_image." 2>&1");

记得unlink($tmp_image); 停止混乱。您应该有转换后的 PDF

【讨论】:

以上是关于将 PDF 转换为 JPG 的替代解决方案的主要内容,如果未能解决你的问题,请参考以下文章

iText PDF;如何使用 Java 将 jpeg2000 转换为 jpg

编辑实测:迅捷PDF转换器怎么将PDF转换成JPG

怎么把AVI格式的视频转换成GIF图片?

JPG转PDF在线转换的方法

仿百度文库方案[openoffice.org 3+swftools+flexpaper] 使用iText将jpgjpegpng转换为pdf

仿百度文库方案[openoffice.org 3+swftools+flexpaper] 使用iText将jpgjpegpng转换为pdf