如何以编程方式从PDF文档中删除特定图像?

时间:2012-08-17 23:13:19

标签: java pdf

是否可以从PDF文档中删除特定的图像?

我在网上发现了一些文章,讨论从PDF中删除/替换所有图像,甚至删除PDF第一页上的第一张图像。但到目前为止,我还没有找到任何以目标方式删除特定图像的示例。

我不熟悉PDF操作 - 有没有办法命名/标记/识别PDF中嵌入的特定图像对象?如果是这样,似乎我们可以使用此标识符以某种方式找到图像。

我正在使用Java。我找到了几个用于PDF操作的库,每个库都略有不同。在这种情况下使用一个好库的任何建议都会很棒。

1 个答案:

答案 0 :(得分:0)

如果您想要隐藏/关闭/删除图像的生活中的单个PDF文档,您可以用手指完全在文档正文中进行操作。在文本编辑器中打开它,找到页面,查找页面内容,资源,并更改宽度和高度参数:

17 0 obj
<< /ProcSet [ /PDF /ImageB /ImageC /ImageI ] /ColorSpace << /Cs1 7 0 R >>
/ExtGState << /Gs1 11 0 R >> /XObject << /Im1 18 0 R >> >>
endobj
18 0 obj
<< /Length 19 0 R /Type /XObject /Subtype /Image /Width 886 /Height 717 /Interpolate
true /ColorSpace 20 0 R /Intent /Perceptual /SMask 21 0 R /BitsPerComponent
8 /Filter /FlateDecode >>
stream
xÏΩ T◊∂>æYÔ∑^c¢ôníóó˜ø◊17ä‚ê®h¢WÅDççF„’DLà(TúMçÇI�p�IïA2(¢B3è"≥}# ˆµªˇ_’È™ÆÆ:

在您拥有的任何十六进制编辑器中使用/Width 886 /Height 717更改/Width 000 /Height 000,图片将消失。

重要! 严格计算PDF文件结构偏移量,因此,重要的是使用与原始数字相同的零数量。

如果您计划对大量文件执行相同的操作,我无法帮助您,抱歉!