无法使用Itext将SVG添加到PDF

时间:2019-03-12 19:03:38

标签: svg itext

我正在尝试使用IText API添加示例SVG文件。我正在使用最新版本的iText,但出现以下错误。以下是添加svg的代码。谁能帮我解决这个问题?

从此处获取SVG文件:www.flaticon.com的Freepik制作的图标已获CC 3.0 BY许可

下面是POM

<dependency>
    <groupId>com.itextpdf</groupId>
    <artifactId>itext7-core</artifactId>
    <version>7.1.5</version>
    <type>pom</type>
</dependency>
<!-- https://mvnrepository.com/artifact/com.itextpdf/svg -->
<dependency>
    <groupId>com.itextpdf</groupId>
    <artifactId>svg</artifactId>
    <version>7.1.5</version>
</dependency>

代码

PdfWriter writer = new PdfWriter(new FileOutputStream("C:\\Users\\Documents\\SVGPOC\\Sample1.pdf"));

PdfDocument pdfDoc = new PdfDocument(writer);

Document doc = new Document(pdfDoc);

URL svgUrl = new File("C:\\Users\\Documents\\SVGPOC\\teamwork.svg").toURI().toURL();
doc.add(new Paragraph("Testing SVG on PDF"));                      
Image image = SvgConverter.convertToImage(svgUrl.openStream(), pdfDoc);
doc.add(image);
doc.close();


Exception in thread "main" java.lang.UnsupportedOperationException
    at com.itextpdf.svg.renderers.path.impl.MoveTo.setCoordinates(MoveTo.java:83)
    at com.itextpdf.svg.renderers.impl.PathSvgNodeRenderer.processPathOperator(PathSvgNodeRenderer.java:205)
    at com.itextpdf.svg.renderers.impl.PathSvgNodeRenderer.getShapes(PathSvgNodeRenderer.java:228)
    at com.itextpdf.svg.renderers.impl.PathSvgNodeRenderer.doDraw(PathSvgNodeRenderer.java:115)
    at com.itextpdf.svg.renderers.impl.AbstractSvgNodeRenderer.draw(AbstractSvgNodeRenderer.java:121)
    at com.itextpdf.svg.renderers.impl.AbstractBranchSvgNodeRenderer.doDraw(AbstractBranchSvgNodeRenderer.java:100)
    at com.itextpdf.svg.renderers.impl.SvgTagSvgNodeRenderer.doDraw(SvgTagSvgNodeRenderer.java:62)
    at com.itextpdf.svg.renderers.impl.AbstractSvgNodeRenderer.draw(AbstractSvgNodeRenderer.java:121)
    at com.itextpdf.svg.renderers.impl.PdfRootSvgNodeRenderer.draw(PdfRootSvgNodeRenderer.java:93)
    at com.itextpdf.svg.converter.SvgConverter.convertToXObject(SvgConverter.java:816)
    at com.itextpdf.svg.converter.SvgConverter.convertToXObject(SvgConverter.java:663)
    at com.itextpdf.svg.converter.SvgConverter.convertToXObject(SvgConverter.java:653)
    at com.itextpdf.svg.converter.SvgConverter.convertToXObject(SvgConverter.java:688)
    at com.itextpdf.svg.converter.SvgConverter.convertToImage(SvgConverter.java:713)
    at demoitext.ITextDemo.main(ITextDemo.java:33)

0 个答案:

没有答案