天天看點

java Word 轉 PDF格式

添加maven依賴

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