Hi,
I found a solution to locate correctly my FOP configuration file :
fopFactory.setUserConfig(this.getClass().getResource("mycfg.xml")
.toURI().toString());
The Calibri Font is embedded in my PDF File !
Thank you for your help
Fabrice
De : Simon Steiner [mailto:[email protected]]
Envoyé : mercredi 29 avril 2015 17:05
À : [email protected]
Cc : [email protected]
Objet : RE: Font not embedded in PDF File !
Hi,
I have done in the past:
String fopxconf = "<fop version=\"1.0\"><renderers>"
+ "<renderer mime=\"application/pdf\">"
+ "</renderer></renderers></fop>";
FopFactory fopFactory = FopFactory.newInstance(new File(".").toURI(),
new ByteArrayInputStream(fopxconf.getBytes()));
Thanks
From: Fabrice MAUPIN [mailto:[email protected]]
Sent: 29 April 2015 15:54
To: [email protected]
Cc: [email protected]
Subject: RE: Font not embedded in PDF File !
Hi,
I try this :
URL url = new URL(this.getClass().getResource("mycfg.xml").toURI()
.toString());
JarURLConnection connection = (JarURLConnection) url
.openConnection();
File file = new File(connection.getJarFileURL().toURI());
fopFactory.setUserConfig(file);
It takes into account to me well the FOP configuration file but I have a new
error message :
Contenu non autorisé dans le prologue.
2015-04-29 16:26:17,069 ERROR [JavaFX Application Thread]
manager.EstimateManager -
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper
ErrorHandlerWrapper.java 203 createSAXParseException
2015-04-29 16:26:17,069 ERROR [JavaFX Application Thread]
manager.EstimateManager -
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper
ErrorHandlerWrapper.java 177 fatalError
2015-04-29 16:26:17,069 ERROR [JavaFX Application Thread]
manager.EstimateManager -
com.sun.org.apache.xerces.internal.impl.XMLErrorReporter XMLErrorReporter.java
441 reportError
2015-04-29 16:26:17,069 ERROR [JavaFX Application Thread]
manager.EstimateManager -
com.sun.org.apache.xerces.internal.impl.XMLErrorReporter XMLErrorReporter.java
368 reportError
2015-04-29 16:26:17,069 ERROR [JavaFX Application Thread]
manager.EstimateManager -
com.sun.org.apache.xerces.internal.impl.XMLScanner XMLScanner.java 1437
reportFatalError
….
This is my FOP file :
<?xml version="1.0" encoding="UTF-8"?>
<!-- configuration FOP -->
<fop version="1.0">
<renderers>
<renderer mime="application/pdf">
<fonts>
<font
metrics-url="file:///C:/Users/FMAUPIN/Desktop/fonts/calibri.xml
<file:///C:\Users\FMAUPIN\Desktop\fonts\calibri.xml> "
kerning="yes"
embed-url="file:///C:/Windows/Fonts/calibri.ttf
<file:///C:\Windows\Fonts\calibri.ttf> ">
<font-triplet name="Calibri" style="normal"
weight="normal" />
</font>
<font
metrics-url="file:///C:/Users/FMAUPIN/Desktop/fonts/calibrib.xml
<file:///C:\Users\FMAUPIN\Desktop\fonts\calibrib.xml> "
kerning="yes"
embed-url="file:///C:/Windows/Fonts/calibrib.ttf
<file:///C:\Windows\Fonts\calibrib.ttf> ">
<font-triplet name="Calibrib" style="normal"
weight="bold" />
</font>
<!-- détection automatique des fonts installées -->
<auto-detect />
</fonts>
</renderer>
</renderers>
</fop>
Any ideas ?
De : Terence M. Bandoian [mailto:[email protected]]
Envoyé : mercredi 29 avril 2015 16:48
À : [email protected]
Objet : Re: Font not embedded in PDF File !
Hi, Fabrice-
If it's in the JAR file, I don't believe the config file may be accessed
directly using java.io.File. Have you tried the other FopFactory.setUserConfig
methods?
-Terence Bandoian
On 4/29/2015 3:56 AM, Fabrice MAUPIN wrote:
Hi,
After several tests, we have well a problem with the location of the FOP
configuration file !!!
fopFactory.setUserConfigBaseURI(this.getClass()
.getResource("mycfg.xml").toURI());
doesn’t work !
If I use this (external call) :
String config = "D:/mycfg.xml";
fopFactory.setUserConfig(new File(config));
it’s ok !
But I would prefer that my FOP configuration file is in the JAR file.
How to set user config with a configuration file inside a Jar File ?
De : Fabrice MAUPIN [mailto:[email protected]]
Envoyé : mercredi 29 avril 2015 09:30
À : '[email protected]'
Cc : '[email protected]'
Objet : RE: Font not embedded in PDF File !
Hi,
And the calibri*.xml files are very present on “C:/Users/FMAUPIN/Desktop/fonts”
directory.
To locate my FOP configuration file, I use :
fopFactory.setUserConfigBaseURI(this.getClass()
.getResource("mycfg.xml").toURI());
De : Fabrice MAUPIN [mailto:[email protected]]
Envoyé : mercredi 29 avril 2015 09:11
À : '[email protected]'
Cc : '[email protected]'
Objet : RE: Font not embedded in PDF File !
Hi,
The FOP configuration file is embedded into the Jar File.
URI : jar:file:/C:/Program%20Files/Gizmo/app/gizmo.jar!/tab/manager/mycfg.xml
mycfg.xml is my FOP configuration file
Fabrice
De : Terence M. Bandoian [mailto:[email protected]]
Envoyé : mardi 28 avril 2015 18:19
À : [email protected]
Objet : Re: Font not embedded in PDF File !
Hi, Fabrice-
Are you sure the application can locate the FOP configuration file when it's
executed outside of Eclipse?
-Terence Bandoian
On 4/28/2015 9:23 AM, Fabrice MAUPIN wrote:
Hi,
I would like that the Calibri Font is embedded in my PDF File.
This is my FOP configuration file :
<fop version="1.0">
<renderers>
<renderer mime="application/pdf">
<fonts>
<font
metrics-url="file:///C:/Users/FMAUPIN/Desktop/fonts/calibri.xml
<file:///C:%5CUsers%5CFMAUPIN%5CDesktop%5Cfonts%5Ccalibri.xml> "
kerning="yes"
embed-url="file:///C:/Windows/Fonts/calibri.ttf
<file:///C:%5CWindows%5CFonts%5Ccalibri.ttf> ">
<font-triplet name="Calibri" style="normal"
weight="normal" />
</font>
<font
metrics-url="file:///C:/Users/FMAUPIN/Desktop/fonts/calibrib.xml
<file:///C:%5CUsers%5CFMAUPIN%5CDesktop%5Cfonts%5Ccalibrib.xml> "
kerning="yes"
embed-url="file:///C:/Windows/Fonts/calibrib.ttf
<file:///C:%5CWindows%5CFonts%5Ccalibrib.ttf> ">
<font-triplet name="Calibrib" style="normal"
weight="bold" />
</font>
<auto-detect />
</fonts>
</renderer>
</renderers>
</fop>
When I launch my application (Jar File packaging by Eclipse) and that I
generate my PDF file, I notice that the Calibri font was not embedded in this
file !
FOP takes by default a Font (Times I think).
It’s very strange because the <auto detect> tag has to take into account the
all installed Fonts in my system folder !
For information, if I execute my application under Eclipse (before build - DEV
mode), no problem : the Calibri Font is embedded in my PDF File !
So, Is it necessary to embed the Font during the packaging of the application
so that it works ? If yes how ?
The behavior of <auto – detect> tag is it different between running from
Eclipse and running from Jar File ?
Any ideas ?
Thank you in advance
Fabrice
_____
<http://www.avast.com/> Image removed by sender. Avast logo
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel
antivirus Avast.
www.avast.com <http://www.avast.com/>
_____
<http://www.avast.com/> Image removed by sender. Avast logo
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel
antivirus Avast.
www.avast.com <http://www.avast.com/>
_____
<http://www.avast.com/> Image removed by sender. Avast logo
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel
antivirus Avast.
www.avast.com <http://www.avast.com/>
---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel
antivirus Avast.
http://www.avast.com