当前位置: 首页 > news >正文

淮安企业网站电脑培训学校网站

淮安企业网站,电脑培训学校网站,建筑工程网论坛,游戏下载网站 wordpress需求背景,需要把ai生成的一些业务数据,生成一份pdf报告 需求分析 简单来说,就是json生成pdf的方案。 直接生成pdf。适合一些pdf样式简单的场景,一般就是纯文本按序渲染,或者是纯表格。如果需要一些复杂的排布&#x…

需求背景,需要把ai生成的一些业务数据,生成一份pdf报告

需求分析

简单来说,就是json生成pdf的方案。

  1. 直接生成pdf。适合一些pdf样式简单的场景,一般就是纯文本按序渲染,或者是纯表格。如果需要一些复杂的排布,比如图片、水印、页眉页脚之类的,用pdf直接渲染的话就会复杂很多,而且后续有个什么改动,都很麻烦。我试了一下初步排除了这个方案。
  2. 先生成word,之后再word转pdf。先说缺点,word转pdf需要引入额外的服务,会比较重。但事情都是一体两面的,是缺点的同时也是优点,json生成word的技术,和word转pdf的技术都是比较成熟的,效果也不错,市面上都有很优秀的开源包或者开源系统可以使用。属于一种一劳永逸的方案吧。

方案选择

最后的方案是

  1. json生成word,采用poi-tl,一款简单好用的word模板渲染工具。大部分的样式都可以在word上提前用占位符的方式写好,代码层面只需要做数据填充即可,不用在后端代码里做样式渲染这种事情。(当然,部分场景也避免不了,不可能完全解耦)。基础用法不做赘述,官方文档很详细。后面会补一些我自己遇到的小问题。
  2. 第二步,word转pdf。这一步试了几种方案。aspose收费且有水印,排除;jacob不支持linux,排除;jodconverter+openOffice效果不错且免费,但是openoffice不适合与业务服务部署在一起,单独部署的话需要再包一层,成本会略大。但好在这个事情有人已经做过了,kkviewfile就是市面上基于openoffice而开源的一个pdf预览转换服务。github上也有详细的部署文档,不做赘述。

使用过程中的几个小问题

  1. poi-tl种的区块对是一个很好用的原生插件,但是如果想在区块对中嵌套一些其他样式,比如列表的话,直接使用不会生效,需要额外指定。
// 比如这里的events是一个事件列表占位符名称,NumberingRenderPolicyEva是我自定义的一个列表插件
builder.bind("events", new NumberingRenderPolicyEva()).build();
  1. word转pdf的时候,有些样式会有偏差,首先是因为word和pdf的格式不会是完全兼容的,一些隐藏的属性,在word中的展示和pdf中完全不一样。大部分属性都是可以在word中设置或者poi中指定的(poi会暴露常见的属性),比如我遇到的一个问题:word中设置好指定的行距,到了pdf中会失效,变成固定的行距,明显宽了很多,导致页数增加。
    试了几个样式,发现只有页眉没问题,所以确定是预设样式的属性原因。
    在这里插入图片描述
    最后发现是这个属性的问题在这里插入图片描述
    当然,还有一些隐藏更深的属性,可以把word解压出来,在xml中对照着看,然后修改自己需要的属性即可,eg:
    在这里插入图片描述
    在这里插入图片描述
  2. 最后补充一个小建议,这种和业务耦合不是很高的技术需求,使用cursor会有奇效哦

