实用!用Java创建PDF

是否需要使用Java制作一些PDF?如果你不熟悉iText库,今天给大家分享的优锐课学习笔记就带大家看到这段开源软件生成PDF。

在某些基于Java的应用程序中,需要创建PDF,因为PDF由于其只读和与平台无关的属性而成为最受欢迎的文档类型之一。iText是一个开放源代码库,可帮助你在应用程序中集成PDF功能(创建/操作)。

iText具有作为Document对象的类,这些类基本上是主要容器,而其他类驻留在其中。段落是一种可以写入Document对象的内容类型。其他内容类型是Anchor, Chapter, Phrase, PdfpTable, Section, List等。这些类有助于创建PDF文档。

让我们看一下工作示例。

必需的JAR: itextpdf-5.1.0.jar

DataObject.java:

package com.test.pdf;
public class DataObject {
   
    private String year;
    private String income;
    private String comanyName;
    public String getYear() {
   
        return year;
    }
    public void setYear(String year) {
   
        this.year = year;
    }
    public String getIncome() {
   
        return income;
    }
    public void setIncome(String income) {
   
        this.income = income;
    }
    public String getComanyName() {
   
        return comanyName;
    }
    public void setComanyName(String comanyName) {
   
        this.comanyName = comanyName;
    }
}

HeaderFooter.java:

package com.test.pdf;
import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Element;
import com.itextpdf.text.ExceptionConverter;
import com.itextpdf.text.Phrase;
import com.itextpdf.text.Rectangle;
import com.itextpdf.text.pdf.ColumnText;
import com.itextpdf.text.pdf.PdfPTable;
import com.itextpdf.text.pdf.PdfPageEventHelper;
import com.itextpdf.text.pdf.PdfTemplate;
import com.itextpdf.text.pdf.PdfWriter;
class HeaderFooter extends PdfPageEventHelper {
   
    /** The header/footer text. */
    String header;
    /** The template with the total number of pages. */
    PdfTemplate total;
    /**
     * Allows us to change the content of the header.
     * @param header The new header String
     */
    public void setHeader(String header) {
   
        this.header = header;
    }
    /**
     * Creates the PdfTemplate that will hold the total number of pages
     */
    public void onOpenDocument(PdfWriter writer, Document document) {
   
        total = writer.getDirectContent().createTemplate(25, 16);
    }
    /**
     * Adds a header to every page
     */
    public void onEndPage(PdfWriter writer, Document document) {
   
        PdfPTable table = new PdfPTable(2);
        try {
   
            table.setWidths(new int[]{
   200, 30});
            table.setLockedWidth(true);
            table.getDefaultCell().setBorder(Rectangle.SUBJECT);
            table.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值