JAVA 生成一个表格的 PDF文件

该Java实例展示了如何利用iText库创建一个带有表格、页头和页脚的PDF文件。程序定义了表格的结构,包括表头和内容,并添加了一个水印和自定义的页眉页脚。
摘要由CSDN通过智能技术生成

import com.lowagie.text.*;
import com.lowagie.text.pdf.*;
import java.io.*;
import java.util.*;
import java.awt.Color;

/**
 * <p>Title: 生成PDF文件</p>
 * <p>Description: 本实例通过使用iText包生成一个表格的PDF文件</p>
 * <p>Copyright: Copyright (c) 2003</p>
 * <p>Filename: myPDF.java</p>
 * @author 杜江
 * @version 1.0
 */
public class myPDF{
/**
 *<br>方法说明:写PDF文件
 *<br>输入参数:
 *<br>返回类型:
 */
  public void write(){
   try{
     Document document=new Document(PageSize.A4, 50, 50, 100, 50);
     Rectangle pageRect=document.getPageSize();
     PdfWriter.getInstance(document, new FileOutputStream("tables.pdf"));
     //创建汉字字体
     BaseFont bfSong = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", false);

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以使用 iText 或者 Apache PDFBox 等 JavaPDF 库来生成包含图表和表格PDF 文件。 iText 是一个广泛使用的 Java PDF 库,支持文本、表格、图像、图表等多种元素。你可以使用 iText 中的 PdfPTable 类来生成表格,使用 ChartFactory.createXXXChart() 等方法生成图表,然后将它们添加到 PDF 中。 以下是使用 iText 生成包含表格和图表的 PDF 的示例代码: ```java Document document = new Document(); PdfWriter.getInstance(document, new FileOutputStream("output.pdf")); document.open(); // 添加表格 PdfPTable table = new PdfPTable(3); table.addCell("Header 1"); table.addCell("Header 2"); table.addCell("Header 3"); table.addCell("1.1"); table.addCell("1.2"); table.addCell("1.3"); table.addCell("2.1"); table.addCell("2.2"); table.addCell("2.3"); document.add(table); // 添加图表 JFreeChart chart = ChartFactory.createBarChart( "Chart Title", "X Axis", "Y Axis", dataset, PlotOrientation.VERTICAL, true, true, false ); PdfContentByte contentByte = writer.getDirectContent(); PdfTemplate template = contentByte.createTemplate(400, 300); Graphics2D graphics2D = template.createGraphics(400, 300, new DefaultFontMapper()); Rectangle2D rectangle2D = new Rectangle2D.Double(0, 0, 400, 300); chart.draw(graphics2D, rectangle2D); graphics2D.dispose(); contentByte.addTemplate(template, 0, 0); document.newPage(); document.close(); ``` Apache PDFBox 是另一个 Java PDF 库,它也支持多种元素的生成。你可以使用 PDFBox 中的 PDPageContentStream 类来添加表格和图表。 以下是使用 PDFBox 生成包含表格和图表的 PDF 的示例代码: ```java PDDocument document = new PDDocument(); PDPage page = new PDPage(); document.addPage(page); // 添加表格 PDPageContentStream contentStream = new PDPageContentStream(document, page); PDTable table = new PDTable(); PDPageContentStreamTableDrawer drawer = new PDPageContentStreamTableDrawer(contentStream, table); table.addCell(new PDCell().addParagraph(new PDParagraph("Header 1"))); table.addCell(new PDCell().addParagraph(new PDParagraph("Header 2"))); table.addCell(new PDCell().addParagraph(new PDParagraph("Header 3"))); table.addCell(new PDCell().addParagraph(new PDParagraph("1.1"))); table.addCell(new PDCell().addParagraph(new PDParagraph("1.2"))); table.addCell(new PDCell().addParagraph(new PDParagraph("1.3"))); table.addCell(new PDCell().addParagraph(new PDParagraph("2.1"))); table.addCell(new PDCell().addParagraph(new PDParagraph("2.2"))); table.addCell(new PDCell().addParagraph(new PDParagraph("2.3"))); drawer.drawTable(100, 700, 400, 0); // 添加图表 JFreeChart chart = ChartFactory.createBarChart( "Chart Title", "X Axis", "Y Axis", dataset, PlotOrientation.VERTICAL, true, true, false ); BufferedImage image = chart.createBufferedImage(400, 300); PDImageXObject ximage = LosslessFactory.createFromImage(document, image); contentStream.drawImage(ximage, 100, 400, 400, 300); contentStream.close(); document.save("output.pdf"); document.close(); ``` 这些示例代码仅供参考,具体实现方式还需要根据你的需求进行调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值