相关疑难解决方法(0)

如何使用iText7将SVG添加到PDF

我需要将SVG图形添加​​到PDF文件中.

是否可以使用iText7?

使用iText5:

BufferedReader in = new BufferedReader(new InputStreamReader(svgUrl.openStream()));
String xmlParser = XMLResourceDescriptor.getXMLParserClassName();

SVGDocument svgDoc = new SAXSVGDocumentFactory(xmlParser).createSVGDocument(null, in);
in.close();


// Try to read embedded height and width
float svgWidth = Float.parseFloat(svgDoc.getDocumentElement().getAttribute("width").replaceAll("[^0-9.,]",""));
float svgHeight = Float.parseFloat(svgDoc.getDocumentElement().getAttribute("height").replaceAll("[^0-9.,]",""));

PdfTemplate svgTempl = PdfTemplate.createTemplate(writer, svgWidth, svgHeight);
Graphics2D g2d = svgTempl.createGraphics(svgWidth,svgHeight);          

GraphicsNode chartGfx = (new GVTBuilder()).build(new BridgeContext(new UserAgentAdapter()), svgDoc);
chartGfx.paint(g2d);
g2d.dispose();

Image img = new ImgTemplate(svgTempl);
Run Code Online (Sandbox Code Playgroud)

我发现在下面的页面中: PdfPTable和PdfTemplate

有一种方法可以创建类似于Template的东西:

PdfFormXObject svgTempl = new PdfFormXObject(new Rectangle(svgWidth, svgHeight));
Run Code Online (Sandbox Code Playgroud)

我该如何创建Graphics2D?

java svg itext7

2
推荐指数
1
解决办法
1254
查看次数

标签 统计

itext7 ×1

java ×1

svg ×1