2016-07-08 5 views
1

Я не могу получить PDF/A-1a (даже не PDF/A-1b в соответствии с предполетным документом pdfbox), соответствующий PDF с метаданными с FOP 2.1.Соответствующие метаданные PDF/A с FOP

Скажем, я хочу, чтобы установить дату, язык, название и описание:

<fo:declarations xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:pdfaid="http://www.aiim.org/pdfa/ns/id/" 
    xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xml:lang="de"> 
    <x:xmpmeta xmlns:x="adobe:ns:meta/" id="hc_meta"> 
     <rdf:RDF> 
      <rdf:Description xmlns:xmp="http://ns.adobe.com/xap/1.0/" rdf:about=""> 
       <xmp:CreatorTool>hx</xmp:CreatorTool> 
       <dc:language> 
        <rdf:Bag> 
         <rdf:li>de</rdf:li> 
        </rdf:Bag> 
       </dc:language> 
       <dc:title> 
        <rdf:Alt> 
         <rdf:li xml:lang="de">Schrieb 2016-003 - Dings AG</rdf:li> 
        </rdf:Alt> 
       </dc:title> 
       <dc:creator> 
        <rdf:Seq> 
         <rdf:li>hxxxdingens Consulting GmbH, Rodger Moore</rdf:li> 
        </rdf:Seq> 
       </dc:creator> 
       <dc:description> 
        <rdf:Alt> 
         <rdf:li xml:lang="de">Schrieb 2016-003 - Dings AG XXX R 7 99 3 - 2016-06-30 (2016:06:30)</rdf:li> 
        </rdf:Alt> 
       </dc:description> 
       <dc:date> 
        <rdf:Seq> 
         <rdf:li>2016:06:30</rdf:li> 
        </rdf:Seq> 
       </dc:date> 
      </rdf:Description> 
     </rdf:RDF> 
    </x:xmpmeta> 
</fo:declarations> 

Тогда выход не будет соответствовать:

$ java -jar ~/prog/hcbriefe/preflight-app-2.0.2.jar test_1.pdf 
The file test_1.pdf is not valid, error(s) : 
7.2 : Error on MetaData, Title present in the document catalog dictionary can't be found in XMP information (Property is not defined) 
7.2 : Error on MetaData, Subject present in the document catalog dictionary can't be found in XMP information (Subject not found in XMP (dc:description["x-default"] not found)) 

Но когда я называю ExifTool установить название и описание на в PDF, он пройдет этот тест:

$ cp test_1.pdf test_1mod.pdf 
$ exiftool -title="Schrieb 2016-003 - Dings AG" \ 
    -description="Schrieb 2016-003 - Dings AG XXX R 7 99 3 - 2016-06-30 (2016:06:30)" \ 
    test_1mod.pdf 
    1 image files updated 

$ java -jar ~/prog/hcbriefe/preflight-app-2.0.2.jar test_1mod.pdf 
The file test_1mod.pdf is a valid PDF/A-1b file 

Что мне нужно включить в метаданные fo сделать его соответствующим готовым или прямо из FOP?

ответ

1

После некоторого сравнения я узнал. Язык в описании и названия элементов не может быть установлен в de, но должен быть установлен в x-default как

 ... 
     <dc:title> 
      <rdf:Alt> 
       <rdf:li xml:lang="x-default">Schrieb 2016-003 - Dings AG</rdf:li> 
      </rdf:Alt> 
     </dc:title> 
     ... 
     <dc:description> 
      <rdf:Alt> 
       <rdf:li xml:lang="x-default">Schrieb 2016-003 - Dings AG XXX R 7 99 3 - 2016-06-30 (2016:06:30)</rdf:li> 
      </rdf:Alt> 
     </dc:description> 
     <dc:date> 
<!-- some validators will complain if date has : instead of - !! --> 
      <rdf:Seq> 
       <rdf:li>2016-06-30</rdf:li> 
      </rdf:Seq> 
     </dc:date> 
     ... 

Тогда он будет проходить предполетный тест pdfbox.

Кроме того, дата должна содержать - разделители между y, m, d, чтобы соответствовать онлайн-валидатору pdf-tools.com.

+1

Требование формата даты кажется разумным, так как «YYYY-MM-DD» является [расширенным форматом ISO] (https://en.wikipedia.org/wiki/ISO_8601#Calendar_dates) для дат; Я никогда не видел ':' используется в формате даты (даже [wikipedia] (https://en.wikipedia.org/wiki/Date_format_by_country) не перечисляет его). – lfurini

+0

Правильно, меня всегда обманывали, как это делает exiftool. Отличный инструмент, но не предназначенный для ссылок ... –