IText edit or remove the layer on PDF

孤街醉人 提交于 2019-11-26 11:35:57

问题


H All,

I am Using IText for adding text layers on PDF. Now i want to edit the existing layers on the PDF, layers are also created by IText only. Seems IText dont have such methods to suppport.

I thought of other way around is remove existing Layer and place new layer on its place. Seems remove also not supported by IText. Any way todo these?

Thanks in adavance.


回答1:


As it turned out in comments, the layers in question are what iText indeed calls layers but what actually in PDF lingo is called optional content groups.

There indeed is a utility class for removing such layers in the iText Xtra package (not the extrajars, but itext-xtra.jar): com.itextpdf.text.pdf.ocg.OCGRemover which makes use of the class OCGParser in the same package.

/**
 * 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
    [...]
}

After applying that method to a PdfReader you obviously have to save the changes, e.g. by means of a PdfStamper.



来源:https://stackoverflow.com/questions/17687663/itext-edit-or-remove-the-layer-on-pdf

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!