Java实现HTML代码生成PDF文档

1、IText实现html2pdf,速度快,纠错能力差,支持中文(要求HTML使用unicode编码),但中支持一种中文字体,开源。

 

2、Flying Sauser实现html2pdf,纠错能力差,支持多种中文字体(部分样式不能识别),开源。

 

3、PD4ML实现html2pdf,速度快,纠错能力强,支持多种中文字体,商业。

 

 

(一)IText

         官网:http://www.itextpdf.com/

         测试案例:TestIText.java

         依赖jar包:iText-2.0.8.jar、iTextAsian.jar(支持中文)

         下面只是一个小的测试案例,如果项目中使用到了该组件可以参考API完成项目组中相应的功能!

         

 

 (二)Flying Sauser

         项目主页:https://xhtmlrenderer.dev.java.net/

         依赖jar包:iText-2.0.8.jar、iTextAsian.jar、core-renderer.jar

         默认情况下,core-renderer.jar对中文是不能进行换行的,如果想解决换行问题可以去http://bettereveryday.javaeye.com/blog/611561下载一个jar包,该包对源代码做了稍加修改.

        下面只是一个小的测试案例,如果项目中使用到了该组件可以参考API完成项目组中相应的功能!

        

        

 

         http://bettereveryday.javaeye.com/blog/611561

 

         参考资料:http://yongboy.javaeye.com/blog/510976

                        http://www.51itsns.com/sns/space.php?uid=4&do=blog&id=582

       

         关于Flying Sauser的一篇非常不错的文章:http://today.java.net/pub/a/today/2007/06/26/generating-pdfs-with-flying-saucer-and-itext.html

 

(三)PD4ML

        官网下载:http://pd4ml.com/downloads.htm

        依赖jar包:pd4ml_demo.jar、pd4ml__css2.jar、fonts.jar

       下面只是一个小的测试案例,如果项目中使用到了该组件可以参考API完成项目组中相应的功能!

      

 

      参考资料:

       http://www.pd4ml.com/examples.htm

       http://www.pd4ml.com/api/index.html

       http://pd4ml.com/reference.htm#7.1

       http://pd4ml.com/support/html-pdf-faq-f1/double-byte-support-t195.html

       http://pd4ml.com/support/pd4ml-html-css-pdf-tips-tricks-f7/ttf-embedding-t42.html

 

      生成PDF文档的方案大致就这些了,希望能够给大家带来帮助!如果上面的三种方案都还不能满足项目组的需求哪就只有去买商业软件了。

  • 1
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 19
    评论
你可以使用Java中的第三方库来实现通过HTML样本生成PDF文件。一个常用的库是iText,它提供了丰富的功能来创建和处理PDF文件。 下面是一个简单的示例代码,演示如何使用iText库将HTML样本转换为PDF文件: ```java import com.itextpdf.html2pdf.ConverterProperties; import com.itextpdf.html2pdf.HtmlConverter; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; public class HtmlToPdfConverter { public static void main(String[] args) { try { // 读取HTML文件 File htmlFile = new File("input.html"); FileInputStream htmlInput = new FileInputStream(htmlFile); // 创建输出PDF文件 File pdfFile = new File("output.pdf"); FileOutputStream pdfOutput = new FileOutputStream(pdfFile); // 设置转换属性 ConverterProperties converterProperties = new ConverterProperties(); // 将HTML转换为PDF HtmlConverter.convertToPdf(htmlInput, pdfOutput, converterProperties); // 关闭流 htmlInput.close(); pdfOutput.close(); System.out.println("PDF生成成功!"); } catch (IOException e) { e.printStackTrace(); } } } ``` 在上述代码中,你需要将输入的HTML样本保存在名为“input.html”的文件中。然后,使用`HtmlConverter.convertToPdf()`方法将HTML文件转换为PDF文件,并将输出保存在名为“output.pdf”的文件中。 请确保在运行此代码之前,已经添加了iText库的依赖。你可以通过Maven或Gradle等构建工具来添加依赖。 希望这个示例对你有帮助!如果你有其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值