共计 1600 个字符,预计需要花费 4 分钟才能阅读完成。
概述
最近因工作须要,想要实现将 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 等。有其余转换需要的敌人也能够一试。
正文完