pdf文件内容用哈希映射替换文本键值

时间:2016-02-12 09:09:53

标签: java pdf pdf-generation

我有一个PDF文件(例如:Hello.pdf),我需要对此PDF做的是读取文件并获取文本内容并用HashMap值替换文本(如果在Text中找到键) 例如: - 如果PDF内容文本是(我的名字是[姓名])      和 hashMap "名称":" Vikrant" 然后将其覆盖为       "我的名字是Vikrant" 并将其写入PDF。     我试过了iTextPDF Jar,但仍然没有得到任何合理的解决方案。      / *示例受到" iText在行动中的启发" (2006年),第2章* /

        PdfReader reader = new PdfReader("D:/HelloWorld.pdf"); // input PDF
        PdfStamper stamper = new PdfStamper(reader,
          new FileOutputStream("D:/Bubi_modified.pdf")); // output PDF
        BaseFont bf = BaseFont.createFont(
                BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.NOT_EMBEDDED); // set font

        //loop on pages (1-based)
        for (int i=1; i<=reader.getNumberOfPages(); i++){

            // get object for writing over the existing content;
            // you can also use getUnderContent for writing in the bottom layer
            PdfContentByte over = stamper.getOverContent(i);
            // write text
            over.beginText();
            over.setFontAndSize(bf, 10);    // set font and size
            over.setTextMatrix(107, 740);   // set x,y position (0,0 is at the bottom left)
            over.showText("I can write at page " + i);  // set text
            over.endText();

            // draw a red circle
            over.setRGBColorStroke(0xFF, 0x00, 0x00);
            over.setLineWidth(5f);
            over.ellipse(250, 450, 350, 550);
            over.stroke();
        }

        stamper.close();

    }

我已经尝试了PDFStamper(iTextPDF.jar)但是这个类可以将内容放到pdf中而不是编辑早期的文本或图像。

0 个答案:

没有答案