Page 1 of 1

didn't show arabic fonts in pdf

PostPosted: Fri Nov 29, 2013 10:10 pm
by tariq
my problem is in pdf didn't show arabic fonts so how i can do. Instead of arabic fonts show "#".

Re: didn't show arabic fonts in pdf

PostPosted: Fri Nov 29, 2013 11:23 pm
by tariq
when i'm using docx4j 3.0 error showing in log this.

Code: Select all
log4j:WARN No appenders could be found for logger (org.docx4j.jaxb.Context).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
java.lang.NullPointerException
   at com.sun.org.apache.xerces.internal.dom.ParentNode.internalInsertBefore(Unknown Source)
   at com.sun.org.apache.xerces.internal.dom.ParentNode.insertBefore(Unknown Source)
   at com.sun.org.apache.xerces.internal.dom.NodeImpl.appendChild(Unknown Source)
   at org.docx4j.fonts.RunFontSelector.result(RunFontSelector.java:202)
   at org.docx4j.fonts.RunFontSelector.fontSelector(RunFontSelector.java:366)
   at org.docx4j.openpackaging.parts.WordprocessingML.MainDocumentPart$FontAndStyleFinder.apply(MainDocumentPart.java:508)
   at org.docx4j.TraversalUtil$CallbackImpl.walkJAXBElements(TraversalUtil.java:163)
   at org.docx4j.TraversalUtil$CallbackImpl.walkJAXBElements(TraversalUtil.java:166)
   at org.docx4j.TraversalUtil$CallbackImpl.walkJAXBElements(TraversalUtil.java:166)
   at org.docx4j.TraversalUtil$CallbackImpl.walkJAXBElements(TraversalUtil.java:166)
   at org.docx4j.TraversalUtil$CallbackImpl.walkJAXBElements(TraversalUtil.java:166)
   at org.docx4j.TraversalUtil$CallbackImpl.walkJAXBElements(TraversalUtil.java:166)
   at org.docx4j.TraversalUtil.<init>(TraversalUtil.java:206)
   at org.docx4j.openpackaging.parts.WordprocessingML.MainDocumentPart.fontsInUse(MainDocumentPart.java:243)
   at org.docx4j.openpackaging.packages.WordprocessingMLPackage.setFontMapper(WordprocessingMLPackage.java:311)
   at PdfTest.docxToPdf(PdfTest.java:361)
   at PdfTest.main(PdfTest.java:55)



Re: didn't show arabic fonts in pdf

PostPosted: Mon Dec 02, 2013 8:53 pm
by jason
Can you post a short docx which demonstrates the issue please?

Re: didn't show arabic fonts in pdf

PostPosted: Tue Dec 03, 2013 6:01 pm
by tariq
here is arabic .docx file PIC

Re: didn't show arabic fonts in pdf

PostPosted: Tue Dec 03, 2013 6:35 pm
by tariq
its my generated PDF from docx4j 2.8.1 version.

Re: didn't show arabic fonts in pdf

PostPosted: Tue Dec 03, 2013 10:58 pm
by jason
Need the docx itself, not a picture of it...

Re: didn't show arabic fonts in pdf

PostPosted: Thu Dec 05, 2013 7:08 pm
by jason
Please try http://www.docx4java.org/docx4j/docx4j- ... 131205.jar which incorporates some changes of today which may be found at http://www.github.com/plutext/docx4j

Regarding your line of #####, this is happening because those glyphs aren't available in Times New Roman font.

Since we don't currently detect/handle that automatically

https://github.com/plutext/docx4j/issues/95

you can work around it with:

Code: Select all
      PhysicalFont font
            = PhysicalFonts.getPhysicalFonts().get("Arial Unicode MS");
      fontMapper.getFontMappings().put("Times New Roman", font);


See https://github.com/plutext/docx4j/blob/ ... utPDF.java for that in context.

Re: didn't show arabic fonts in pdf

PostPosted: Thu Dec 05, 2013 8:46 pm
by tariq
its Worked, Thankz Alooooot jason...