项目需求要提供合同打印导出功能,打印是前端同学用js做的,我不关心,导出即提供下载功能,开始思路是直接输出流到pdf,老大给了个方案:freemarker和itext结合使用,另一个同事负责开发,基本做出来了,问题是这个方案有严苛的要求,对字体等方面要求,比如宋体不识别,要替换为SimSun,空白占位符不识别等等问题,有些局限。所以我采用了另一种方案,曲线救国,先输出流到doc文档,这里不会产生任何问题,然后将文档转化为pdf。期间都很顺利,最终提测发现对历史数据有不支持的现象,转化为pdf后标签貌似它未识别,原封不动的给打印了出来,而不是以格式的形式进行渲染。第一个想法对比正常转化的新数据和不能正确转化的老数据,同样都是<p></p>标签形式,实在未发现任何不妥,后怀疑是一些空格等导致的问题,思路是排查标签带来的影响,后经多次排查未发现异常。转移突破点到生成doc中,突然想到是不是应该加上完整的<html></html>闭合标签,因为这一现象总结来看是它不识别标签当做正文来转的,所以要强迫它识别,后尝试成功。我所不能理解的是新数据同样的格式确能正常转化,当然加上标签以后也没有影响,也许是这样更规范吧。附两张对比图:

左侧为转化后pdf效果图,右侧为源码,这是没有<html></html>标签情况

左侧为转化后pdf效果图,右侧为源码,这是有<html></html>标签情况

所以初步判定应该是需要有<html></html>标签情况下能完美支持。路漫漫其修远,继续努力吧。


2019年11月19日 16:22:47
看到自己的博客里,这篇是访问量最高的,想必遇到这样需求的人比较多,其实这个方案并不是最优,当时解决了问题,但是存在另外的问题(之所以要记录下这篇博客,这也是成长的一个足迹,我觉得对我自己很有意义)。后来我个人是抛弃了这个方案,采用python版生成pdf,用的是pdfkit库,效果不错,使用也非常简单。有兴趣可以移步我的另一篇博客https://blog.csdn.net/qq_39314099/article/details/103145261

自己写的用aspose.words将word转pdf过程及一些注意问题相关推荐

  1. aspose win/linux WORD转PDF(及其解决乱码方式)

    aspose win/linux WORD转PDF(及其解决乱码方式) 1.工具类 2.控制台 3.解决乱码 4.JAR包 之前自己用的docm4j 本地进行转换是ok 在服务器中就异常了: 后来在网 ...

  2. Aspose.Java实现word转pdf,添加水印等操作

    Aspose.Java实现word转pdf,添加水印等操作 一. word转pdf 二. 文档插入水印 Aspose是一款商用版控件,支持各类文档操作,这里主要介绍如何在Springboot项目中使用 ...

  3. 使用Aspose组件将WORD、PDF、PPT转为图片

    using System; using System.Collections.Generic; using System.Text; using OMCS.Engine.WhiteBoard; usi ...

  4. JAVA 使用 com.aspose.words将word转换PDF等

    因为公司前端需要在线查看word和PDF,后台上传需求将word等文件转换为PDF,原本使用的是liboffice进行转换,后来部署到服务器端之后,发现并不是很适合,由此找到com.aspose.wo ...

  5. 利用Aspose.Words编辑word生成pdf

    开发工具:vs2019 语言:C# 数据库:Oracle 一.利用NuGet程序包安装Aspose.Words; 二.新建Word文档,使用插入书签功能 三.代码 private void Creat ...

  6. 使用Aspose txt转Word或PDF乱码问题

    出现乱码问题有两种可能 1. 系统无中文字体(通常发生在Linux系统下,自行百度Linux如何安装中文字体) 2. TXT的byte流没有选择合适的编码,不能写死为UTF-8,需要根据实际文本的编码 ...

  7. java根据word模板导出_java根据模板生成,导出word和pdf(aspose.words实现word转换pdf)...

    相关一部分java文件和jar包 pom文件 com.aspose aspose-words 18.2 word模板 其中的内容要在设置在表格里面 js导出方法 functionf_export(){ ...

  8. 使用Aspose.Words将word转PDF并且去水印。

  9. Java word转pdf Linux/windows跨平台 格式完美(利用命令行调用libreoffice)

    参考了里面的libreoffice的用法:https://blog.csdn.net/qwert678000/article/details/72770109 需求描述 最近在做word报表的自动生成 ...

最新文章

  1. .NET Remoting中的通道注册
  2. 激光+视觉+IMU+GPS如何做融合?
  3. Spring boot返回JSON类型响应及Content-Type设置
  4. Cocoapods警告 - CocoaPods没有设置项目的基本配置,因为您的项目已经有自定义配置集
  5. 容易混淆的php函数,个人笔记
  6. IDEA+Maven运行调试MapReduce程序
  7. 我新买的GTX1050为何装上去一直是黑屏
  8. python标准库——time模块
  9. ESP8285烧写问题备忘
  10. 微信小程序数据库操作之更新数据(转载)
  11. 百度排名批量查询_企业网站核心关键词排名消失,什么原因?
  12. 银尔达-----合宙Air724全网通4g DTU无线透传模块串口UART(TTL)+RS485核心板
  13. 鼠标跟随flash代码_Flash动画设计之 MTV实例创作《不说再见》
  14. 溴PEG溴,Br-PEG-Br
  15. Linux下QT安装
  16. 手把手教你iPhone 3G手机软件开发
  17. python数据分析可视化项目——游戏销售量
  18. 怎样拍摄全景照片?全景图片拍摄流程
  19. Express项目中用javascript实现连接mysql数据库
  20. 将edge浏览器设置为IE浏览器

热门文章

  1. 【数据库】【Mysql - Workbench1】 :如何解决WPS/excel数据导入时Table Data Import报错问题?
  2. prim 最小生成树算法 java实现
  3. 说说ShellExecuteEx
  4. 深度理解运放增益带宽积
  5. 图嵌入前篇之词嵌入模型 Wrod2Vec
  6. 重装系统后,启动MySQL(不用重装mysql)
  7. 在surface go 2上安装ubuntu 20.04
  8. 前端小作业~小人动画案例
  9. 【CG】透视变换(Perspective Transformation)
  10. oracle如何将f8设置成执行,恢复F8(恢复到出厂设置)功能