We have purchased licenses for Aspose Cells for Java.
We are having issues displaying SVG images inside PowerPoint.
It seems that Aspose embeds the text nodes, font families, font styles etc inside the svg and if the client which renders it (PowerPoint in this case) doesn’t have that same font and style, then it has issues rendering the SVG correctly.
Attached what the image looks like in powerpoint, as well as the svg binary - test_image where you can see the embedded fonts and styles.
We are wondering if it is possible to somehow convert the SVG text nodes into vectors?
For example Aspose.Words for Java SvgTextOutputMode | Aspose.Words for Java has the ability to render text using curves or glyphs, or use svg fonts to render the text.
We can see that you offer an online tool Text to Vector | Convert SVG text to vector graphics online for free to do this as well
As well as provide the ability in Aspose.SVG Convert Text to Vector Paths in C# - Aspose.SVG
What is the best way to ensure that any SVG created by Aspose Cells, gets rendered correctly on a different application or machine? Screenshot 2023-12-22 at 1.21.59 AM.png (19.3 KB)
@TomBedard
At present, Aspose.Cells does not support rendering text using curves and glyphs or using svg fonts to render the text.
We have opened the following new ticket(s) in our internal issue tracking system and will deliver their fixes according to the terms mentioned in Free Support Policies.
Issue ID(s): CELLSJAVA-45785
You can obtain Paid Support Services if you need support on a priority basis, along with the direct access to our Paid Support management team.
My coworker gave me the file, which I am 90% sure was generated by Aspose.Cells. We use Aspose.Cells for Java to convert tables and charts to SVG images.
I’ll confirm with him and/or provide another example.
I’ve attached another file.
The issue isn’t really related to MY images. Aspose.Cells embeds the fonts in the image. For example if you open the attached in Notepad++ on lines 65-69 you’ll see:
(Apologies for the formatting, not sure how to do this correctly)
I’m looking for an alternative to having the font be named “font-family=Arial” which requires the font to be on the target machine. Obviously, Arial is fine, but custom and obscure fonts are unlikely to be on my end user machine.
Would like to be able to indicate a source to get the fonts, or embed them.
This is to inform you that your issue (Ticket ID: “CELLSJAVA-45785”) has been resolved. The fix will be included in our upcoming release (Aspose.Cells v25.4) that we plan to release in the first half of April 2025. You will be notified when the next version is released.
We will add a new API svgImageOptions.setEmbeddedFontType(SvgEmbeddedFontType.WOFF) to support to embed WOFF into Svg image.
Demo code:
Workbook wb = new Workbook("Book1.xlsx");
System.out.println(wb.getDefaultStyle().getFont());
SvgImageOptions svgImageOptions = new SvgImageOptions();
svgImageOptions.setEmbeddedFontType(SvgEmbeddedFontType.WOFF);
SheetRender sheetRender = new SheetRender(wb.getWorksheets().get(0), svgImageOptions);
sheetRender.toImage(0, "output.svg");
Also, here is a demo output Svg image with WOFF fonts embedded for your reference. output.zip (43.5 KB)
Sets consent for sending user data to Google for online advertising purposes.
Sets consent for personalized advertising.
Cookie Notice
To provide you with the best experience, we use cookies for personalization, analytics, and ads. By using our site, you agree to our cookie policy.
More info
Enables storage, such as cookies, related to analytics.
Enables storage, such as cookies, related to advertising.
Sets consent for sending user data to Google for online advertising purposes.
Sets consent for personalized advertising.
Cookie Notice
To provide you with the best experience, we use cookies for personalization, analytics, and ads. By using our site, you agree to our cookie policy.
More info
Enables storage, such as cookies, related to analytics.
Enables storage, such as cookies, related to advertising.
Sets consent for sending user data to Google for online advertising purposes.