概述
最近因工作需要,想要实现将SVG格式转换成PDF,同时还希望能够将SVG格式的文档内容完整地插入到已有的PDF中。经过多方位调查和测试,发现Spire.PDF for Java控件能够实现以上两种功能。现将演示代码分享出来,方便有需求的人参考。
在运行代码前,需要将产品依赖包导入IDEA中。导入方式有两种:其一,在官网上下载最新版其二(推荐使用),在IDEA中创建一个
com.e-iceblue
http://repo.e-iceblue.cn/repository/maven-public/
e-iceblue
spire.pdf
3.10.5
最终导入效果如下图所示:
代码示例:
示例SVG文档如下:
【示例1】插入SVG到PDF
importcom.spire.pdf.FileFormat;
importcom.spire.pdf.PdfDocument;
importcom.spire.pdf.graphics.PdfTemplate;
importjava.awt.geom.Point2D;
public classInsertSVG {
public static voidmain(String[] args) {
//加载示例SVG文档
PdfDocument doc1 = newPdfDocument();
doc1.loadFromSvg("C:\\Users\\Test1\\Desktop\\Sample.svg");
//加载示例PDF文档
PdfDocument doc2 = newPdfDocument();
doc2.loadFromFile("C:\\Users\\Test1\\Desktop\\Test.pdf");
//将SVG文档内容插入到PDF文档中
PdfTemplate template = doc1.getPages().get(0).createTemplate();
template.draw(doc2.getPages().get(0).getCanvas(),newPoint2D.Float());
//保存结果文档
doc2.saveToFile("output/InsertSVG.pdf", FileFormat.PDF);
}
}
效果图:
【示例2】将SVG转换成PDF
import com.spire.pdf.FileFormat;
importcom.spire.pdf.PdfDocument;
public classSVGToPDF {
public static voidmain(String[] args) {
//加载示例SVG文档
PdfDocument doc = newPdfDocument();
doc.loadFromSvg("C:\\Users\\Test1\\Desktop\\Sample.svg");
//保存为PDF文档
doc.saveToFile("output/ToPDF.pdf", FileFormat.PDF);
}
}
效果图:
总结
Spire.PDF for Java除了支持将SVG转换成PDF外,还支持其他许多转换功能,比如,将PDF转换成PDF/A, Word, Excel, HTML, SVG, XPS等。有其他转换需求的朋友也可以一试。