<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();