注意:1.itextpdf的版本为7.0.5(7.1.4的版本过高,用本示例会报错(比如7.0.5是这个包是com.itextpdf.kernel.color.Color,在7.1.4会升级为com.itextpdf.kernel.colors.Color); 7.0.0的版本低, 也会报错。)
2.jdk要在1.7及以上
3.maven版本也不要太低了(推荐3.3)
4.本文根据官方例子(https://itextpdf.com/en/resources/examples/itext-7/page-events-watermarking)改编,支持文字中文
package com.test; import java.io.File; import com.itextpdf.kernel.events.PdfDocumentEvent; 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.List; import com.itextpdf.layout.element.ListItem; import com.itextpdf.layout.property.ListNumberingType; /** * pdf List 有序列表 * @author 鲲鹏展翅 * @date 2019年1月22日 下午3:08:14 * @desc */ public class Pdf { public static final String DEST = "E:\\bbb\\有序列表.pdf"; public static PdfFont watermark = null; public static void main(String[] args) throws Exception { watermark = PdfFontFactory.createFont("STSongStd-Light", "UniGB-UCS2-H", false);//解决中文不显示 // itext7需要jdk7及以上 jdk6就用itext5 File dest = new File(DEST); dest.getParentFile().mkdirs(); createPdf(DEST); } public static void createPdf(String dest) throws Exception { PdfDocument pdf = new PdfDocument(new PdfWriter(dest)); pdf.addEventHandler(PdfDocumentEvent.END_PAGE, new MyEventHandler()); Document document = new Document(pdf); List list = new List().setSymbolIndent(9) .setListSymbol(ListNumberingType.DECIMAL)//有序列表 //.setListSymbol("\u2022")//自定义无序列表 .setFont(watermark); list.add(new ListItem("第一条。")) .add(new ListItem("第二条。")); document.add(list); document.close(); } }
原文地址:https://www.cnblogs.com/zjk1/p/10304028.html
时间: 2024-11-09 05:16:23