首页 > 程序开发 > 移动开发 > 其他 >

(ITEXT)PDF上空白区域加入数据

2017-04-04

(ITEXT)PDF上空白区域加入数据: 之前项目做pdf数字签名的时候,需要把签名笔记的轨迹添加到pdf中,然而又不能影响pdf的正常使用。

(ITEXT)PDF上空白区域加入数据: 之前项目做pdf数字签名的时候,需要把签名笔记的轨迹添加到pdf中,然而又不能影响pdf的正常使用,又要能看得到(就是要非常隐蔽)。所以呢,就需要把签名轨迹加到pdf空白域中去。 PDF的其实是有格式的,类似html,都是有标签的,而且标签都是有不同含义的。具体的请参考其他文章。>

先上个效果图:

用UE或者NotePad打开之后的pdf可以看到

看一下实现代码,用ITEXT创建pdf时,
            Document document = new Document();
            PdfWriter writer = PdfWriter.getInstance(document,
                    new FileOutputStream(file));
            document.open();
            document.add(new Header("signTrack", hender));

打开现有的pdf时,实现如下:

    public static void addHead(String pdfpath,String outpath) throws Exception{
        PdfReader reader = new PdfReader(pdfpath);

        PdfStamper stap = new PdfStamper(reader, new FileOutputStream(outpath),"99999999999999");
        Map signInfo = new HashMap();
        signInfo.put("signTrack", "88888888888888");
        stap.setMoreInfo(signInfo);
        stap.close();

    }

前者是当document 执行close时,一个一个的tag添加进去的,后者实现的时候,先把pdf原本的tag添加到一个map中去,再然后添加新的tag,这个stap.close()的时候执行的。想知道更多可以参照IText源码

源码地址:https://github.com/itext/itextpdf。

相关文章
最新文章
热点推荐