Java PDF转HTML、Word、图片、SVG、XPS、 PDF/A等格式文件

版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/Eiceblue/article/details/85340547

这篇文章介绍如何在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);

 

猜你喜欢

转载自blog.csdn.net/Eiceblue/article/details/85340547