当前位置: 首页 > 知识库问答 >
问题:

如何将PDF转换为JPG与命令行在Linux?[关闭]

魏鸿哲
2023-03-14

这个问题似乎不是关于特定的编程问题、软件算法或主要由程序员使用的软件工具。如果您认为这个问题在另一个Stack Exchange网站上是主题,您可以发表评论来解释这个问题在哪里可以得到回答。

未解决原始关闭原因

在Linux上使用命令行将PDF转换成(单个)JPEG有什么快速可靠的方法?

共有3个答案

欧阳元魁
2023-03-14

libvips可以转换PDF-

这将以默认 DPI (72) 将 PDF 呈现为 JPG:

vips copy somefile.pdf somefile.jpg

您可以使用dpi选项来设置其他渲染分辨率,例如:

vips copy somefile.pdf[dpi=600] somefile.jpg

您可以选择这样的页面:

vips copy somefile.pdf[dpi=600,page=12] somefile.jpg

或者从第三页开始渲染五页,如下所示:

vips copy somefile.pdf[dpi=600,page=3,n=5] somefile.jpg

pdfload的文档具有所有选项。

通过这个基准图像,我看到:

$ /usr/bin/time -f %M:%e convert -density 300 r8.pdf[3] x.jpg
276220:2.17
$ /usr/bin/time -f %M:%e pdftoppm -jpeg -r 300 -f 3 -l 3 r8.pdf x.jpg
91160:1.24
$ /usr/bin/time -f %M:%e vips copy r8.pdf[page=3,dpi=300] x.jpg
149572:0.53

所以libvips大约快4倍,至少在这个测试中需要一半的内存。

富涛
2023-03-14

您可以尝试ImageMagick的< code>convert实用程序

在 Ubuntu 上,您可以使用以下命令进行安装:

$ sudo apt-get install imagemagick

像这样使用转换

$ convert input.pdf output.jpg
# For good quality use these parameters
$ convert -density 300 -quality 100 in.pdf out.jpg
乐正涵忍
2023-03-14

在我的一生中,在过去的5年里,我无法让Imagemagick对我来说始终如一地工作(如果有的话),我也不知道为什么人们一次又一次地推荐它。我今天只是在谷歌上搜索了如何将PDF转换为JPEG,找到了这个答案,并尝试了转换,但它对我一点用都没有:

坏命令(对我不起作用):

# BROKEN cmd
$ convert in.pdf out.jpg
convert-im6.q16: not authorized `in.pdf' @ error/constitute.c/ReadImage/412.
convert-im6.q16: no images defined `out.jpg' @ error/convert.c/ConvertImageCommand/3258.

(2022年2月24日更新:这是imagemagick的修复程序,因此转换将起作用。另请参阅我在这里的评论,以及我在这里的答案下的评论。我仍然喜欢pdftoppm,下面,但是,好多了。

然后,我记得还有另一个我使用和写的工具,所以我用谷歌搜索“linux将pdf转换为jpg加布里埃尔·斯台普斯”,点击第一个点击,然后向下滚动到我的答案。以下是最适合我的方法。这是基本的命令格式:

好的命令 - 请改用这个命令:

# GOOD cmd
pdftoppm -jpeg -r 300 input.pdf output 

-jpeg 将输出图像格式设置为 JPG,-r 300 将输出图像分辨率设置为 300 DPI,单词 output 将是所有图像页面的前缀,这些图像页面将被编号并放入您正在处理的当前目录中。然而,在我看来,更好的方法是首先使用mkdir -p图像创建一个“图像”目录,然后将输出设置为images/pg,以便所有输出图像将干净地放入您刚刚创建的图像目录中,文件前缀pg位于其每个数字的前面。

因此,这里是我最喜欢的命令:

>

  • [每pg产生约1MB大小的文件]以300 DPI以. jpg格式输出:

     mkdir -p images && pdftoppm -jpeg -r 300 mypdf.pdf images/pg
    

    [每pg产生约2MB大小的文件]输出。最高质量(最低压缩率)的jpg格式,分辨率仍为300 DPI:

     mkdir -p images && pdftoppm -jpeg -jpegopt quality=100 -r 300 mypdf.pdf images/pg
    

    如果需要更高的分辨率,可以尝试600 DPI:

     mkdir -p images && pdftoppm -jpeg -r 600 mypdf.pdf images/pg
    

    …或1200 DPI:

     mkdir -p images && pdftoppm -jpeg -r 1200 mypdf.pdf images/pg
    

    有关更多详细信息和选项,请参阅下面的参考资料。

    1. [我的答案] 将PDF转换为高分辨率图像
    2. [我的答案] https://askubuntu.com/questions/150100/extracting-embedded-images-from-a-pdf/1187844#1187844

    关键词:ubuntu linux将pdf转换成图片;pdf转jpegptdf到tiffpdf2imagespdf2tiffpdftoppmpdftoimagespdftotiffpdftopngpdf2png

  •  类似资料:
    • 问题内容: Linux上的哪个程序可让您将AVI中的所有帧转换为一系列JPEG文件? 问题答案: 使用ffmpeg。 。 我还发现了这篇标题为“在Linux上创建动画的屏幕截图”的文章,其中详细介绍了使用Mencoder捕获顺序屏幕截图的过程。(本文末尾讨论了如何截取这些屏幕截图并将其编码为另一种格式,但是您可以忽略该部分。)

    • 文件夹结构是正确的--也就是说,我有一个与node_modules/karma/bin匹配的嵌套文件夹结构,并且我在那个位置有一个名为karma的文件。 我在两个例子中都是从同一个位置开始的。在Visual Studio代码终端或windows命令提示符中运行此命令时,会出现以下错误:“'node_modules'未被识别为内部或外部命令、可操作程序或批处理文件。” 但在GitBash,它工作得很

    • 本文向大家介绍C#将jpg转换为pdf的方法,包括了C#将jpg转换为pdf的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C#将jpg转换为pdf的方法。分享给大家供大家参考。具体实现方法如下: C#生成pdf文件需要使用到一个itextsharp.dll文件,itextsharp.dll是一个开源的在C#中用来生成PDF文档的库文件,下面我们来给大家介绍利用itextsharp来

    • 问题内容: 如何使用Java将Dicom文件(.dcm)转换为jpeg图像?这是我的代码: 我在运行项目时遇到以下错误 请帮助并提前感谢 问题答案: 这是使用dcm4che 2将DICOM转换为JPEG的链接 以下是我的代码,效果很好,我将其与导入一起放置,因此可能用完了。 用于运行它的罐子 dcm4che-imageio-2.0.28.jar dcm4che-image-2.0.28.jar j

    • 我将使用MailgunAPI。 以下是在终端中正常工作的cRUL命令。 我无法理解如何使用Postman运行此命令。 我试图导入cURL命令到邮递员,但它不导入api: key。我真的不明白如何将这个api密钥导入到Postman中以正确运行api。 请帮助我使用Postman运行此命令。 非常感谢。

    • 问题内容: 我有一个3band的geotiff图像。 band1,2是实际图像值,band3是实例角度值。 band1,2是float32数据类型 根据代码是我尝试过的。 但这不起作用。 我认为频段数据的范围太大,所以不会 我怎么解决这个问题?? 问题答案: 您可以为此使用。 您可以在这里阅读文档 上面的代码仅创建了一个带1缩放到字节范围的jpg文件。您可以通过添加等来添加更多频段。另外请注意,小