我正在尝试从PDF中提取图像,PDF是受保护的。
对于普通的PDF,波普尔图书馆可以很好地提取图像,而从受阅读保护的PDF中也可以很好地提取文本。然而,这些图片却是另一个故事。它既不提取所有图像,也不以模糊的灰色或黑色提取所有图像。
在下面的PDF (原始PDF在这里)中,您可以在下面的缩略图中看到很多图像:

我尝试了来自pdfimages的波普尔图书馆命令
$ pdfimages -j ticket.pdf i和来自木偶的木偶命令
$ pdftohtml -nodrm ticket.pdf但这两张照片都只提取了其中的一幅。但是,该图像被正确提取。从其他PDF,我得到所有的图像,但他们都是灰色或黑色。
因为据推测,读保护只是PDF文档中的一个标志,而不是源的实际置乱或加密(最终,您的计算机可以在不输入密码的情况下显示图像),因此应该可以单独提取图像。我甚至可以使用ImageMagick (convert ticket.pdf ticket.jpg)从整个PDF中创建一个缩略图,那么为什么不使用单独的图像呢?
有人知道我如何从受阅读保护的PDF中提取所有图像吗?欢迎所有小费!
发布于 2015-04-30 18:32:19
并不是所有看起来像图像的东西都是,也是图像。
例如,左上角的红-蓝-黄-绿标志带有black+white“票证服务”文本:它是一系列矢量图形(每个红色、蓝色、黄色和绿色补丁都是一个单独的对象,文本也是如此)。
下面的命令列出了唯一的“真实”(光栅)图像:
$ 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%这两幅(列出的)图像都是由相同的PDF对象表示的,该对象具有数字/生成的38 0 (因此,是,只有一个图像嵌入在中)。
仅仅因为页面是彩色的并不意味着有很多图像嵌入!
此外,PDF上没有“读取保护”(无论对您意味着什么),也没有(用户或所有者)密码与该PDF上的伴随加密,如以下命令所示:
$ 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如果在上设置了密码/加密,它会用Encrypted: yes行进行报告。
关于PDF保护的几点意见
“.阅读保护应该只是PDF文档中的一个标志.”
首先,没有所谓的“阅读保护”。你的意思可能是“密码保护”。
第二,如果的密码受到保护,它也是加密的。有两个密码:
但是,在用户密码“空”的情况下(很常见)。所有PDF阅读器都知道这一点,他们首先尝试使用空用户“密码”。如果成功的话,他们就去地下室打开PDF。使用空用户密码的PDF仍然可以通过限制复制‘n’粘贴、打印、修改等来保护。要更改状态,您需要知道所有者密码.
https://stackoverflow.com/questions/29972756
复制相似问题