我正在使用iTextSharp为现有的PDF格式文档添加水印。我读了它们,创建了一个PdfTemplate对象,将水印文本,颜色,透明度等添加到这个PdfTemplate中,然后将模板添加到我使用PdfWriter.DirectContent获得的PdfContentByte。
这个解决方案已经为我投入的所有文档工作了一段时间,但由于某些原因,一些特定的PDF已经在水印文本周围打印出一个不透明的矩形。
我已经尝试了很多东西,包括将PdfGState的OverPrintMode设置为1,在创建后打开生成的文件,然后在保存新副本之前使用PdfStamper的setFormFlattening和setFreeTextFlattening ......到目前为止没有任何工作。< / p>
问题是我不关心展平表单字段或按钮,我只是想在生成整个文件后展平文档的所有图层。 iText API甚至可以实现这一点吗?
答案 0 :(得分:0)
好吧,自从我很久以前解决这个问题后回来关闭这个:
问题是有问题的pdf非常陈旧(PDF标准的v1.3)并且不支持作为水印元素一部分的透明度。
我通过将虚拟打印机的旧PDF打印到临时文件,然后继续处理该文件(现在是PDF标准的新版本)来解决这个问题。