1kb*_*1kb 211 pdf software-recommendation
在开始使用 Ubuntu 之前,我使用 Nitro PDF 阅读器自动从 PDF 文件中提取图像。是否有适用于 Linux 的 PDF 阅读器可以执行此操作?
我希望能够比拍摄快照更快/更容易地提取图像。
pl1*_*1nk 245
pdfimagespdfimages 是一种 PDF 图像提取工具,可将 PDF 文件中的图像保存为 PPM、PBM、JPEG 或 JPEG 2000 文件格式。
它是poppler-utils软件包的一部分,您需要安装它。
用法: pdfimages [options] <PDF-file> <image-root>
-all将以原始格式提取图像。-j会将图像提取为 .jpg(注意:图像经过转换,通常尺寸大于原始尺寸)示例 1:以下内容从 PDF 文件中提取所有图像,并将它们保存为原始格式。
pdfimages -all in.pdf /tmp/out
Run Code Online (Sandbox Code Playgroud)
示例 2:以下从 PDF 文件中提取所有图像,并将它们保存为 JPEG 格式。
pdfimages -j in.pdf /tmp/out
Run Code Online (Sandbox Code Playgroud)
将 PDF 文件in.pdf中的图像保存在文件中/tmp/out-000.jpg(或/tmp/out-000.pbm;见下文)/tmp/out-001.jpg,等等。
pdfimages手册页解释了:
-j: Normally, all images are written as PBM (for monochrome images) or PPM for
non-monochrome images) files. With this option, images in DCT format are
saved as JPEG files. All non-DCT images are saved in PBM/PPM format as usual.
Run Code Online (Sandbox Code Playgroud)
Gre*_*lin 33
为此,我经常使用 Inkscape。加载页面,并删除所有其他内容。优点是您可以在 SVG 中获取矢量图像并根据您的选择对其进行修改。
请注意,此问题专门询问“从 PDF 中提取嵌入的图像”。关键字是提取!这意味着:我有一个 PDF;它有一些嵌入其中的图像;我怎么把它们弄出来!?如果这是您的问题,请pdfimages用作@pl1nk states的主要答案。
然而,许多人在谷歌上搜索并登陆这个问题(包括我自己),然而,正在寻找一个稍微不同的问题,直到数小时后的沮丧之后才意识到差异。因此,如果您正在寻找“如何将PDF 转换为一堆图像”,而这与“如何从 PDF 中提取图像”不同,那么方法如下:使用pdftoppm. 这里的“PPM”是一种图像格式,所以这只是意味着“PDF 到图像”。它工作得非常好,尽管对于现代多核系统来说速度很慢,因为它是一个单线程应用程序并且没有利用多核的处理能力。
Ubuntu 18.04 附带pdftoppm版本 0.62.0。检查您的版本pdftoppm -v:
$ pdftoppm -v
pdftoppm version 0.62.0
Copyright 2005-2017 The Poppler Developers - http://poppler.freedesktop.org
Copyright 1996-2011 Glyph & Cog, LLC
Run Code Online (Sandbox Code Playgroud)
阅读手册页man pdftoppm以查看其所有有用的功能。
如手册页所示,pdftoppm允许您以以下格式输出图像:
-png)-jpeg)-tiff)它还允许您指定单色 ( -mono) 或灰度 ( -gray) 输出(默认为彩色)、指定页码、将输出图像放入文件夹、裁剪和调整大小、指定分辨率、指定 jpeg 质量(0 到 100 )、指定 TIFF 压缩、仅处理偶数页或奇数页等。它工作得非常好,非常有用!
pdftoppm将 PDF 转换为一堆图像文件的一些示例:将 ppm 文件输出为pg-1.ppm、pg-2.ppm、pg-3.ppm等,默认为 150 DPI x 和 y 分辨率:
pdftoppm mypdf.pdf pg
Run Code Online (Sandbox Code Playgroud)与 1 相同,除了将所有输出文件放在名为images的文件夹中:
mkdir -p images && pdftoppm mypdf.pdf images/pg
Run Code Online (Sandbox Code Playgroud)[我的最爱]以300 DPI x & y 分辨率而不是默认的 150 DPI 将图像以jpeg格式输出到“图像”文件夹中。请注意,输出图像采用某些默认 jpeg 压缩级别,对于 300 DPI 分辨率并假设标准 8.5" x 11" PDF 页面,每个文件将占用大约 0.1~1 MB 的空间。
mkdir -p images && pdftoppm -jpeg -r 300 mypdf.pdf images/pg
Run Code Online (Sandbox Code Playgroud)将图像以jpeg格式输出到“images”文件夹中,分辨率为300 DPI x & y,尽可能以最高质量的jpeg 级别!quality值的范围可以从 0 到 100。请参阅手册页。质量设置为 100,分辨率设置为 300 DPI,预计每个 jpeg 文件占用2 倍的存储空间,大小范围为 ~0.2~2MB,具体取决于内容,并假设为 8.5" x 11" PDF 页面。
mkdir -p images && pdftoppm -jpeg -jpegopt quality=100 -r 300 mypdf.pdf images/pg
Run Code Online (Sandbox Code Playgroud)以 **300 DPI x & y 分辨率输出未压缩的.tif* 图像。对于 300 DPI 和 8.5" x 11" PDF 页面,输出文件大小约为 25 MB。
mkdir -p images && pdftoppm -tiff -r 300 mypdf.pdf images/pg
Run Code Online (Sandbox Code Playgroud)请注意,在我的慢速计算机上以 300 DPI 输出上述每个页面需要 15~45 秒,这意味着例如,对于 300 DPI jpeg 图像,100 pg PDF 可能需要长达 100 x 45/60 = 75 分钟左右的时间。
要计算该过程在您的计算机上花费的时间,只需将time命令放在pdftoppm上述任何命令的前面即可。例如:这是转换具有 3 页的 PDF 的输出:
$ mkdir -p images && time pdftoppm -tiff -r 300 testpdf.pdf images/pg
real 1m47.572s
user 1m45.675s
sys 0m1.536s
Run Code Online (Sandbox Code Playgroud)
这意味着它在现实生活中的总时钟时间为 1m47.572s,或 60 + ~48 = 108 秒,即每页 108/3 = 36 秒。
pdf2searchablepdf]如何将 pdf 转换为文本可搜索的 pdf?我有一个双列 PDF 文件,其中包含使用 LaTeX 创建的嵌入图像,其中原始图像作为 EPS 提供。我尝试了基于 的建议解决方案pdfimages,但不幸的是,它没有返回任何图像。然后我尝试使用 Inkscape,但它生成的 SVG 图像失真,我也没有运气将它们导出为 EPS。
为我们工作的软件是MasterPdfEditor。
这是程序
结果质量非常高,但该软件不是免费的。有一个演示版本“允许您尝试所有功能”,但带有“在输出文件上添加水印”。坦率地说,我没有注意到生成的 PDF 中有任何水印。
| 归档时间: |
|
| 查看次数: |
120896 次 |
| 最近记录: |