本文将介绍通过Java编程来实现PDF文档转换的方法。包括:
1. PDF转为Word
2. PDF转为图片
3. PDF转为Html
4. PDF转为SVG
4.1将PDF每一页转为单个的SVG
4.2将一个包含多页的PDF文档转为一个SVG
5. PDF转为XPS
6. PDF转为PDF/A
使用工具:
Free Spire.PDF for Java(免费版)
Jar文件获取及导入:
方法
1
:
通过官网
下载jar文件包。下载后,解压文件,并将lib文件夹下的Spire.Pdf.jar文件导入Java程序。
方法
2
:
可通过maven仓库安装导入。参考
导入方法。
Java代码示例
【示例1】PDF 转Word
PdfDocumentpdf=newPdfDocument("test.pdf");
pdf.saveToFile("ToWord.docx",FileFormat.DOCX);
【示例2】PDF转图片
支持的图片格式包括Jpeg, Jpg, Png, Bmp, Tiff, Gif, EMF等。这里以保存为Png格式为例。
importcom.spire.pdf.*;
importjavax.imageio.ImageIO;
importjava.awt.image.BufferedImage;
importjava.io.File;
importjava.io.IOException;
publicclassPDFtoimage{
publicstaticvoidmain(String[]args)throwsIOException{
PdfDocumentpdf=newPdfDocument("test.pdf");
BufferedImageimage;
for(inti=0;i
image=pdf.saveAsImage(i);
Filefile=newFile(String.format("ToImage-img-%d.png",i));
ImageIO.write(image,"PNG",file);
}pdf.close();
}
}
【示例3】PDF转Html
PdfDocumentpdf=newPdfDocument("test.pdf");
pdf.saveToFile("ToHTML.html",FileFormat.HTML);
【示例4】PDF转SVG
1.转为单个svg
PdfDocumentpdf=newPdfDocument("test.pdf");
pdf.saveToFile("ToSVG.svg",FileFormat.SVG);
2.多页pdf转为一个svg
PdfDocumentpdf=newPdfDocument("sampe.pdf");
pdf.getConvertOptions().setOutputToOneSvg(true);
pdf.saveToFile("ToOneSvg.svg",FileFormat.SVG);
【示例5】PDF 转XPS
PdfDocumentpdf=newPdfDocument("test.pdf");
pdf.saveToFile("ToXPS.xps",FileFormat.XPS);
【示例6】PDF转PDF/A
importcom.spire.pdf.*;
importcom.spire.pdf.graphics.PdfMargins;
importjava.awt.geom.Dimension2D;
publicclassPDFtoPDFA{
publicstaticvoidmain(String[]args){
//加载测试文档
PdfDocumentpdf=newPdfDocument();
pdf.loadFromFile("test.pdf");
//转换为Pdf_A_1_B格式
PdfNewDocumentnewDoc=newPdfNewDocument();
newDoc.setConformance(PdfConformanceLevel.Pdf_A_1_B);
PdfPageBasepage;
for(inti=0;i
page=pdf.getPages().get(i);
Dimension2Dsize=page.getSize();
PdfPageBasep=newDoc.getPages().add(size,newPdfMargins(0));
page.createTemplate().draw(p,0,0);
}
//保存结果文件
newDoc.save("ToPDFA.pdf");
newDoc.close();
}
}
(本文完)