java html 转pdf 中文可显示
博客专区 > lostelk 的博客 > 博客详情
java html 转pdf 中文可显示
lostelk 发表于7个月前
java html 转pdf 中文可显示
  • 发表于 7个月前
  • 阅读 1065
  • 收藏 1
  • 点赞 1
  • 评论 0

腾讯云 新注册用户 域名抢购1元起>>>   

摘要: 最近正好项目有用到 ITEXT ,在网络上搜索了一番,发现了很多方案,但是都是显示中文有问题,本文提供一种最便捷的方式来实现,不需要任何额外 JAR 包。

引用一句另外一个人提出解决方式的一句话

一段可运行的代码比说很多废话强得多

 

找了非常多的方法就是不显示中文,终于在贴吧一位兄弟提醒了我.

最重要的一点是 html 一定要设置字体

<body style = "font-family: SimSun;" > 

对html的规范要求极高,例如:页面中<mate></mate>必须闭合,必须: <br />

ITEXT 的功能和简介这里就不多说了,直接带大家做一遍:

这四个包

package com.uitl;

 

import java.io.File;

import java.io.FileOutputStream;

import java.io.OutputStream;

import org.xhtmlrenderer.pdf.ITextFontResolver;

import org.xhtmlrenderer.pdf.ITextRenderer;

import com.lowagie.text.pdf.BaseFont;

 

/**

 * 

 * @author 赖兴隆

 */

public class htmlToPdf {

 

public static void main(String[] args) throws Exception {

    htmlToPdf("/Users/max/Documents/workspace/temp/w3.pdf","/Users/max/Documents/workspace/temp/w.html");

}

 

public static boolean htmlToPdf(String outputFile, String url)throws Exception {

File outFile = new File(outputFile);

if (!outFile.exists()) {

outFile.getParentFile().mkdirs();

}

OutputStream os = new FileOutputStream(outputFile);

ITextRenderer renderer = new ITextRenderer();

renderer.setDocument(url);

ITextFontResolver fontResolver = renderer.getFontResolver();

fontResolver.addFont("SIMSUN.TTC", BaseFont.IDENTITY_H,BaseFont.NOT_EMBEDDED);

renderer.layout();

renderer.createPDF(os);

os.flush();

os.close();

return true;

}

}

希望能帮到大家

标签: html 转pdf
共有 人打赏支持
粉丝 0
博文 1
码字总数 298
×
lostelk
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: