文档转换

2023-01-01 02:09:32   第一文档网     [ 字体: ] [ 阅读: ] [ 文档下载 ]

#第一文档网# 导语】以下是®第一文档网的小编为您整理的《文档转换》,欢迎阅读!
转换,文档
1officeWPShtml

使用OpenOffice转换为html后,再将图片路径位置替换为base64字符串 不需要考虑office版本问题,如使用POI则要

2officeWPSPDF

使用OpenOffice(格式稍有差异)

3htmlPDF

方案1itext flying saucer

注意:html标签必须符合W3C语法规范,有闭合标签

3.1必须加上 html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

3.2指定编码meta,须为UTF-8



3.3 checked='checked' 不能只是checked readOnly ='readOnly' 不能只是readOnly

3.4字体必须是采用英文 font-family:SimSun 不能为font-family:宋体

3.5标签必须有结束符

3.6图片位置必须是绝对路径

方案2OpenOffice

html的语法也同样有要求,只是没有方案1要求严格

方案3itext制作PDF

注意:在同一表单中要套打的域不允许重复出现


和表单套打一样,先用Adobe Acrobat制作PDF套打模板,再使用itext填充域

使用Adobe Acrobat 9 Pro制作PDF模板itext输出数据到PDF模板。不理想:制作PDF模块固定大小,不会随着内容增多拉表格,但是可选择文字大小为“自动”,随着内容的增多,文字自动缩小。



方案4wkhtmltopdf (可通过URL或本地文件转换)

对于html页面中含有大量不规范语法时,可考虑。支持windowslinux利用jdk1.5ProcessBuilder执行转换命令,但是对中文支持度不够。(字体必须是英文)

ProcessBuilder pb=new ProcessBuilder("D:\\Program Files\\wkhtmltopdf\\bin\\wkhtmltopdf.exe","file:///D:/1398156296869.htm", "D:\\test11.pdf"); 另:如PDF不需用于全文检索,可参考以下做法:

使用wkhtmltopdfhtml转为图片后,再使用itext图片插入pdf,这样不存在中文乱码

方案5:使用PD4ML

4、生成固定格式word文档

注意:以下和利用JS套打有所不同,均使用普通文字,而不是使用域,而且套打时需要替换的文字不允许重复出现。

PS:如freemarker使用如 {ext1}{ext2}{ext3}等,POI使用 ext1ext2ext3

A 制作word模板,将word另存为xml,使用freemarker模板技术导出套打后的word 如遇到图片,可在word中固定位置先插入图片,转换为xml后找出对应位置清除 B word模板,使用poi替换需要套打的文字(图片支持度不够)



PS:使用freemarker生成的doc文档是不能用OpenOffice转换成PDF的,因为它是xml文件

另:使用高版本PoI,直接采用替换方式,将word文字进行一一替换

5pdfhtml

待查资料


本文来源:https://www.dy1993.cn/48VG.html

相关推荐