如何从Linux命令行中从“受读保护”的PDF中提取所有图像?
我正在尝试从一个受读取保护的PDF中提取图像 使用普通PDF可以很好地提取图像,从受读保护的PDF中也可以很好地提取文本。然而,这些图像是一个不同的故事。它要么不提取所有图像,要么提取模糊的灰色或黑色的所有图像 在以下PDF中,您可以在下面的缩略图中看到许多图像: 我从以下位置尝试了pdfimages命令: 以及来自以下位置的pdftohtml命令: 但这两个LIB只提取众多图像中的一个。不过,该图像提取正确。从其他PDF中我得到了所有的图像,但它们都是灰色或黑色的 由于读取保护被认为只是PDF文档中的一个标志,而不是对源文件的实际加扰或加密,最终您的计算机可以在不输入密码的情况下显示图像,因此应该可以以某种方式单独提取图像。我甚至可以使用convert ticket.PDF ticket.jpg从整个PDF创建缩略图,那么为什么不使用单个图像呢 有人知道如何从受读保护的PDF中提取所有图像吗?欢迎所有提示 并非所有看起来像图像的东西都是图像 例如,左上角的红-蓝-黄-绿徽标,带有黑色+白色票务服务文本:它是一系列矢量图形,红色、蓝色、黄色和绿色的每个补丁都是一个单独的对象,就像文本一样 唯一真实的光栅图像是以下命令列出的图像:如何从Linux命令行中从“受读保护”的PDF中提取所有图像?,linux,pdf,imagemagick,mupdf,poppler,Linux,Pdf,Imagemagick,Mupdf,Poppler,我正在尝试从一个受读取保护的PDF中提取图像 使用普通PDF可以很好地提取图像,从受读保护的PDF中也可以很好地提取文本。然而,这些图像是一个不同的故事。它要么不提取所有图像,要么提取模糊的灰色或黑色的所有图像 在以下PDF中,您可以在下面的缩略图中看到许多图像: 我从以下位置尝试了pdfimages命令: 以及来自以下位置的pdftohtml命令: 但这两个LIB只提取众多图像中的一个。不过,该图像提取正确。从其他PDF中我得到了所有的图像,但它们都是灰色或黑色的 由于读取保护被认为只是PDF
$ pdfimages -list ticket.pdf
page num type width height color comp bpc enc interp object ID x-ppi y-ppi size ratio
--------------------------------------------------------------------------------------------
1 0 image 642 462 index 1 8 image no 38 0 151 151 107K 37%
2 1 image 642 462 index 1 8 image no 38 0 151 151 107K 37%
$ pdfinfo ticket.pdf
Title: TicketFast
Author: Ticketmaster
Creator: TCT 4.4.4
Producer: PDFlib+PDI 5.0.4 (C++/Linux)
CreationDate: Wed May 5 18:21:29 2010
ModDate: Thu Apr 30 16:02:21 2015
Tagged: no
UserProperties: no
Suspects: no
Form: none
JavaScript: no
Pages: 2
Encrypted: no
Page size: 595.275 x 841.89 pts (A4)
Page rot: 0
File size: 364994 bytes
Optimized: no
PDF version: 1.4
这两个列出的图像都由编号为/generation 38 0的同一个PDF对象表示,因此PDF中只嵌入了一个图像
仅仅因为页面是彩色的并不意味着有很多图片嵌入
此外,PDF上没有对您意味着什么的读取保护,并且该PDF上也没有附带加密的用户或所有者密码,如下命令所示:
$ pdfimages -list ticket.pdf
page num type width height color comp bpc enc interp object ID x-ppi y-ppi size ratio
--------------------------------------------------------------------------------------------
1 0 image 642 462 index 1 8 image no 38 0 151 151 107K 37%
2 1 image 642 462 index 1 8 image no 38 0 151 151 107K 37%
$ pdfinfo ticket.pdf
Title: TicketFast
Author: Ticketmaster
Creator: TCT 4.4.4
Producer: PDFlib+PDI 5.0.4 (C++/Linux)
CreationDate: Wed May 5 18:21:29 2010
ModDate: Thu Apr 30 16:02:21 2015
Tagged: no
UserProperties: no
Suspects: no
Form: none
JavaScript: no
Pages: 2
Encrypted: no
Page size: 595.275 x 841.89 pts (A4)
Page rot: 0
File size: 364994 bytes
Optimized: no
PDF version: 1.4
如果PDF上设置了密码/加密,它将报告密码/加密,并显示加密的行:是
关于PDF保护的一些评论
[…]读保护应该只是PDF文档中的一个标志[…]
首先,没有读保护这样的东西。你可能是说密码保护
第二,如果PDF受密码保护,它也会被加密。有两个密码:
更改文档的安全/密码/加密状态所需的所有者密码。
打开和查看文档所需的用户密码。
但是,用户密码为空的情况非常常见。所有PDF阅读器都知道这一点,他们会首先尝试使用空用户密码。如果有效,他们将解密并打开PDF。用户密码为空的PDF仍可通过限制复制、粘贴、打印、修改等方式进行保护。要更改该状态,您需要知道所有者密码…如果您不是说其密码受保护,我不知道您所说的“读取受保护”是什么意思。如果其密码受保护,则内容肯定是加密的。如果不提供密码,就不能设置PDF文件的权限,所以我有点困惑。但是,如果您可以提取文本,就没有理由不能提取其他内容。