Java 插入和轉換SVG到PDF

概述

最近因工作需要,想要實現將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】插入SVGPDF

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:\\Users\\Test1\\Desktop\\Sample.svg");

//加載示例PDF文檔

PdfDocument doc2 = new PdfDocument();

doc2.loadFromFile("C:\\Users\\Test1\\Desktop\\Test.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:\\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等。有其他轉換需求的朋友也可以一試。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章