H 所有,
我正在使用 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
[...]
}
将该方法应用于 PdfReader
之后,您显然必须保存更改,例如通过 PdfStamper.
关于java - iText 编辑或删除 PDF 上的图层,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17687663/