We are using Spire.PDF version 5.5.0.
Multi-byte characters are garbled when adding SVG as a layer to PDF.
We also tried converting SVG to PNG using Apache Batik. No garbled characters occurred in Apache Batik.
Spire.PDF 5.5.0
OS: Windows10 and Amazon Linux2
JDK: OpenJDK 1.8.0
Code:
- Code: Select all
PdfDocument pdf = ...;
int dpiForPdfToPng = ...;
int dpiForPdfToPng = ...;
int pageNumber = ...;
String layerName = ...;
PdfDocument svg = new PdfDocument();
svg.loadFromSvg(svgTmpPath.toString());
Dimension2D d2d = (Dimension2D) svg.getPages().get(0).getSize().clone();
d2d.setSize(d2d.getWidth() * (96.0 / (double) dpiForPdfToPng),
d2d.getHeight() * (96.0 / (double) dpiForPdfToPng));
PdfLayer pdfLayer = pdf.getLayers().addLayer(layerName);
PdfCanvas canvas = pdfLayer.createGraphics(pdf.getPages().get(pageNumber).getCanvas());
canvas.drawTemplate(svg.getPages().get(0).createTemplate(), new Point2D.Float(0, 0), d2d);