最近做的功能要求是Java 调用ftl模板生成Word文件,再将Word文件转为PDF
1、首先是ftl模板生成Word文件。Java 利用ftl模板生成Word用的技术是freemarker,相关技术可以网上自查。

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.Writer;
import java.util.Map;
import freemarker.template.Configuration;
import freemarker.template.Template;
public class DocumentHandler {
private Configuration configuration = null;  public DocumentHandler() {  configuration = new Configuration();  configuration.setDefaultEncoding("utf-8");  }  /*** @author * @desc 根据类别和类型导出相应* @param dataMap *          type * @return pd* @throws IOException* @throws Exception*/public File createDoc(Map<String,Object>  dataMap,int lb) throws IOException {configuration.setClassForTemplateLoading(this.getClass(),  "/ftl/template/");  String fileName =  "temp"+(int)(Math.random()*1000)+".doc";Template t=null;try {  //test.ftl为要装载的模板  t =  configuration.getTemplate("test.ftl");  } catch (IOException e) {  e.printStackTrace();  }  //输出文档路径及名称  File outFile = new File(fileName);  try {  Writer w = new OutputStreamWriter(new  FileOutputStream(outFile), "utf-8");t.process(dataMap, w);w.close();} catch (Exception e1) {  e1.printStackTrace();  }return outFile;}

2、Word转为PDF。将Word转为PDF 用到的是aspose.works

import com.aspose.words.Document;
import com.aspose.words.License;
import com.aspose.words.SaveFormat;
public static void main(String[] args) {License aposeLic = new License();try {
//            Map<String,Object> map =  setMap();
//            DocumentHandler documentHandler = new  DocumentHandler();
//            File file =  documentHandler.createWorkflowDoc(map,5);//破解aspose,以防PDF文件添加水印InputStream license =  Test.class.getClassLoader().getResourceAsStream("license.xml");aposeLic.setLicense(license);String in = "E:\\xxx\\aaa.doc";File file = new File(in);InputStream fin = new  FileInputStream(file);long old = System.currentTimeMillis();Document doc = new Document(fin);String test = "E:\\2019work\\ceshi.pdf";File outputFile = new File(test);FileOutputStream fileOS = new  FileOutputStream(outputFile);doc.save(fileOS, SaveFormat.PDF);long now = System.currentTimeMillis();System.out.println("共耗时:" + ((now - old) /  1000.0) + "秒\n\n" + "文件保存在:" +  outputFile.getPath());} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}

Java Word文档如何转为PDF文件相关推荐

  1. mapgis明码文件转为点线面文件_手机上word文档可以转为pdf文件吗?

    此前小北曾经为大家介绍了如何在电脑上转换文件的格式,例如WORD转PDF,PDF转EXCEL,PPT转PDF等等,这不,就有网友来问了,说日常办公其实很少会用到电脑,因为长期都需要在外面跑业务,很多时 ...

  2. python实现生成word文档并转为pdf

    python实现生成word文档,格式转为pdf 使用的是python-docx模块,在生成word文档后转为pdf格式是使用的是docx2pdf中的convert(使用convert转换时,要先创建 ...

  3. 计算机一级保存文件,计算机等级一级技巧:Word文档保存为PDF文件

    全国计算机等级考试(National Computer Rank Examination,简称NCRE)是由国家教育部考试中心主办,面向社会,用于考查应试人员计算机操作.理论应用知识与技能的全国性计算 ...

  4. 使用PDF24Tools工具怎么将Word文档转化成PDF文件?

    Word和PDF格式的文件在日常办公中都是比较常用的文件格式,两者都可以用来记录文字内容,但是有些工作场景下可能需要特殊格式的文件才能使用,这时候我们就需要进行文档格式的转换. Word文档和PDF格 ...

  5. java将WORD文档转换成pdf文件

    总结对jacob和Itext学习总结.本文试验的是将WORD转换成PDF文件. 实现思路 一.先将WORD文档转换成HMTL文件格式(参阅我的前一文<JAVA操作WORD文档). 二.用流读取H ...

  6. java将数据库数据转换成word文档并且生成pdf文件

    目的:将数据转换成word图片的方式展现给用户 工具:openoffice +java代码 +数据库,其中openoffice有windows版本的和Linux版本的. 其中openoffice的下载 ...

  7. 使用PHP将Word文档转化为pdf文件(用户提交数据到Word模板并修改部分内容,再将Word转为PDF)

    需要实现的功能: 1.用户提交信息,例如:名称,年龄,电话等等 2.将这些信息填充到固定好的word模板中. 3.将生成的word转化为PDF. 4.使用的语言PHP 开始demo.docx文件中的内 ...

  8. linux ubuntu下怎样将pdf格式文件转换为doc格式文件,Ubuntu环境下把word文档转成pdf,把pdf文件转成jpg...

    环境搭建 使用语言 python3 安装imagemagick(pdf转jpg是内部需要调用到此工具) apt-get install imagemagick 安装libreoffice(此工具用于将 ...

  9. python自动办公 pdf_Python将word文档批量转PDF

    1 ''' 2 #python批量将word文档转换成PDF文件3 ''' 4 #导入所需库 5 from docx importDocument6 from docx.enum.text impor ...

最新文章

  1. 【一步教学,一步到位】mysql高可用架构
  2. 学python多长时间能够精通-Python培训需要多长时间可以学会?
  3. mysql strcmp s1 s2_MySQL函数基础——字符串函数详解
  4. Mathematica基础——Part——[[]]
  5. iReport 5.添加修改删除jdbc
  6. .net Core发布至IIS完全手册带各种踩坑
  7. 实验一 线性表的顺序存储与实现_程序员:数据结构与算法,线性表介绍
  8. NBIOT(3)---NBIOT 移远BC28模块+stm32
  9. 马斯克:大量特斯拉汽车将会在年底前交付
  10. esp8266 防掉线方法_ESP8266-12F 中断
  11. 有没有能够很快上手的报表框架
  12. Linux操作系统实验报告心得体会,操作系统实验报告的心得体会.docx
  13. wincc逻辑运算符_wincc表达式符号
  14. mq 的Publish/Subscribe 模式
  15. LG化学成为海水淡化领域膜领导品牌后,大举进军苦咸水反渗透膜市场
  16. 苹果iphone手机蓝牙自动打开故障怎么解决
  17. python提取excel指定关键词的行数据
  18. SQL之LEFT JOIN,EIGHT JOIN,INSERT JOIN的区别
  19. arm 中的nor flash 和 nand flash
  20. 2022 水花走向哪里?中概 / 恒生 / 投顾 / 中证 500 / 传媒?

热门文章

  1. opencv在电脑屏幕上画_用Python+OpenCV让电脑帮你玩微信跳一跳
  2. vs code 语法_VS Code上的Java现在具有语法模式和SonarLint支持
  3. Python----Hello程序
  4. Java开发组装电脑_设计模式-组装电脑入门简单工厂
  5. java判断当前时间在某个时间段内
  6. 2019,2021非科班生的Android面试之路
  7. 计算机组成原理XXH是什么,计算机组成原理第二次实验报告.doc
  8. 转载--近几年的论文及其代码
  9. vue解决Element-ui中 el-cascader 级联选择器 最后一级数据为空显示暂无数据问题
  10. java byte short_Java Byte shortValue()方法