word转PDF
今天公司有一个需求就是用一个数科的控件在游览器打开我们的正文信息,但是上传的正文上word类型这个软件只支持pdf、ofd文件所以在转文件类型的时候使用了Spire的jar包做,但是这个东西好像有免费版和付费版具体的我也不是很清楚,转是可以转但是就是在文件的头部分出现一个警告就很烦
实现思路
在转PDF、OFD之前我们在这个文件的头部插入一页,然后等完成以后将第一页删除掉,这样就可以达到将头部的警告
去除的效果
<!-- 实现将PDF、OFD文件进行删除页数支持 -->
<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>pdfbox-app</artifactId>
<version>1.8.10</version>
</dependency>
<!-- 2.10.3这个版本是支持这个操作的,后续版本可能就不支持了 -->
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.doc</artifactId>
<version>2.10.3</version>
</dependency>
/*
word转pdf
1. 生成一个文档对象,加载一个空的word
2. 在基础上把需要的正文插入到文档对象中去,(默认就是第二页)
3. 转成pdf、ofd格式
4. 重新获取生成后的文件,将文件的第一页删除掉生成一个新的文件
*/
public void test01() throws Exception{
Document document = new Document();
// 一个空的临时文件,这个文件到后面会被删除掉 removePage删除当前页的内容(主要是删除警告条)
document.loadFromFile("/User/DeskTop/temp.docx");
// 存在内容的目标文件,docx、doc
document.insertTextFromFile("/User/DeskTop/info.docx", FileFormat.Auto);
// 转换后的文件 pdf、ofd。 or saveToFile("/User/DeskTop/info.ofd", FileFormat.PDF);
document.saveToFile("/User/DeskTop/info.pdf", FileFormat.PDF);
PDDocument dp = new PDDocument();
dp = PDDocument.load("/User/DeskTop/info.pdf");
dp.removePage(0);
// 保存到新的地方
dp.save("/User/DeskTop/info2.pdf");
}