大厅,
我正在使用 IText 在 PDF 上添加文本层。现在我想编辑 PDF 上的现有图层,图层也仅由 IText 创建。似乎 IText 没有这样的方法来支持。
我想到的其他方法是删除现有图层并在其位置放置新图层。似乎 IText 也不支持删除。有什么办法做到这些吗?
提前致谢。
正如评论中所证明的那样,有问题的图层实际上是 iText 所谓的图层,但实际上在 PDF 术语中称为可选内容组。
在 iText Xtra 包中确实有一个用于删除此类层的实用程序类(不是 extrajars,而是 itext-xtra.jar):com.itextpdf.text.pdf.ocg.OCGRemover
它使用OCGParser
同一包中的类。
/**
* Class that knows how to remove OCG layers.
*/
public class OCGRemover
{
/**
* Removes layers from a PDF document
* @param reader a PdfReader containing a PDF document
* @param layers a sequence of names of OCG layers
* @throws IOException
*/
public void removeLayers(PdfReader reader, String... layers) throws IOException
[...]
}
在将该方法应用于 a 之后,PdfReader
您显然必须保存更改,例如通过 aPdfStamper.