Fonts Issue Only in Linux on processing PPTX files

I am using apose.slides 16.6.0. When processing PPTX documents in windows environment there is no issue. However, when the application is deployed in a Linux env, I get the below error. In both cases, the JVM is 1.7.

This happens only on Linux env (and not Windows) and only for aspose.slides. I have other aspose libraries (Word, Cells, PDF) all working fine.

com.aspose.slides.ms.pbdb106a0.co: Cannot find any fonts installed on the system.
at com.aspose.slides.p6a2feef8.pd8700cbd.j.do(Unknown Source) ~[aspose-slides-
16.6.0.jar:16.6.0]

As suggested in the forums, I have tried
FontsLoader.loadExternalFonts(new String[]{"/usr/share/fonts"} );

That doesn't help.

Please advice on a fix.

Can someone reply to this?

Hi Mani,


I have observed your comments. We are looking into this in details we will get back to you with feedback soon.

Best Regards,

Any update on this?

Hi Mani,

I have observed your requirements and like to share that the issue is likely owing to missing font on your end. Can you please share the source presentation and used sample code with us along with any custom font used in your presentation. I will investigate the issue further on my end to help you out.

Many Thanks,

I do not have any custom fonts in my PPTX. It fails for even a simple blank presentation that does not have any content in it. That is true even for a brand new PPTX that is created by aspose. Please note that this happens only in Linux.


Below is the code segment and the error message. System has some default fonts in /usr/share/fonts/

Presentation ppt = new Presentation();
FontsLoader.loadExternalFonts(new String[]{"/usr/share/fonts"} );
IDocumentProperties props = ppt.getDocumentProperties();
props.set_Item(BotServiceConstants.WATERMARK_VALUE, BotServiceConstants.WATERMARK_INTERNAL_USE_ONLY);
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
ppt.save(outputStream, com.aspose.slides.SaveFormat.Pptx);



com.aspose.slides.ms.pbdb106a0.co: Cannot find any fonts installed on the system.
at com.aspose.slides.p6a2feef8.pd8700cbd.j.do(Unknown Source) ~[aspose-slides-16.6.0.jar:16.6.0]
at com.aspose.slides.p6a2feef8.pd8700cbd.j.do(Unknown Source) ~[aspose-slides-16.6.0.jar:16.6.0]
at com.aspose.slides.p6a2feef8.pd8700cbd.j.do(Unknown Source) ~[aspose-slides-16.6.0.jar:16.6.0]
at com.aspose.slides.wx.do(Unknown Source) ~[aspose-slides-16.6.0.jar:16.6.0]
at com.aspose.slides.wp.(Unknown Source) ~[aspose-slides-16.6.0.jar:16.6.0]
at com.aspose.slides.wp.do(Unknown Source) ~[aspose-slides-16.6.0.jar:16.6.0]
at com.aspose.slides.bls.int(Unknown Source) ~[aspose-slides-16.6.0.jar:16.6.0]
at com.aspose.slides.bls.static(Unknown Source) ~[aspose-slides-16.6.0.jar:16.6.0]
at com.aspose.slides.bkk.do(Unknown Source) ~[aspose-slides-16.6.0.jar:16.6.0]
at com.aspose.slides.bkk.do(Unknown Source) ~[aspose-slides-16.6.0.jar:16.6.0]
at com.aspose.slides.bkk.(Unknown Source) ~[aspose-slides-16.6.0.jar:16.6.0]
at com.aspose.slides.TextFrame.do(Unknown Source) ~[aspose-slides-16.6.0.jar:16.6.0]
at com.aspose.slides.TextFrame.do(Unknown Source) ~[aspose-slides-16.6.0.jar:16.6.0]
at com.aspose.slides.TextFrame.else(Unknown Source) ~[aspose-slides-16.6.0.jar:16.6.0]
at com.aspose.slides.bw.do(Unknown Source) ~[aspose-slides-16.6.0.jar:16.6.0]
at com.aspose.slides.aaa.do(Unknown Source) ~[aspose-slides-16.6.0.jar:16.6.0]
at com.aspose.slides.aaa.do(Unknown Source) ~[aspose-slides-16.6.0.jar:16.6.0]
at com.aspose.slides.eh.do(Unknown Source) ~[aspose-slides-16.6.0.jar:16.6.0]
at com.aspose.slides.bdx.do(Unknown Source) ~[aspose-slides-16.6.0.jar:16.6.0]
at com.aspose.slides.axn.do(Unknown Source) ~[aspose-slides-16.6.0.jar:16.6.0]
at com.aspose.slides.axn.do(Unknown Source) ~[aspose-slides-16.6.0.jar:16.6.0]
at com.aspose.slides.Presentation.do(Unknown Source) ~[aspose-slides-16.6.0.jar:16.6.0]
at com.aspose.slides.Presentation.do(Unknown Source) ~[aspose-slides-16.6.0.jar:16.6.0]
at com.aspose.slides.Presentation.if(Unknown Source) ~[aspose-slides-16.6.0.jar:16.6.0]
at com.aspose.slides.Presentation.save(Unknown Source) ~[aspose-slides-16.6.0.jar:16.6.0]

Hi Mani,


I have worked with the source code shared by you using Aspose.Slides for JAVA 16.7.0 and have been able to observe the issue. A ticket with ID SLIDESJAVA-35644 has been added in our issue tracking system to resolve the issue. This thread has been associated with the ticket so that we share notification with you once issue will be fixed.

