最近的项目中遇到了需求,用户在页面点击下载,将页面以PDF格式下载完成供用户浏览,所以上网找了下实现方案. 在Java世界,要想生成PDF,方案不少,所以简单做一个小结吧. 在此之前,先来勾画一下我心中比较理想的一个解决方案.在企业应用中,碰到的比较多的PDF的需求,可能是针对某个比较典型的具备文档特性的内容,导出成为PDF进行存档.由于我们现在往往使用一些开源框架,诸如ssh来构建我们的应用,所以我们相对熟悉的方案是针对具体的业务逻辑设计实体,使用开源框架来实现我们的业务逻辑.而PDF的导出,…
1.需要的jar包:org.xhtmlrenderer.flying-saucer-pdf-itext5,Maven依赖如下: <dependency> <groupId>org.xhtmlrenderer</groupId> <artifactId>flying-saucer-pdf-itext5</artifactId> <version>9.0.7</version> </dependency> 2.中文…
经历过多少踩坑,翻看过多少类似博客,下载过多少版本的Jar,才能摸索出正确的代码书写方式,才能实现项目经理需求分析书中的功能点. 本文借一次 JavaEE 生成PDF的颠簸的实现过程,描述中小公司程序员的坎坷成长之路. 俺上面只所以将成熟大公司排除在外的原因是,大公司一般都有成熟的产品线和技术积淀. 至少会有完善的建构师团队,有像扫地神僧那样的牛人隐士...... 公司中初级程序员遇到问题,能找到以前实现过的类似功能的代码作为参照,也能咨询技术经理. 小公司是没有这种福分的,就像昨天早晨"生成P…
最近,项目需要将HTML页面转换为PDF文件,所以就研究了下HTML转PDF的解决方案,发现网上比较流行的解决方案有3种: (1)iText (2)Flying Saucer (3)wkhtmltopdf 还有一些收费的,我就没测试过了,前两种对HTML的要求过于严格,而且即使你写标准的HTML(当然这都是理想情况下),他也未必可以完美解析,所以我就选择了(3),wkhtmltopdf基于WebKit渲染引擎将HTML内容转换为HTML页面,之后再转换成PDF,所以其转换后的PDF文件的显示效果…
由于项目需要,把HTML代码转为PDF或者图片进行保存.最开始使用Flying Saucer来把HTML代码生成为PDF文档,功能已经开发出来了,也能够完成转换功能,期间也遇到了中文支持以及图片路径的问题,也解决了,本来以为这样就可以了,但是在测试期间发现有些PDF文档生成的样式有问题,搜索了一下发现,Flying Saucer是比较老的技术,现在也没人搞了,所以对于CSS3.0的支持很不友好. 功能要实现啊,让别人改HTML代码也不现实,那就尝试着别的技术呗.后来想着能生成图片也行,就找了一下…
来源:蛙牛, my.oschina.net/lujianing/blog/894365 如有好文章投稿,请点击 → 这里了解详情 1.背景 在某些业务场景中,需要提供相关的电子凭证,比如网银/支付宝中转账的电子回单,签约的电子合同等.方便用户查看,下载,打印.目前常用的解决方案是,把相关数据信息,生成对应的pdf文件返回给用户. 本文源码:http://git.oschina.net/lujianing/java_pdf_demo 2.iText iText是著名的开放源码的站点sourcefo…
来源:https://my.oschina.net/lujianing/blog/894365 1.背景 在某些业务场景中,需要提供相关的电子凭证,比如网银/支付宝中转账的电子回单,签约的电子合同等.方便用户查看,下载,打印.目前常用的解决方案是,把相关数据信息,生成对应的pdf文件返回给用户. 本文源码:http://git.oschina.net/lujianing/java_pdf_demo 2.iText iText是著名的开放源码的站点sourceforge一个项目,是用于生成PDF文…
尝试一 (现用框架的基础上改动,影响最小化) 最早使用的框架 Xhtmlrenderer,需要把HTML转换成XHTML,引入第二个框架Tidy,Tidy与2010年停止更新,github上的项目也停留在2011年,它对SVG等HTML5标签不在支持 找到源码,做了修改,让Tidy支持了SVG标签,又遇到了两一个问题,Xhtmlrenderer 不识别SVG标签,终止. 尝试二 (SVG转PDF上入手) 从SVG转PDF入手 apache的batik框架支持满足需求,但是它并没有提供HTML转P…
需求分析 项目中用到了 Echarts,想要把图文混排,当然包括 echarts 生成的 Canvas 图也导出 PDF. 设计和实现时,分析了 POI.iText.freemaker.world 的 xml 模版.Jquery-printArea.js.JQuery Plugin-TableExport.flying saucer 等等技术组合,不尽人意.甚至因为 echarts 不支持后端调用导出图片(没有简单易行的办法),一度考虑要在导出时用 JfreeCharts 重新画一遍图表.一是不…
pdf: “ 目前开源.成熟.稳定的第三方包只有iText.而用iText生成PDF有三种方式: 调用iText API,用代码“写”出PDF,依赖包:com.itextpdf:itextpdf:5.5.11 结合XmlWorker,从HTML模板生成PDF,依赖包:com.itextpdf.tool:xmlworker:5.5.11 结合Flying Saucer,从HTML模板生成PDF,依赖包:org.xhtmlrenderer:flying-saucer-pdf-itext5:9.1.6…
html转换为pdf的关键技术是如何处理网页中复杂的css样式.以及中文乱码处理. 各实现对比表于Windows平台进行测试: 基于IText 基于FlyingSaucer 基于WKHtmlToPdf 基于pd4ml 跨平台性 跨平台 跨平台 跨平台 跨平台 是否安装软件 否 否 需安装WKHtmlToPdf 否 是否收费 免费 免费 免费 收费 转换Html 效率 速度快 未测 速度慢.相比URL来说,效率较慢.能忽略一些html语法或资源是否存在问题. 速度快.部分CSS样式不支持. 效果…
需求:将网页内容导出为pdf文件,其中包含文字,图片,echarts图 原理:利用freemarker模板与数据渲染所得到的html内容,通过ITextRenderer对象解析html内容生成pdf 参考地址: 导出pdf https://my.oschina.net/lujianing/blog/894365 带有图片 https://blog.csdn.net/Feb_kylin/article/details/79105630 使用itext将html生成pdf中文换行问题解决方案 htt…
1.背景 在某些业务场景中,需要提供相关的电子凭证,比如网银/支付宝中转账的电子回单,签约的电子合同等.方便用户查看,下载,打印.目前常用的解决方案是,把相关数据信息,生成对应的pdf文件返回给用户. 本文源码:http://git.oschina.net/lujianing/java_pdf_demo 2.iText iText是著名的开放源码的站点sourceforge一个项目,是用于生成PDF文档的一个java类库.通过iText不仅可以生成PDF或rtf的文档,而且可以将XML.Html…
转载:https://blog.csdn.net/qq_34190023/article/details/82999702 html转换为pdf的关键技术是如何处理网页中复杂的css样式.以及中文乱码处理. 各实现对比表 于Windows平台进行测试: 基于IText 基于FlyingSaucer 基于WKHtmlToPdf 基于pd4ml 跨平台性 跨平台 跨平台 跨平台 跨平台 是否安装软件 否 否 需安装WKHtmlToPdf 否 是否收费 免费 免费 免费 收费 转换Html 效率 速度…
题目链接:https://vjudge.net/problem/LightOJ-1341 1341 - Aladdin and the Flying Carpet    PDF (English) Statistics Forum Time Limit: 3 second(s) Memory Limit: 32 MB It's said that Aladdin had to solve seven mysteries before getting the Magical Lamp which…
http://blog.sina.com.cn/s/blog_a5e968370101crtl.html 1. Jacob是Java-COM Bridge的缩写,它在Java与微软的COM组件之间构建一座桥梁.使用Jacob自带的DLL动态链接库,并通过JNI的方式实现了在Java平台上对COM程序的调用.DLL动态链接库的生成需要windows平台的支持. 2. Apache POI包括一系列的API,它们可以操作基于MicroSoft OLE 2 Compound Document Form…
1.背景 在某些业务场景中,需要提供相关的电子凭证,比如网银/支付宝中转账的电子回单,签约的电子合同等.方便用户查看,下载,打印.目前常用的解决方案是,把相关数据信息,生成对应的pdf文件返回给用户. 本文源码:http://git.oschina.net/lujianing/java_pdf_demo 2.iText iText是著名的开放源码的站点sourceforge一个项目,是用于生成PDF文档的一个java类库.通过iText不仅可以生成PDF或rtf的文档,而且可以将XML.Html…
首先我们看下,别人整理的关于Java生成doc 的 资料. java生成word的几种方案 1. Jacob是Java-COM Bridge的缩写,它在Java与微软的COM组件之间构建一座桥梁.使用Jacob自带的DLL动态链接库,并通过JNI的方式实现了在Java平台上对COM程序的调用.DLL动态链接库的生成需要windows平台的支持. 2. Apache POI包括一系列的API,它们可以操作基于MicroSoft OLE 2 Compound Document Format的各种格式…
使用freemarker生成word.html时图片显示问题 博客分类: Java 使用freemarker生成word时图片显示问题使用freemarker生成html时图片显示问题使用iText生成pdf时图片显示问题  使用freemarker生成word.html时,在图片显示这儿碰了个大钉子,最后总算弄出来了,这里总结一下. 1.生成word: a.使用freemarker生成word文档图片显示需要特殊处理,若是按照常理(使用占位符的形式)替换完成之后显示图片的区域只会出现一堆内容(…
转载自:http://hongqiang.iteye.com/blog/1632998 首先介绍几种java导出word方案 1.Jacob是Java-COM Bridge的缩写,它在Java与微软的COM组件之间构建一座桥梁.使用Jacob自带的DLL动态链接库,并通过JNI的方式实现了在Java平台上对COM程序的调用.DLL动态链接库的生成需要windows平台的支持. 2. Apache POI包括一系列的API,它们可以操作基于MicroSoft OLE 2 Compound Docu…
首先介绍几种java导出word方案 1.Jacob是Java-COM Bridge的缩写,它在Java与微软的COM组件之间构建一座桥梁.使用Jacob自带的DLL动态链接库,并通过JNI的方式实现了在Java平台上对COM程序的调用.DLL动态链接库的生成需要windows平台的支持. 2. Apache POI包括一系列的API,它们可以操作基于MicroSoft OLE 2 Compound Document Format的各种格式文件,可以通过这些API在Java中读写Excel.Wo…
What is an entity system framework for game development? Posted on 19 January 2012 Last week I released Ash, an entity system framework for Actionscript game development, and a number of people have asked me the question “What is an entity system fra…
A. Where do I Turn? 叉积判断. B. Effective Approach 记录位置. C. Flying Saucer Segments 假设有\(n\)个人,那么\(1\)要移动的话,需要先移动前\(n-1\)个人. 有点类似于汉诺塔问题,写出递推式后矩阵+快速幂计算. D. Naughty Stone Piles \(k\)叉树,权值越小的深度越大,每种\(k\)做一次即可. E. Anniversary Fibonacci数列性质\[gcd(F_a, F_b)=F_{…
新博客地址:http://muker.net/django-xhtml2pdf.html 这里仅仅讨论直接利用html生成pdf这种最常见也最简单的情况. 1.要利用html生成带中文的pdf要指定中文字体 即在要用的html中的style标签下要添加如下代码: @font-face { font-family: simsun; src: url({{url}}); } 上面指定了字体和字体路径. 2.生成包含图片的pdf 其实xhtml2pdf是支持图片的,但是很多时候并不能显示图片是因为没有…
最近在公司一直忙着做exe安装包,以及为程序添加新功能,好久没有继续来写关于Django的东西了….难得这个周末清闲,来了解了解Django的一些小功能也是极好的了~ 那今天就来看看在Django的视图中将页面导出为pdf格式的功能吧.那么动态生成pdf的好处是什么呢?你可以为不同目的的用户创建定制的pdf.那么是如何实现的呢?它使用的是Python开源的pdf库---ReportLab 安装ReportLab 你可以从http://www.reportlab.com/software/open…
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.iTextAs…
转自:http://my.oschina.net/sanji/blog/277704 最近正好项目有用到 ITEXT ,在网络上搜索了一番,发现了很多方案,但是感觉对于一般开发来说都太复杂了,本文提供一种最便捷的方式来实现,不需要任何额外 JAR 包. ITEXT 的功能和简介这里就不多说了,直接带大家做一遍: 一段可运行的代码比说很多废话强得多 S1 :首先下载 JAR 包 CORE 包:http://sourceforge.net/projects/itext/files/ XML  包:h…
由于工作所需,最近花时间研究了html转换为pdf的功能.html转换为pdf的关键技术是如何处理网页中复杂的css样式,通过在网上收集资料,发现目前html 转换为pdf的解决方案主要分为三类: 客户端模式:前后台调用客户端程序,利用客户端程序的功能完成pdf文件转换.本次测试工具有:wkhtmltopdf和PhantomJS. java jar包解析类模式:java代码解析css样式,翻译html文件为pdf文件.本次测试类有:IText,Flying Sauser,PD4ML. js 前端…
最近项目需要导出企业风险报告,文件格式为pdf,于是搜了一大批文章都是什么Jasper Report,iText ,flying sauser ,都尝试了一遍,感觉不是我想要的效果, 需要自己调整好多东西,样式,字体等等,好麻烦,毕竟博主这么懒的人,哈哈.-------jstarseven 言归正传: java生成pdf文件,方式很多,以上提到的哪几种方式具体可以参考这篇文章<讲解很详细>:http://blog.csdn.net/ouyhong123/article/details/2640…
前言 项目中有个需求,需要将合同内容导出成pdf.上网查阅到了 iText , iText 是一个生成PDF文档的开源Java库,能够动态的从XML或者数据库生成PDF,同时还可以对文档进行加密,权限控制,并且还支持Java/C#等,但是iText本身提供的HTML解析器还是不够强大,许多HTML标签和属性无法识别,更悲催的是简单的CSS它不认识,排版调整样式让人头大.那么有没有什么方式能够支持css呢,又查阅到了 flying-saucer, flying-saucer也是导出PDF的一种解决…