您的位置:首页 > 编程语言 > Java开发

java 中 pdf 文档生成方法

2017-09-22 14:35 363 查看
本文针对 java 开发过程中经常遇到的一个问题——如何生成 pdf 文档的问题进行讨论,并简单列举了三种方式的优劣,供大家参考讨论。

直接使用 itext jar 包生成

优点:支持所有平台,精准控制各个细节;

缺点:繁琐。


html转为pdf,使用wkhtmltopdf工具

参考链接:http://www.jianshu.com/p/4d65857ffe5e

下载链接:

windows:http://download.csdn.net/download/chenjhit/9990175

linux:http://download.csdn.net/download/chenjhit/9990183

当然,如果英文不错的话,也可以直接访问其官网。

简单示例:wkhtmltopdf i.html o.pdf

优点: 已有html文档的情况下,直接转换十分方便,基本能够保留html的视图样式;能够添加页眉、页脚、页码、水印等;同时还可将html直接转换为图片。

缺点: 在跨页的地方容易出现图形或者表格被分割的情况(可在html中使用style=’page-break-inside:avoid;’)来避免大部分问题,对于特别大的图形或表格(单个大小超过页面大小)的情况,无法避免被分割,针对表格可以将表格的每一行拆分为一个表格,针对图形只能缩小或者事先分为多个小图来避免。

word转为pdf,使用 office

优点:word为常见文档,能直接转换会比较方便,且windows平台下直接使用office工具效果极佳。

缺点:linux平台并没有较好的免费支持,网上有两款比较常用的工具,但效果都不太理想。

libreoffice:合并了单元格的表格转换出来会出现错乱情况;软件很大。

soffice –headless –invisible –convert-to pdf /tmp/abc.docx –outdir /tmp/

pandoc: sudo apt-get install texlive-xetex(需要安装这个支持,比较大),而且转换存在诸多问题(Invalid utf-8 stream==)。

==========================================

疑问?帮助?批评?欢迎评论 | QQ:593159978
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: