node-export-server icon indicating copy to clipboard operation
node-export-server copied to clipboard

Remove feDropShadow from exported SVG files via config options?

Open DunhamGitHub opened this issue 1 year ago • 3 comments

Question

What options must be set in the configuration of the Export Server, so that the exported SVG does not include <feDropShadow> ?

How the problem came up

Export Server v2.1.0 does not included the <feDropShadow> in the SVG code. Export Server v4 does however. -> This crashes my Jaspersoft PDF-Report engine

Actual behaviour

Jaspersoft Reporting engine crashed when <feDropShadow> is in the SVG code.

Screenshot 2024-12-11 at 07 21 25
+5.58 _ Exception: org.w3c.dom.DOMException: The current document is unable to create an element of the requested type (namespace: http://www.w3.org/2000/svg, name: feDropShadow).
+5.581 _ stack: [org.apache.batik.dom.AbstractNode.createDOMException(AbstractNode.java:408), org.apache.batik.anim.dom.SVGDOMImplementation.createElementNS(SVGDOMImplementation.java:201), org.apache.batik.anim.dom.SVGOMDocument.createElementNS(SVGOMDocument.java:374), org.apache.batik.dom.util.SAXDocumentFactory.startElement(SAXDocumentFactory.java:651), com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:509), com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:374), com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2783), com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:601), com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:112), com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:504), com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:841), com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:770), com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141), com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213), com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:642), org.apache.batik.dom.util.SAXDocumentFactory.createDocument(SAXDocumentFactory.java:453), org.apache.batik.dom.util.SAXDocumentFactory.createDocument(SAXDocumentFactory.java:357), org.apache.batik.anim.dom.SAXSVGDocumentFactory.createDocument(SAXSVGDocumentFactory.java:225), org.apache.batik.anim.dom.SAXSVGDocumentFactory.createSVGDocument(SAXSVGDocumentFactory.java:135), net.sf.jasperreports.renderers.util.SvgDataSniffer.getSvgInfo(SvgDataSniffer.java:87), net.sf.jasperreports.renderers.util.RendererUtil.getSvgInfo(RendererUtil.java:126), net.sf.jasperreports.renderers.util.RendererUtil.isSvgData(RendererUtil.java:107), net.sf.jasperreports.renderers.util.RendererUtil.isSvgData(RendererUtil.java:146), net.sf.jasperreports.engine.export.JRPdfExporter$InternalImageProcessor.process(JRPdfExporter.java:1592), net.sf.jasperreports.engine.export.JRPdfExporter$InternalImageProcessor.access$300(JRPdfExporter.java:1547), net.sf.jasperreports.engine.export.JRPdfExporter.exportImage(JRPdfExporter.java:1487), net.sf.jasperreports.engine.export.JRPdfExporter.exportElements(JRPdfExporter.java:1105), net.sf.jasperreports.engine.export.JRPdfExporter.exportPage(JRPdfExporter.java:1068), net.sf.jasperreports.engine.export.JRPdfExporter.exportReportToStream(JRPdfExporter.java:932), net.sf.jasperreports.engine.export.JRPdfExporter.exportReport(JRPdfExporter.java:552), net.sf.dynamicreports.jasper.builder.JasperReportBuilder.export(JasperReportBuilder.java:600), net.sf.dynamicreports.jasper.builder.JasperReportBuilder.toPdf(JasperReportBuilder.java:536), dynamicreports.Rep3.exportReportFile(Rep3.java:5449), dynamicreports.Rep3.makeReport(Rep3.java:5078), dynamicreports.Rep3.main(Rep3.java:6112)]

DunhamGitHub avatar Dec 11 '24 06:12 DunhamGitHub

Hi @DunhamGitHub,

Do you still encounter this issue?

PaulDalek avatar Jun 03 '25 15:06 PaulDalek

Hi @DunhamGitHub,

Do you still encounter this issue?

I have not updated past Version 4 yet. However this issue comes down to the tag <feDropShadow/>, is that still being used? (In which case this error in my environment would be still thrown)

*My current fix is just looping through all .svg files and regex-removing this tag, works well.

DunhamGitHub avatar Jun 05 '25 07:06 DunhamGitHub

Updated to 5.0.0! feDropShadow is still present.

Image

*The SVG displays fine, it's just my reporting engine that (obviously) cannot handle that one tag.

stock.svg.zip

DunhamGitHub avatar Jun 06 '25 14:06 DunhamGitHub