Apa*_*che 47 windows pdf pdfcreator documents watermark
我以为这将是一项简单的任务,但结果却相反。
每个页面上的水印都是相同(重叠但透明)的图像。我使用 PDFCreator 0.9.8 自己创建了 PDF 文件(所以这里没有版权问题)。
我已经尝试过我朋友的 Adobe Acrobat Pro,但是没有用。它试图删除它,但它不能。我试图删除页眉/页脚等,但水印不会消失。
我怎样才能去除水印?
Den*_*nis 78
对于基于图像的水印,有几种工具可以保证自动删除它们。例如:
所有这些都可以免费试用,但需要许可证才能实际生成所需的输出。
但是,这个特定 PDF 文件(OP 通过电子邮件发送给我)的水印不是在所有页面上重复的单个图像。事实证明,PDFCreator 将其(几乎逐个像素)硬编码到其中的每一个中。这使得水印更难去除(并导致 PDF 文件相当臃肿)。
由于水印实际上是由许多小图像组成,您可以使用 PDF 编辑器(例如Foxit Advanced PDF Editor)删除它们,只需选择它们并按Delete。不幸的是,您必须对每一页重复此操作。
一种耗时较少的解决方案是以编程方式去除水印。我们需要:
下载 Pdftk 并将pdftk.exe和libiconv2.dll 解压缩到%windir%\System32、路径中的目录或您选择的任何其他位置。
下载并安装 Notepad++。
PDF 流通常使用DEFLATE算法进行压缩。这节省了空间,但会使 PDF 的来源难以辨认。
命令
pdftk original.pdf output uncompressed.pdf uncompress
Run Code Online (Sandbox Code Playgroud)
解压缩所有流,因此它们可以被文本编辑器修改。
使用 Notepad++打开uncompressed.pdf以显示水印的结构。
在这种特定情况下,每个页面都以块开头
q 9 0 0 9 2997 4118.67 cm
BI
/CS/RGB
/W 1
/H 1
/BPC 8
ID Ÿ®¼
EI Q
Run Code Online (Sandbox Code Playgroud)
和近 4,000 个区块一样。此特定块仅设置一个 ( /W 1 /H 1
) 水印像素。
向下滚动直到模式更改显示水印的流长度为 95,906 字节(计算换行符)。在 PDF 文件的每一页上都重复完全相同的流。
按Ctrl+H并设置以下内容:
Find: q 9 0 0 9 2997 4118\.67 cm.{95881}
Replace: (blank)
Match case: checked
Wrap around: checked
Regular expression: selected
. matches newline: checked
Run Code Online (Sandbox Code Playgroud)
正则表达式q 9 0 0 9 2997 4118\.67 cm.{95881}
匹配上述块( q 9 0 0 9 2997 4118.67 cm
)的第一行和所有随后的95,881 个字符,即水印的流。
单击全部替换可将其从 PDF 文件的所有页面中删除。
水印现已删除,但 PDF 文件有错误(流的长度不正确)并且未压缩。
命令
pdftk uncompressed.pdf output nowatermark.pdf compress
Run Code Online (Sandbox Code Playgroud)
兼顾两者。
不再需要uncompressed.pdf。你可以删除它。
结果是没有水印的相同 PDF(大约一半大小)。
听起来水印实际上是 .PDF 中图像的一部分,而不是由您用来显示 .PDF 的任何内容渲染的单独图像。如果不从 .PDF 中提取图像,通过图像编辑器运行它们,然后手动重建 .PDF,您可能无法删除水印。
小智 5
对于文本水印,编辑 PostScript 版本会容易得多:
$ pdftops 文档.pdf
编辑 document.ps,然后通过以下方式转换回 PDF
$ ps2pdf 文档.ps
归档时间: |
|
查看次数: |
151441 次 |
最近记录: |