2016-08-12 2 views
0

Aufgrund einiger Sonderzeichen in meiner Sprache, muss ich Schrift in PDF-Datei einbetten. Ich lese viele Seiten über FOP, und ich herausgefunden ich Konfigurationsdatei wie diese benötigen:Maven pdf plugin: Wo man userconfig.xml setzen kann

<?xml version="1.0"?> 
<fop> 
    <renderers> 
    <renderer mime="application/pdf">  
     <fonts>       
      <font kerning="yes" embed-url="file:///C:/windows/fonts/arial.ttf"> 
        <font-triplet name="Arial" style="normal" weight="normal"/> 
       </font>      
     </fonts> 
    </renderer> 
    </renderers>  
</fop> 

Unfortunatelly, wenn ich mvn pdf laufen: pdf-X, ich sehe Linie

[DEBUG] userconfig is null 

Welche sieht so aus als wäre die config geladen. Wo sollte ich die Konfigurationsdatei ablegen und wie kann ich dem pdf-Plugin sagen, wo es hinschauen soll?

Antwort

1

Ich habe die Lösung gefunden, aber ich bin noch nicht überzeugt, dass es ideal ist. Ich habe Exec Maven Plugin benutzt und den fop mit dem Maven Pdf Plugin erstellt. Die endgültige Lösung sieht so aus:

pom.xml

<?xml version="1.0" encoding="UTF-8"?> 
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>cz.kosina</groupId> 
    <artifactId>pdf-generate</artifactId> 
    <version>1.0-SNAPSHOT</version> 
    <packaging>jar</packaging> 
    <name>PDF generation</name> 
    <repositories /> 
    <build> 
     <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-pdf-plugin</artifactId> 
      <version>1.3</version> 
      <configuration> 
       <locales>cs_CZ</locales> 
      </configuration> 
     </plugin> 
     <plugin> 
      <groupId>org.codehaus.mojo</groupId> 
      <artifactId>exec-maven-plugin</artifactId> 
      <version>1.2.1</version> 
      <configuration> 
       <mainClass>org.apache.fop.cli.Main</mainClass> 
       <arguments> 
        <argument>-fo</argument> 
        <argument>.\target\pdf\maven-pdf-plugin.fo</argument> 
        <argument>-c</argument> 
        <argument>.\target\pdf\fop.xconf</argument> 
        <argument>file.pdf</argument> 
       </arguments> 
      </configuration> 
     </plugin> 
     </plugins> 
    </build> 
    <dependencies> 
     <dependency> 
     <groupId>org.apache.xmlgraphics</groupId> 
     <artifactId>fop</artifactId> 
     <version>2.1</version> 
     </dependency> 
    </dependencies> 
</project> 

fop.xconf:

<?xml version="1.0" encoding="UTF-8"?> 
<fop> 
    <renderers> 
     <renderer mime="application/pdf"> 
     <fonts> 
      <font kerning="yes" embed-url="file:///C:/windows/fonts/arial.ttf"> 
       <font-triplet name="Arial" style="normal" weight="normal" /> 
      </font> 
     </fonts> 
     </renderer> 
    </renderers> 
</fop> 

fop.xconf in site/Ressourcen gespeichert ist neben pdf-config.xml und es ist durch maven pdf plugin ins Ziel kopiert.

Verwandte Themen