关于根据模版生成PDF,不用表单的方式插入的方法

Posted Ahnappi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于根据模版生成PDF,不用表单的方式插入的方法相关的知识,希望对你有一定的参考价值。

用到的主要是itext依赖

<dependency>
 <groupId>com.itextpdf</groupId>
 <artifactId>itext-asian</artifactId>
 <version>5.2.0</version>
</dependency>

<dependency>
 <groupId>com.itextpdf</groupId>
 <artifactId>itextpdf</artifactId>
 <version>5.5.10</version>
</dependency>

<dependency>
 <groupId>com.itextpdf</groupId>
 <artifactId>kernel</artifactId>
 <version>7.1.8</version>
</dependency>

<dependency>
 <groupId>com.itextpdf</groupId>
 <artifactId>layout</artifactId>
 <version>7.1.2</version>
</dependency>

代码


try {
 PdfReader reader = null;
 readr = new PdfReader("模版路径"); 
 
 PdfWriter writer = new PdfWriter("模板输出路径");
 PdfDocument pdfDoc = new PdfDocument(reader, writer);
 Document document = new Document(pdfDoc);
 
 //插入中文必须用到字体格式
 PdfFont f2 = PdfFontFactory.createFont(字体);
 document.add(new Paragraph(插入的数据).setFontSize(“字体大小”).setFont(字体格式).setFixedPosition(位置));
 document.close();
 writer.close();
 reader.close();
}catch (Exception e ){
    e.printStackTrace();
}

后面用到了将PDF转化为Png的代码

如下

public static void pdf2png(String fileAddress, String filename, String type) {
    // 将pdf装图片 并且自定义图片得格式大小
 File file = new File(fileAddress + "/" + filename + ".pdf");
 try {
        PDDocument doc = PDDocument.load(file);
 PDFRenderer renderer = new PDFRenderer(doc);
 int pageCount = doc.getNumberOfPages();
 for (int i = 0; i < pageCount; i++) {
            BufferedImage image = renderer.renderImageWithDPI(i, 144); // Windows native DPI
 // BufferedImage srcImage = resize(image, 240, 240);//产生缩略图 ImageIO.write(image, type, new File(fileAddress + "/"+ filename + "." + type));
 }
    } catch (IOException e) {
        e.printStackTrace();
 }
}

基本上就可以完成非表单的PDF数据插入

以上是关于关于根据模版生成PDF,不用表单的方式插入的方法的主要内容,如果未能解决你的问题,请参考以下文章

POI根据模板导出word文件,以及word转PDF,PDF转图片再插入PDF中(防止PDF被修改)

POI根据模板导出word文件,以及word转PDF,PDF转图片再插入PDF中(防止PDF被修改)

java代码编辑器 pdf文件预览 主流SSM 代码生成器 shrio redis websocke

使用poi根据模版生成word文档,支持插入数据和图片

java代码编辑器 pdf文件预览 主流SSM 代码生成器 shrio redis websocket即时通讯

java代码编辑器 pdf文件预览 主流SSM 代码生成器 shrio redis websocket即时通讯