Dominique Paris
Dominique Paris

Reputation: 11

Issue with xsl-fo :footnote when generating pdf/ua-1 document with fop.: "tagged PDF note id is missing"

I have an issue with <fo:footnote> when generating pdf/ua-1 document with fop. The resulting pdf displays correctly the footnote in the page but don’t pass the pdf-ua validation. A severe error on pdf tag Note “id is missing” is raised so the document is not conformed. I'm using PAC3 for the conformance test.

In the example below I have extracted the basic <fo:footnote> element which has a unique id. How can I generate the missing Id attribute in the pdf tagged Note element?

Here is the xsl-fo really simple footnote. Note that I used an id to reference the footnote.

some text...
<fo:footnote id="FNE0001">
  <fo:inline font-size="6pt" baseline-shift="super">E0001</fo:inline>
 <fo:footnote-body>
    <fo:block>
        <fo:inline>E0001</fo:inline><fo:inline > JO L 139 du 29.5.2002, p. 9.</fo:inline>
    </fo:block>
  </fo:footnote-body>
</fo:footnote> some text...

Apache FOP has been set to generate pdf-ua through the conf file as follow:

  <renderers>
    <renderer mime="application/pdf">
      <!-- Before setting the pdf-ua-mode, we must insert metadata Title in FO declaration -->
      <pdf-ua-mode>PDF/UA-1</pdf-ua-mode>  
      ....

Upvotes: 1

Views: 309

Answers (1)

Tony Graham
Tony Graham

Reputation: 8068

PAC3 is checking against the failure conditions in the Matterhorn Protocol; latest edition at https://www.pdfa.org/resource/the-matterhorn-protocol/.

PAC3 is probably reporting on failure condition 19-003, ID entry of the tag is not present.

fo:footnote-body can have an id property. You could try adding an ID to that. In the fo:inline for the footnote marker, you might also need to add an fo:basic-link that refers to that ID.

FWIW, your footnote does not cause that error when checking PDF/UA generated by AH Formatter, and I'm only guessing at what FOP would be doing differently. (PAC3 and I generally disagree when it complains about a footnote being a possibly incorrect use of a Note tag, but that's another story: PAC3 tries to automate checking the conditions that should be checked by a human, and it doesn't always get it right.)

Upvotes: 0

Related Questions