在Java中使用嵌入式SVG创建PDF文件
我有一个SVG文件,我需要创建一个嵌入SVG的PDF。我尝试使用ApachePDFBox(见下文),但我得到一个错误,即“不支持SVG文件”。有没有关于如何使用嵌入式SVG创建PDF的想法?它不必与PDFBox一起使用,而且我不希望将SVG转换为图像文件在Java中使用嵌入式SVG创建PDF文件,java,pdfbox,Java,Pdfbox,我有一个SVG文件,我需要创建一个嵌入SVG的PDF。我尝试使用ApachePDFBox(见下文),但我得到一个错误,即“不支持SVG文件”。有没有关于如何使用嵌入式SVG创建PDF的想法?它不必与PDFBox一起使用,而且我不希望将SVG转换为图像文件 PDDocument doc = new PDDocument(); PDPage page = new PDPage(); doc.addPage(page); PDImageXObject pdIm
PDDocument doc = new PDDocument();
PDPage page = new PDPage();
doc.addPage(page);
PDImageXObject pdImage = PDImageXObject.createFromFile("C:/chart.svg", doc);
PDPageContentStream contentStream = new PDPageContentStream(doc, page);
contentStream.drawImage(pdImage, 70, 250);
contentStream.close();
doc.save("C:/chart.pdf");
doc.close();
线程“main”java.lang.IllegalArgumentException中出现异常:Image
不支持的类型:位于的chart.svg
org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject.createFromFileByExtension(PDImageXObject.java:257)
在
org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject.createFromFile(PDImageXObject.java:202)
位于testjava.TestPdfBox.main(TestPdfBox.java:18)
也许可以试试jasper reports,谢谢,我试过了,但是因为我没有数据,只有一张图片,所以我没有办法创建一个页面(没有数据)并添加图片。最后我用图表创建了一个“没有数据”的页面,谢谢你在PDF中指向jasperSVG。或者您想将SVG转换为矢量图形,这是您的问题吗?如果这是你想要的,你可以将Apache BATIK与我嵌入了一个SVG和JasperReports结合起来,你是说SVG是在幕后转换的吗?也许可以试试jasper reports,谢谢,我试过了,但是因为我没有数据,只有一个图像,所以我找不到创建页面(没有数据)和添加图像的方法。我最终创建了一个“无数据”页面和图表,感谢您指出jasperSVG在PDF中不受支持。或者您想将SVG转换为矢量图形,这是您的问题吗?如果这是您想要的,您可以将Apache BATIK与我嵌入的SVG与JasperReports结合起来,您是说SVG是在幕后转换的吗?