Ghost 脚本 - 从 pdf 中提取单个页面并将其转换为 jpg

发布于 2024-10-28 18:53:51 字数 624 浏览 1 评论 0原文

我使用的是 ubuntu 10.10 并且安装了 Ghost 脚本。我需要做的是从 PDF 中提取一页,然后将该页面转换为 jpg。目的是创建一个 PDF 预览器......

以下是我发现的一些设置,适用于 Windows 版本的 Ghostscript,将整个内容转换为 jpg。它不允许我隔离一页,而这正是我所需要的。

    -dBATCH ^
    -dNOPAUSE ^
    -dSAFER ^
    -sDEVICE=jpeg ^
    -dJPEGQ=30 ^
    -r72x72 ^
    -sOutputFile=c:/path/to/jpeg-dir/pdffile-%03d.jpeg ^
    /path/to/pdffile.pdf

然后我需要将其写入我的 PHP 库,以便我可以运行像 $img_src = pdf::preview('test.pdf', $page=1);

这样的 函数对此有什么想法吗?

感谢

ESP Ghostscript 815.02 (2006-04-19) 版权所有 (C) 2004 artofcode LLC,加利福尼亚州贝尼西亚。版权所有。 该软件不附带任何保证:有关详细信息,请参阅公共文件。

I'm using ubuntu 10.10 and I have ghost script installed. What I need to do is to extract one page from my PDF and then convert that page to a jpg. The aim is to create a PDF previewer....

Here's some settings I found that apply to a windows version of ghostscript to convert the entire thing into a jpg. It doesn't let me isolate one page and that's really what i need.

    -dBATCH ^
    -dNOPAUSE ^
    -dSAFER ^
    -sDEVICE=jpeg ^
    -dJPEGQ=30 ^
    -r72x72 ^
    -sOutputFile=c:/path/to/jpeg-dir/pdffile-%03d.jpeg ^
    /path/to/pdffile.pdf

I then need to write this into my PHP library so that I can just run a function like $img_src = pdf::preview('test.pdf', $page=1);

Does anyone have any idea about this?

Thanks

ESP Ghostscript 815.02 (2006-04-19)
Copyright (C) 2004 artofcode LLC, Benicia, CA. All rights reserved.
This software comes with NO WARRANTY: see the file PUBLIC for details.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

画▽骨i 2024-11-04 18:53:51

您是说您想从 PDF 中提取单个页面吗?假设您想要提取第 12 页。您可以使用 Ghostscript 使用以下选项来完成此操作:

-dFirstPage=12 -dLastPage=12

只需将这两个选项添加到上面的选项中,将“12”更改为您要提取的页面。

如果您从终端运行它,它看起来像这样:

gs \
 -sDEVICE=jpeg \
 -o %03d.jpeg \
 -dFirstPage=12 \
 -dLastPage=12 \
 -dJPEGQ=30 \
 -r72x72 \
  file.pdf

我真的不建议使用 Imagemagick 将 PDF 转换为 JPEG;无论如何,它使用 Ghostscript 来执行此操作,并且比直接使用 Ghostscript 慢。我做了一些实验,发现使用 Ghostscript 输出高质量的 JPEG,然后使用 Imagemagick 的 mogrify 命令调整图像大小和压缩图像,可以获得更高质量的图像,尽管这可能是由于我对 Ghostscript 的了解有限,而不是而非它的局限性。如果您只是创建 72 x 72 缩略图,这可能并不重要。

Are you saying you want to extract a single page from the PDF? Let's say you want to extract page 12. You can do that with Ghostscript using the following options:

-dFirstPage=12 -dLastPage=12

Just add those two options to the options you have above, changing the "12" to the page you want to extract.

If you were running it from terminal, it would look like this:

gs \
 -sDEVICE=jpeg \
 -o %03d.jpeg \
 -dFirstPage=12 \
 -dLastPage=12 \
 -dJPEGQ=30 \
 -r72x72 \
  file.pdf

I really don't recommend using Imagemagick for converting a PDF to a JPEG; it uses Ghostscript to do so, anyway, and is slower than using Ghostscript directly. I have done some experimentation and found that you can get higher-quality images by using Ghostscript to output a high-quality JPEG and then using Imagemagick's mogrify command to resize and compress the image, though that may be due to my limited knowledge of Ghostscript rather than limitations of it. If you're just creating 72 x 72 thumbnails, it probably isn't important.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文