您的位置:首页 > 其它

Itext根据模板生成pdf文件并导出

2018-02-23 17:31 609 查看
[align=left]/* requires itextpdf-5.1.2.jar or similar */[/align][align=left]import java.io.*;[/align][align=left]import com.itextpdf.text.DocumentException;[/align][align=left]import com.itextpdf.text.pdf.*;[/align][align=left] [/align][align=left]public class AddContentToPDF {[/align][align=left] [/align][align=left]    public static void main(String[] args) throws IOException, DocumentException {[/align][align=left] [/align][align=left]        /* example inspired from "iText in action" (2006), chapter 2 */[/align][align=left] [/align][align=left]        PdfReader reader = new PdfReader("C:/temp/Bubi.pdf"); // input PDF[/align][align=left]        PdfStamper stamper = new PdfStamper(reader,[/align][align=left]          new FileOutputStream("C:/temp/Bubi_modified.pdf")); // output PDF[/align][align=left]        BaseFont bf = BaseFont.createFont([/align]                BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.NOT_EMBEDDED); // set font[align=left] [/align][align=left]        //loop on pages (1-based)[/align][align=left]        for (int i=1; i<=reader.getNumberOfPages(); i++){[/align][align=left] [/align][align=left]            // get object for writing over the existing content;[/align][align=left]            // you can also use getUnderContent for writing in the bottom layer[/align][align=left]            PdfContentByte over = stamper.getOverContent(i);[/align][align=left] [/align][align=left]            // write text[/align][align=left]            over.beginText();[/align][align=left]            over.setFontAndSize(bf, 10);    // set font and size[/align][align=left]            over.setTextMatrix(107, 740);   // set x,y position (0,0 is at the bottom left)[/align][align=left]            over.showText("I can write at page " + i);  // set text[/align][align=left]            over.endText();[/align][align=left] [/align][align=left]            // draw a red circle[/align][align=left]            over.setRGBColorStroke(0xFF, 0x00, 0x00);[/align][align=left]            over.setLineWidth(5f);[/align][align=left]            over.ellipse(250, 450, 350, 550);[/align][align=left]            over.stroke();[/align][align=left]        }[/align][align=left] [/align][align=left]        stamper.close();[/align][align=left] [/align][align=left]    }[/align][align=left]}[/align]
还有另外一种使用Adobe Acrobat pro软件自行制作pdf生成表单来动态生成pdf文件的方法博文链接:http://blog.csdn.net/top__one/article/details/65442390
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: