java xmlworker pdf_使用xmlworker通过html生成pdf

本文介绍了如何使用xmlworker库通过HTML生成PDF,并特别强调了xmlworker默认不支持中文的问题,需要修改源码以支持亚洲字体。此外,文章提醒在创建HTML模板时应注意CSS样式限制和标签结构,避免出现字体变形。提供了包含Freemarker模板的Java代码示例,用于生成PDF文件。
摘要由CSDN通过智能技术生成

xmlworker是一个基于iText的xml生成pdf工具。使用xmlworker是非常简单的,思路也很清晰。获取模板->拼装模板->生成pdf。但是在过程中还是有一些小问题需要注意下。

首先中文的问题,xmlworker默认是不支持中文的,需要修改源代码重新打包才能支持亚洲字体(修改详情)。
也可以下载我已经编好的包: 修改com.itextpdf.tool.xml.css.apply.ChunkCssApplier.java 中的 public Chunk apply(final Chunk c, final Tag t) :

Font f = applyFontStyles(t);

// for chinese charater display @www.micmiu.com

if (null != HTMLUtils.bfCN && HTMLUtils.isChinese(c.getContent())) {

f = new Font(HTMLUtils.bfCN, f.getSize(), f.getStyle(),

f.getColor());

}

float size = f.getSize();

......

public static BaseFont bfCN = null;

static {

try {

bfCN = BaseFont.createFont("STSongStd-Light", "UniGB-UCS2-H",

BaseFont.NOT_EMBEDDED);

} catch (Exception e) {

}

}</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值