21xrx.com
2025-04-03 02:48:24 Thursday
文章检索 我的文章 写文章
Java生成PDF文档:从入门到实践
2023-06-17 08:52:50 深夜i     --     --
Java PDF iText PDFBox JasperReports

在日常开发中,我们常常需要生成PDF文档,比如生成报表、合同等文件。而Java作为一种广泛使用的编程语言,也提供了多种生成PDF文档的方式。本文将从入门到实践,为你介绍Java生成PDF文档的方法。

使用iText生成PDF文档

iText是一个开源的Java PDF库,它提供了多种生成PDF文档的方式,比如使用模板、代码生成等。下面是使用iText代码生成PDF文档的示例:

// 创建PDF文档对象
Document document = new Document();
// 创建PDF写入器
PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("test.pdf"));
document.open();
// 设置字体
BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);
// 添加段落
Paragraph paragraph = new Paragraph("Hello, World!", new Font(bf, 12));
document.add(paragraph);
// 关闭文档
document.close();

使用PDFBox生成PDF文档

PDFBox是一个Apache开源的Java库,它提供了创建、修改和提取PDF文档内容的功能。下面是使用PDFBox代码生成PDF文档的示例:

// 创建PDF文档对象
PDDocument document = new PDDocument();
// 添加页面
PDPage page = new PDPage();
document.addPage(page);
// 创建字体
PDFont font = PDType1Font.HELVETICA_BOLD;
// 创建内容
PDPageContentStream content = new PDPageContentStream(document, page);
content.beginText();
content.setFont(font, 12);
content.newLineAtOffset(100, 700);
content.showText("Hello, World!");
content.endText();
content.close();
// 保存PDF文档
document.save("test.pdf");
document.close();

使用JasperReports生成PDF文档

JasperReports是一个开源的Java报表库,它提供了多种报表输出格式,包括PDF、Excel、HTML等。下面是使用JasperReports生成PDF文档的示例:

// 编译JasperReports模板
JasperReport jasperReport = JasperCompileManager.compileReport("test.jrxml");
// 填充JasperReports模板
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, null, new JREmptyDataSource());
// 导出JasperReports文档
JRPdfExporter exporter = new JRPdfExporter();
exporter.setExporterInput(new SimpleExporterInput(jasperPrint));
exporter.setExporterOutput(new SimpleOutputStreamExporterOutput("test.pdf"));
SimplePdfExporterConfiguration configuration = new SimplePdfExporterConfiguration();
exporter.setConfiguration(configuration);
exporter.exportReport();

  
  

评论区