概述

最近因工作须要,想要实现将SVG格局转换成PDF,同时还心愿可能将SVG格局的文档内容残缺地插入到已有的PDF中。通过多方位考察和测试,发现Spire.PDF for Java控件可能实现以上两种性能。现将演示代码分享进去,不便有需要的人参考。

在运行代码前,须要将产品依赖包导入IDEA中。导入形式有两种:其一,在官网上下载最新版Spire.PDF for Java 3.10.5产品包,解压后将lib文件夹下的Spire.Pdf.jar手动导入IDEA中;其二举荐应用),在IDEA中创立一个Maven我的项目,而后在pom.xml文件中键入以下代码,最初点击“Import Changes”即可。

<repositories><repository><id>com.e-iceblue</id><url>http://repo.e-iceblue.cn/repository/maven-public/</url></repository></repositories><dependencies><dependency><groupId> e-iceblue </groupId><artifactId>spire.pdf</artifactId><version>3.10.5</version></dependency></dependencies>

最终导入成果如下图所示:

代码示例

示例SVG文档如下:

【示例1】插入SVG到PDF
import com.spire.pdf.FileFormat;import com.spire.pdf.PdfDocument;import com.spire.pdf.graphics.PdfTemplate;import java.awt.geom.Point2D;public class InsertSVG {    public static void main(String[] args) {        //加载示例SVG文档 PdfDocument doc1 = new PdfDocument();        doc1.loadFromSvg("C:UsersTest1DesktopSample.svg");        //加载示例PDF文档 PdfDocument doc2 = new PdfDocument();        doc2.loadFromFile("C:UsersTest1DesktopTest.pdf");        //将SVG文档内容插入到PDF文档中 PdfTemplate template = doc1.getPages().get(0).createTemplate();        template.draw(doc2.getPages().get(0).getCanvas(), new Point2D.Float());        //保留后果文档 doc2.saveToFile("output/InsertSVG.pdf", FileFormat.PDF);    }}

效果图:

【示例2】将SVG转换成PDF
import com.spire.pdf.FileFormat;import com.spire.pdf.PdfDocument;public class SVGToPDF {    public static void main(String[] args) {        //加载示例SVG文档 PdfDocument doc = new PdfDocument();        doc.loadFromSvg("C:UsersTest1DesktopSample.svg");        //保留为PDF文档 doc.saveToFile("output/ToPDF.pdf", FileFormat.PDF);    }}

效果图:

总结

Spire.PDF for Java除了反对将SVG转换成PDF外,还反对其余许多转换性能,比方,将PDF转换成PDF/A, Word, Excel, HTML, SVG, XPS等。有其余转换需要的敌人也能够一试。