小编art*_*doe的帖子

使用Java和Apache Batik从SVG生成多页PDF

我有两个简单的SVG文档,我想将其转换为PDF,以便每个文档都位于PDF的一页上。

我的第一个SVG文档有两个矩形,如下所示:

第一个SVG文档

第二个是黑圈。

该代码如下所示:

import java.io.*;
import org.apache.batik.anim.dom.*;
import org.apache.batik.transcoder.*;
import org.w3c.dom.*;

public class MultiPagePdf {

  public static void main(String[] args) {

    MultiPagePDFTranscoder transcoder = new MultiPagePDFTranscoder();
    try {
      final DOMImplementation impl = SVGDOMImplementation.getDOMImplementation();
      SVGOMDocument doc1 = (SVGOMDocument) impl.createDocument(SVGDOMImplementation.SVG_NAMESPACE_URI, "svg", null);

      // 1st rectangle in doc1
      Element el = doc1.createElementNS(SVGDOMImplementation.SVG_NAMESPACE_URI, "rect");
      el.setAttributeNS(null, "width", "60");
      el.setAttributeNS(null, "height", "60");
      el.setAttributeNS(null, "fill", "none");
      el.setAttributeNS(null, "stroke", "blue");
      SVGOMSVGElement docEl = (SVGOMSVGElement) doc1.getDocumentElement();
      docEl.appendChild(el);

      // 2nd rectangle in doc1
      Element ell = doc1.createElementNS(SVGDOMImplementation.SVG_NAMESPACE_URI, "rect");
      ell.setAttributeNS(null, …
Run Code Online (Sandbox Code Playgroud)

java pdf svg batik apache-fop

5
推荐指数
1
解决办法
2489
查看次数

标签 统计

apache-fop ×1

batik ×1

java ×1

pdf ×1

svg ×1