2016-08-12 2 views
0

Из-за некоторых специальных символов на моем языке мне нужно встроить шрифт в файл PDF. Я прочитал много страниц о ФОП, и я понял, мне нужен конфигурационный файл, как это:Maven pdf plugin: где положить userconfig.xml

<?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, когда я бегу МВН PDF: PDF -X, я вижу линию

[DEBUG] userconfig is null 

Какие выглядит как загружается конфиг. Где я должен поместить файл конфигурации и как я могу указать плагин pdf, где искать?

ответ

1

Я узнал о разрешении, но все же я не уверен, что он идеален. Я использовал Exec Maven Plugin и запускал fop с результатом, созданным из Maven Pdf Plugin. Окончательное решение выглядит следующим образом:

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 хранится в сайт/ресурсов рядом с PDF-config.xml и это скопирован в цель плагином maven pdf.