java word在线预览_java 生成word文档并且在线预览的问题

本文介绍如何使用iText和PD4ML库将富文本转换为PDF,以实现Java生成Word文档并在Web环境中进行在线预览。示例代码展示了如何设置字体、样式,并将HTML内容转换为PDF。
摘要由CSDN通过智能技术生成

富文本?

用iText或者PD4ML直接转换为pdf

[code="java"]

String outputFile = "D:/Test/demo_3.pdf";

OutputStream os = new FileOutputStream(outputFile);

ITextRenderer renderer = new ITextRenderer();

ITextFontResolver fontResolver = renderer.getFontResolver();

fontResolver.addFont("C:/Windows/fonts/simsun.ttc", BaseFont.IDENTITY_H,BaseFont.NOT_EMBEDDED);

StringBuffer html = new StringBuffer();

// DOCTYPE 必需写否则类似于 这样的字符解析会出现错误

html.append(""-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">");

html.append("").

append("

")

.append("")

.append("body {font-family: SimSun;}")

.append("")

.append("");

//html.append("

支持中文!

");

String str = htmlStream();

html.append(str);

html.append("");

System.out.println(html.toString());

renderer.setDocumentFromString(html.toString());

renderer.getSharedContext().setBaseURL("file:/E:/workspace/yjsas/WebRoot/images/");

renderer.layout();

renderer.createPDF(os);

os.close();

[/code]

[code="java"]

PD4ML pd4ml = new PD4ML();

pd4ml.setHtmlWidth(1024);

pd4ml.setPageSize(PD4Constants.A4);

pd4ml.setPageInsetsMM(new Insets(20, 10, 10, 10));

pd4ml.addStyle("BODY {margin: 0; font-family:MSJH}", true);

pd4ml.useTTF("java:fonts", true);

pd4ml.setDefaultTTFs("KaiTi_GB2312", "KaiTi_GB2312", "KaiTi_GB2312");

ByteArrayOutputStream baos = new ByteArrayOutputStream();

pd4ml.render(new StringReader(inputHTML), baos);

baos.close();

File output = new File(outputPDFFile);

FileOutputStream fos = new FileOutputStream(output);

fos.write(baos.toByteArray());

fos.close();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值