java如何生成pdf呢?
下文笔者讲述java代码创建pdf文件的方法分享,如下所示
实现思路:
使用itext7-core.jar包
中的方法,即可创建pdf文件,具体的实现步骤如下所示
---------------------------------------------------------
1.创建PdfWriter,实例化pdf路径
2.创建一个pdf文档,并同Document和PdfWriter关联
3.向文档中添加内容
4.关闭文档
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itext7-core</artifactId>
<version>7.2.0</version>
<type>pom</type>
</dependency>
例:
package com.java265.testmaven;
import com.itextpdf.io.image.ImageDataFactory;
import com.itextpdf.kernel.font.PdfFont;
import com.itextpdf.kernel.font.PdfFontFactory;
import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfWriter;
import com.itextpdf.layout.Document;
import com.itextpdf.layout.element.Image;
import com.itextpdf.layout.element.Paragraph;
import com.itextpdf.layout.element.Table;
/**
* 生成pdf示例分享 java265.com iText生成pdf的示例分享
*/
public class TestBuildPDF {
public static void main(String[] args) throws Exception {
buildPdf1();
buildPdf2();
buildPdf3();
buildPdf4();
}
// 生成pdf
public static void buildPdf1() throws Exception {
PdfWriter pdfWriter = new PdfWriter("D:\\testpdf.pdf");
PdfDocument pdfDocument = new PdfDocument(pdfWriter);
Document document = new Document(pdfDocument);
document.add(new Paragraph("java265.com pdf文件"));
document.close();
System.out.println("生成pdf完毕--1");
}
// 生成带中文字体的pdf
public static void buildPdf2() {
try{
PdfWriter pdfWriter = new PdfWriter("D:\\testpdf中文字体.pdf");
PdfDocument pdfDocument = new PdfDocument(pdfWriter);
// 字体文件可以使用 windows 华文彩云
PdfFont font = PdfFontFactory.createFont("C:\\Windows\\Fonts\\STCAIYUN.TTF");
Document document = new Document(pdfDocument).setFont(font);
document.add(new Paragraph("java265.com中文信息--23efrerf \n \r \r 奥特曼!"));
document.close();
}catch(Exception e){
e.printStackTrace();
}
System.out.println("生成pdf完毕--2");
}
// 生成带表格的pdf
private static void buildPdf3() {
try {
PdfWriter pdfWriter = new PdfWriter("D:\\testpdf表格.pdf");
PdfDocument pdfDocument = new PdfDocument(pdfWriter);
PdfFont font = PdfFontFactory.createFont("C:\\Windows\\Fonts\\STCAIYUN.TTF");
Document document = new Document(pdfDocument).setFont(font);
Table table = new Table(4);
table.setWidth(500);
table.addHeaderCell("表头 1").addHeaderCell("表头 2").addHeaderCell("表头3").addHeaderCell("表头 4");
for (int i = 0; i < 160; i++) {
table.addCell("cell " + i);
}
document.add(table);
document.close();
} catch (Exception e) {
e.printStackTrace();
}
System.out.println("生成pdf完毕--3");
}
// pdf中插入图片
public static void buildPdf4() {
try{
PdfWriter pdfWriter = new PdfWriter("D:\\testpdf图片.pdf");
PdfDocument pdfDocument = new PdfDocument(pdfWriter);
PdfFont font = PdfFontFactory.createFont("C:\\Windows\\Fonts\\STCAIYUN.TTF");
Document document = new Document(pdfDocument).setFont(font);
Image img = new Image(ImageDataFactory.create("http://www.java265.com/images/javalogo.jpg"));
img.setHeight((float) 50.0);
img.setWidth((float) 50.0);
document.add(img.setAutoScale(true));
document.close();
}catch(Exception e){
e.printStackTrace();
}
System.out.println("pdf中插入图片完毕!");
}
}
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


