1. 程式人生 > >Java PDF轉HTML、Word、圖片、SVG、XPS、 PDF/A等格式檔案

Java PDF轉HTML、Word、圖片、SVG、XPS、 PDF/A等格式檔案

這篇文章介紹如何在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也支援將結果儲存到

:PdfDocument.saveToStream(OutputStream stream, FileFormat fileformat)。

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

XPSPDF

使用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);