We are sorry for your inconvenience,

Hi Mani,


Our product team has investigated issue on their end. Can you please share the following information so that we can investigate issue in details.

OS name and version.
java version.
default permissions of the java process.
the list of installed fonts (result of fc-list command).
fonts configuration file (default location - /etc/fonts/fonts conf).

Best Regards,

Here are the requested details:

Red Hat Enterprise Linux Server release 6.6 (Santiago)

java version “1.7.0_67”

-rwxr-xr-x 1 [username] [username] 7718 Jul 25 2014 java



fc-list

Utopia:style=Bold Italic

Nimbus Sans L:style=Regular Italic

Hershey-Gothic-English:style=Regular

URW Palladio L:style=Roman

Century Schoolbook L:style=Bold Italic

Nimbus Sans L:style=Bold

Utopia:style=Bold

Hershey-Plain-Duplex-Italic:style=Regular

URW Chancery L:style=Medium Italic

Nimbus Roman No9 L:style=Regular

Century Schoolbook L:style=Bold

Century Schoolbook L:style=Italic

Nimbus Sans L:style=Regular

Hershey-Plain-Duplex:style=Regular

URW Palladio L:style=Italic

Nimbus Sans L:style=Bold Condensed

URW Gothic L:style=Demi

Nimbus Roman No9 L:style=Medium Italic

Nimbus Mono L:style=Bold Oblique

Dingbats:style=Regular

Nimbus Roman No9 L:style=Medium

Nimbus Sans L:style=Bold Italic

Nimbus Mono L:style=Regular

Hershey-Plain-Triplex:style=Regular

Hershey-Script-Simplex:style=Regular

URW Gothic L:style=Book

Utopia:style=Italic

Hershey-Plain-Triplex-Italic:style=Regular

Nimbus Sans L:style=Regular Condensed Italic

URW Bookman L:style=Demi Bold

URW Bookman L:style=Light

Hershey-Script-Complex:style=Regular

URW Gothic L:style=Demi Oblique

Standard Symbols L:style=Regular

URW Palladio L:style=Bold

Nimbus Sans L:style=Regular Condensed

URW Bookman L:style=Light Italic

Century Schoolbook L:style=Roman

Nimbus Roman No9 L:style=Regular Italic

Hershey-Gothic-Italian:style=Regular

URW Gothic L:style=Book Oblique

URW Palladio L:style=Bold Italic

Nimbus Mono L:style=Regular Oblique

Utopia:style=Regular

Nimbus Mono L:style=Bold

Hershey-Gothic-German:style=Regular

Nimbus Sans L:style=Bold Condensed Italic

URW Bookman L:style=Demi Bold Italic



fonts config attached (fonts.txt)

Hi Mani,


Thanks for sharing the information. We will get back to you with good news soon.

Best Regards,

Hi Mani,

Our product team has investigated the issue on their end. It seems the java process is unable to create temporary file. Can you please try using following java code.

java.io.File tempFile = java.io.File.createTempFile(“aspose”, “slides”);

Or java process unable to read from /usr/share/fonts. You may please need to check permissions for this directory (ls -l) and give read access for the user/group that used to run java. Please share your kind feedback in this regard.

Many Thanks,

I tried the java.io.File
tempFile = java.io.File.createTempFile(“aspose”, “slides”); option. Temporary files like aspose2769484013890196500slides are created, but no change in behavior.


Can you please give some specific instructions on when this temp file is to be created and deleted? I do not want too many temp files lying around without purpose.

The user that is running java process does have read access to /usr/share/fonts directory.

Can you please provide some specific resolutions so we can resolve and release to production?

Thanks for your prompt response.

Hi Mani,

I have share the feedback with our product team and will get back to you as soon as further feedback will be shared by our product team.

Many Thanks,

It is now more than 2 weeks since the issue was originally reported. This issue is now holding our production release. What is the ETA on the resolution?

Hi Mani,

I am sorry for your inconvenience.

Our product team has been trying to investigate the issue on their end have failed to reproduce that in our local environments (We have tried Centos 6 x64 and Solaris 10 x 86).

In order to proceed further, we have created special release of Aspose.Slides(based on 16.8.0.0), that includes some hot fixes and debug messages inorder to locate your problem.

Please note to enable debug info in Aspose.Slides you should:

add log4j 1.2.x (tested on 1.2.9) to classpath
add log4j.xml to classpath
add ‘aspose.debug’ system property (how?) with value 'enabled’

You can download it from google drive - aspose.slides-16.8.0.1:
https://drive.google.com/file/d/0B7VQkX56YvXeQlZWOXJ3Z3p1d2c/view?usp=drive_web

Please use this in your program and kindly share the program output(with debug messages) for new Aspose.Slides library with us. We will investigate the issue further on our end to help you further.

Many Thanks,

We cannot access Google drive from our internal network. As a result, I am unable to use your hot fix.


However, adding some ttf fonts to the /usr/share/fonts/truetype folder seems to fix the problem. Aspose.slides in particular looks for TTF fonts to process. Adding some TTF fonts like Arial in the above seems to have fixed the issue.

Thanks!

Hi Mani,


You are welcome. Please share feedback with us if there is still an issue.

Best Regards,

The issues you have found earlier (filed as SLIDESJAVA-35644) have been fixed in this update.


This message was posted using Notification2Forum from Downloads module by Aspose Notifier.