
如题,现在有个需求就是要自定义模版,进行动态填充数据。然后保存为 pdf,有什么比较通用的方案吗,我之前看到比较多的是 word 模版转 pdf,但是还是比较麻烦。
1 Carbule 2021-01-15 10:39:03 +08:00 .jasper |
3 vindac 2021-01-15 10:44:29 +08:00 蹲一个方案。目前我们采用的就是 freemarker 和 aspose,很难搞 |
4 joooooker21 2021-01-15 10:48:41 +08:00 itextpdf 手动编辑 pdf 模板 , 代码中填充,模板再生成新的 pdf |
5 howells OP @joooooker21 这个有 licence 限制,希望有开源或者 licence 不严格的 |
6 TesterCC 2021-01-15 10:51:36 +08:00 html 转 pdf |
7 young1lin 2021-01-15 11:00:10 +08:00 我之前做过,两个方法, 一是渲染成 HTML,用 Enjoy 或者 Jasper 、Thymeleaf 之类的模板引擎,渲染出来 HTML 后,发到前端,然后插入到隐藏的 div 中,用对应的 jQuery 插件转成 PDF (我就是这么干的,注意样式)。 二是就是你说的 Word 转 PDF,不过这个还是要先渲染成 HTML,发到前端渲染,再转到后端把那些样式带上的那种。发到前端的目的是要可编辑,有些内容要手动编辑,不是生成的。数据库把渲染后的 HTML 保存对应的 Blob 。所以这个方式也用了。 我两年前做的是个考试的系统,各种打印基本都是我做的。。。这个我太熟了。 |
8 alinwu05 2021-01-15 11:12:35 +08:00 数据填充 Word 模板,再转 PDF 。 Word 模板容易编辑,非开发人员也容易更改,Word 转 PDF 开源方案很多。 |
9 littleshy 2021-01-15 11:31:06 +08:00 说个我们 aspnet core 的做法: 1:后端编写 Razor 模板,传入参数渲染成 HTML 字符串; 2:调用 wkhtmltopdf 将 HTML 转成 PDF 。 |
10 RedBeanIce 2021-01-15 13:21:51 +08:00 via iPhone 图片转 pdf,,我管你要什么样的图片, |
11 bluefountain 2021-01-15 13:38:42 +08:00 livecycle? |
12 Hyseen 2021-01-15 13:40:51 +08:00 渲染成 HTML,然后用 puppeteer 转成 PDF |
13 taosx 2021-01-15 13:44:28 +08:00 freemarker + itex |
14 jie170601 2021-01-15 13:49:03 +08:00 wkhtmltopdf |
15 lovesky 2021-01-15 13:57:54 +08:00 我们的系统就是 html->wkhtmltopdf->pdf->jpg |
16 fakeJas0n 2021-01-15 14:28:17 +08:00 openhtmltopdf |
17 stephCurry 2021-01-15 14:38:31 +08:00 ``` public static byte[] createPdf(String htmlContent) throws Exception { ITextRenderer renderer = new ITextRenderer(); renderer.getFontResolver().addFont(getFontPath(), BaseFont.IDENTITY_H, true); renderer.setDocumentFromString(htmlContent); renderer.layout(); ByteArrayOutputStream fos = new ByteArrayOutputStream(htmlContent.length()); renderer.createPDF(fos, false); renderer.finishPDF(); return fos.toByteArray(); } ``` |
18 zhangweifang 2021-01-15 15:03:33 +08:00 HTML to PDF 可以使用无头浏览器,比如 puppeteer 之类的,把 HTML “打印”成 PDF 。 |
19 yazhouli01 2021-01-15 15:04:59 +08:00 |
20 kiracyan 2021-01-15 15:07:28 +08:00 以前做的是 html 转的 不知道有没有更好的方案 |
21 wzxlovesy 2021-01-15 15:10:59 +08:00 via Android pandoc? |
22 liudaolunhuibl 2021-01-15 16:39:30 +08:00 asponse |
23 nobody123 2021-01-15 16:55:31 +08:00 Ghostscript |
24 jk1030 2021-01-15 17:23:44 +08:00 我记得做过一个,因为项目的关系用不了 freemarker html 被否了 最后用的截图后填充 |
25 vcode 2021-01-15 18:28:02 +08:00 itextpdf |
26 cmai 2021-01-15 18:31:00 +08:00 freemarker+itextpdf |
27 cmai 2021-01-15 18:32:08 +08:00 用 HTML+freemarker 当模板,填充动态数据,然后 itextpdf 转成 pdf 文件 |
28 TinyKube 2021-01-15 18:32:41 +08:00 via iPhone 类似的需求直接用 tinymce 编辑模板,填充后直接网页打印,要存 pdf 用户自行选择 |
29 MicroBotter 2021-01-16 02:42:32 +08:00 Latex PDF? |
30 ccraohng 2021-01-16 09:07:56 +08:00 via iPhone html 渲染 wkhtml 。puppeteer,前端有分页问题。 |
31 XuHuan1025 2021-01-19 17:28:53 +08:00 itet<dependency> <groupId>com.itextpdf</groupId> <artifactId>itextpdf</artifactId> <version>5.5.10</version> </dependency> 刚刚写完 就是 map 填充 |
32 DreamSaddle 2021-01-23 09:05:10 +08:00 via iPhone freemarker 或是 thymeleaf 渲染html 厚用 puppeteer 无头模式转。 目前我遇到的效果最好的方案,其余免费方案基本都有暇疵 |