itext7 List序号 有序列表 解决中文不显示
Posted zjk1
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了itext7 List序号 有序列表 解决中文不显示相关的知识,希望对你有一定的参考价值。
注意: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(); } }
以上是关于itext7 List序号 有序列表 解决中文不显示的主要内容,如果未能解决你的问题,请参考以下文章