Java PDF轉HTML、Word、圖片、SVG、XPS、 PDF/A等格式檔案
阿新 • • 發佈:2019-01-12
這篇文章介紹如何在Java應用程式中將PDF轉換為HTML、Word、圖片、SVG、XPS、PDF/A等格式。
本文所使用的PDF元件:
Free Spire.PDF for Java
Free Spire.PDF for Java是一個免費Java PDF元件,支援建立PDF文件、操作現有PDF文件,以及將PDF檔案轉換為其他檔案格式,同時也支援將其他檔案格式如XPS轉換為PDF格式。
使用以下程式碼前,需要下載Free Spire.PDF for Java包並解壓縮,然後將lib資料夾下的jar檔案匯入至Java應用程式中,如圖:
程式碼示例
通過PdfDocument.saveToFile(string filename, FileFormat fileformat)方法,可以將PDF檔案儲存為XPS、Word、HTML、SVG等格式。此外,Free Spire.PDF for Java也支援將結果儲存到流
PDF轉XPS
//載入PDF
PdfDocument pdf = new PdfDocument();
pdf.loadFromFile("Input.pdf");
//儲存為XPS格式
pdf.saveToFile("ToXPS.xps", FileFormat.XPS);
PDF轉Word (Doc/Docx)
pdf.saveToFile("ToWord.docx", FileFormat.DOCX);
PDF轉SVG
pdf.saveToFile("ToSVG.svg", FileFormat.SVG);
PDF轉HTML
pdf.saveToFile("ToHTML.html", FileFormat.HTML);
PDF轉PDF/A
//載入PDF PdfDocument pdf = new PdfDocument(); pdf.loadFromFile("Input.pdf"); //建立一個新的PDF/A-1b文件,將原PDF文件頁面內容畫至新文件 PdfNewDocument newPdf = new PdfNewDocument(); newPdf.setConformance(PdfConformanceLevel.Pdf_A_1_B); for (PdfPageBase page : (Iterable<PdfPageBase>) pdf.getPages()) { Dimension2D size = page.getSize(); PdfPageBase p = newPdf.getPages().add(size, new PdfMargins(0)); page.createTemplate().draw(p, 0, 0); } //儲存 newPdf.save("Output.pdf"); newPdf.close();
PDF轉圖片
//載入PDF檔案
PdfDocument pdf = new PdfDocument();
pdf.loadFromFile("Input.pdf");
//儲存PDF的每一頁到圖片
BufferedImage image;
for (int i = 0; i < pdf.getPages().getCount(); i++) {
image = pdf.saveAsImage(i);
File file = new File( String.format("ToImage-img-%d.png", i));
ImageIO.write(image, "PNG", file);
}
pdf.close();
XPS轉PDF
使用PdfDocument.loadFromXPS()方法可以載入XPS檔案,然後通過PdfDocument.saveToFile(string filename, FileFormat fileformat)將XPS檔案儲存為PDF格式。
//載入XPS檔案
PdfDocument pdf = new PdfDocument();
pdf.loadFromXPS("ToXPS.xps");
//儲存為PDF
pdf.saveToFile("ToPDF.pdf", FileFormat.PDF);