<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.doc</artifactId>
<version>2.2.0</version>
</dependency>
转换代码如下
String fromFile = "E:/test.docx";
String toFile = "E:/test.pdf";
Document document = new Document();
document.loadFromFile(fromFile);
document.saveToFile(toFile, FileFormat.PDF);
注:免费版有文件大小限制,可以替换成正式版,但是正式版有版权提示如下,内容不受影响
Evaluation Warning: The document was created with Spire.Doc for JAVA.
经测试,新版本只能打印 10 页,且每页都有水印,旧版本 2.2.0 可正常使用
下面方法可完美删除版权信息
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itextpdf</artifactId>
<version>5.5.11</version>
</dependency>
Document document = new Document();
//空白文档,用来将版权信息打印到这上面
document.loadFromFile("E:/temp.docx");
//真实文档 fhadmin.cn
document.insertTextFromFile("E:/test.doc",FileFormat.Auto);
//输出为PDF
document.saveToFile("E:/test.pdf",FileFormat.PDF);
PdfReader reader = new PdfReader("E:/test.pdf");
//删除带版权信息的第一页,并重新输出为PDF fhadmin.cn
List<String> pages = new ArrayList<>();
for(int i = 2;i <= reader.getNumberOfPages();i++){
pages.add(String.valueOf(i));
}
reader.selectPages(StringUtils.join(pages,","));
PdfStamper stamp = new PdfStamper(reader, new FileOutputStream("E:/test2.pdf"));
stamp.close();
reader.close();