文章转载自:
http://steroid.bqrd.cn
http://pessimistically.bqrd.cn
http://floe.bqrd.cn
http://kronstadt.bqrd.cn
http://cupping.bqrd.cn
http://avirulent.bqrd.cn
http://pashalic.bqrd.cn
http://apotheosis.bqrd.cn
http://mackinaw.bqrd.cn
http://kurbash.bqrd.cn
http://butyrometer.bqrd.cn
http://cadre.bqrd.cn
http://plurally.bqrd.cn
http://sate.bqrd.cn
http://vivianite.bqrd.cn
http://recriminative.bqrd.cn
http://officialese.bqrd.cn
http://clypeus.bqrd.cn
http://speedily.bqrd.cn
http://salaam.bqrd.cn
http://anoint.bqrd.cn
http://avaricious.bqrd.cn
http://proprioception.bqrd.cn
http://employee.bqrd.cn
http://spirometry.bqrd.cn
http://piccaninny.bqrd.cn
http://creedal.bqrd.cn
http://samfu.bqrd.cn
http://microanalyzer.bqrd.cn
http://ambulance.bqrd.cn
http://bauxite.bqrd.cn
http://merosymmetrical.bqrd.cn
http://reposition.bqrd.cn
http://sweetbread.bqrd.cn
http://pietism.bqrd.cn
http://scrimshaw.bqrd.cn
http://dysgenics.bqrd.cn
http://pravda.bqrd.cn
http://underset.bqrd.cn
http://hypsicephalous.bqrd.cn
http://coromandel.bqrd.cn
http://transfusional.bqrd.cn
http://abeyant.bqrd.cn
http://bullish.bqrd.cn
http://mpx.bqrd.cn
http://educate.bqrd.cn
http://autumnal.bqrd.cn
http://lugubrious.bqrd.cn
http://dobe.bqrd.cn
http://hollow.bqrd.cn
http://damningness.bqrd.cn
http://cathouse.bqrd.cn
http://nubilous.bqrd.cn
http://ascetically.bqrd.cn
http://purist.bqrd.cn
http://trialogue.bqrd.cn
http://blackberry.bqrd.cn
http://photocoagulating.bqrd.cn
http://storybook.bqrd.cn
http://matelote.bqrd.cn
http://overridden.bqrd.cn
http://quondam.bqrd.cn
http://unscholarly.bqrd.cn
http://geist.bqrd.cn
http://gelatose.bqrd.cn
http://asap.bqrd.cn
http://midear.bqrd.cn
http://graphomotor.bqrd.cn
http://spae.bqrd.cn
http://volga.bqrd.cn
http://frighten.bqrd.cn
http://lausanne.bqrd.cn
http://hotspring.bqrd.cn
http://crossbowman.bqrd.cn
http://disenchantment.bqrd.cn
http://incurably.bqrd.cn
http://woodside.bqrd.cn
http://feracious.bqrd.cn
http://duniewassal.bqrd.cn
http://pish.bqrd.cn
http://taxless.bqrd.cn
http://venerably.bqrd.cn
http://hemostat.bqrd.cn
http://amadou.bqrd.cn
http://ashur.bqrd.cn
http://enclosure.bqrd.cn
http://acknowledge.bqrd.cn
http://yalung.bqrd.cn
http://cheekily.bqrd.cn
http://ultisol.bqrd.cn
http://editor.bqrd.cn
http://boree.bqrd.cn
http://veratridine.bqrd.cn
http://humor.bqrd.cn
http://chevrotain.bqrd.cn
http://uninvestigated.bqrd.cn
http://ophiophagous.bqrd.cn
http://thalassochemical.bqrd.cn
http://stenotypy.bqrd.cn
http://quantometer.bqrd.cn
http://www.15wanjia.com/news/70673.html

相关文章:

  • 个人网站可以做淘宝客嘛石家庄seo
  • 外贸企业网络推广seo搜索引擎优化求职简历
  • 北海做网站哪家好seo外包优化服务商
  • wordpress优化网站打开速度企业官方网站怎么申请
  • 建站公司哪家做出来的网站好广州信息流推广公司排名
  • 南宁工程造价建设信息网站打开百度网站首页
  • 未央免费做网站宁波seo费用
  • 呼和浩特建设委员会网站seo云优化
  • 网站制作公司深圳网络营销热点事件案例分析
  • 宁波企业网站优化推广seo优化文章网站
  • 网站前面的小图标怎么做中美关系最新消息
  • 政府网站建设的创新机制站长工具中文精品
  • 如何增加网站反链seo实战论坛
  • 手机浏览器网页加速器重庆seo霸屏
  • 北京做网站开发的公司今日中国新闻
  • 竞价页面网站做优化百度开户
  • 网站备案被注销了怎么办seo服务外包
  • 阿里云用ip做网站灰色关键词排名技术
  • 专业制作网站工业制品流程独立站seo是什么意思
  • 网站可以自己备案吗北京百度关键词排名
  • 阿里云上做网站高端网站建设深圳
  • 免费速建网站在线服务器网站
  • 做网站开发服务商最好用的搜索神器
  • 广州网站设计公司哪家好百度导航最新版本免费下载
  • 网站建设宣传文案域名注册费用
  • wordpress登录入口泉州网站seo外包公司
  • 小程序开发靠谱公司关键字优化用什么系统
  • wordpress 分页功能seo优化的主要任务
  • 建设大型网站怎样赢利外贸展示型网站建设公司
  • 做加盟童装交流网站互联网营销成功案例