Posts tagged "pdfa"

Acrobat: Syntax problem: Indirect object has object number not preceded by an EOL marker

Issue

If you are using Acrobat Preflight or LiveCycle DocConverter to validate PDF/A documents you may encounter the following error after validation:

Syntax problem: Indirect object has object number not preceded by an EOL marker

Reason

The PDF standard stipulates that a PDF contains lines, each of which will be terminated with a CR, a LF, or both.

If you analyze the Preflight report you will be able to see which object is causing this error.

In this case Preflight is complaining that there is no EOL marker before the “1 0 obj”.

Open the PDF in an advanced editor like Notepad++ and check the CR and LF characters on all the lines surrounding the “1 0 obj”.

There are EOL markers (CR and/or LF) surrounding the “1 0 obj” object.  This must be caused therefore by a problem in the cross-reference table in the PDF file.  If you scroll to the bottom of the file in Notepad++ you will see a table similar to the following:

xref
0 11
0000000000 65535 f
0000000017 00000 n
0000000115 00000 n
0000186286 00000 n
0000000182 00000 n
0000000340 00000 n
0000000485 00000 n
0000186388 00000 n
0000186599 00000 n
0000189276 00000 n
0000190175 00000 n

This is the cross-reference table which allows direct access to all objects in the PDF file (like the index in a book).  The first line is a summary of the table (starts with object 0, and contains 11 objects).  The rest of the lines make up the index of those 11 objects.  Lets analyze the line entry for object 1 (0000000017 00000 n).  The value 17 is the number of bytes from the start of the PDF file where the object 1 should be located.  The other values (00000 and n) are the generation number and a flag to tell if the object is in use or free (more info on these objects here: http://labs.appligent.com/pdfblog/pdf_cross_reference_table.php).

So we know that the object 1 should start after 17 bytes in the PDF file.  However if you use Notepad++ to select the bytes up to position 17 you will see that it refers to the position after the “NUL” object, and before the EOL markers (CR LF):

Note the selected text and the byte count in the status bar “(17 bytes)”.  It should be pointing to the start of the next line where the “1 0 objCRLF” entry is located (i.e. byte 19).

Solution

Our recommendation here is to ensure you use Adobe tools (e.g. Acrobat/LiveCycle) to create your PDF files.  The PDFs generated with Adobe software will have a valid structure and will comply with the PDF standards (PDF, PDF/A, PDF/X etc…).

In this case the PDF was generated with an external tool and this resulted in the incorrect entry in the cross-reference table.  Although we would not advise such manual modifications in your PDF file content, you can fix such an issue by manually changing the cross-reference table entry from 17 to 19 bytes so that the “1 0 obj” object is correctly indexed.  The PDF structure is then correct and Preflight can validate the PDF/A.

reference: (182711898/3002114)

VN:F [1.9.22_1171]
Was this helpful? Please rate the content.
Rating: 10.0/10 (1 vote cast)

LiveCycle ES2: “The embedded font program ‘PZSWZL+CustomSymbol’ cannot be read.”

Issue

When you convert PDF files to PDF/A using LiveCycle ES2, and then validate the files with a PDF validator, you receive the following error:

The embedded font program ‘PZSWZL+CustomSymbol’ cannot be read.

The font PZSWZL+CustomSymbol must be embedded.

Validation in LiveCycle ES2 and Acrobat 8 or 9 validates the PDF/A without errors.  Validation with current validators such as Acrobat X Preflight, or 3 Heights PDF Validator produce the error above.

Solution

This issue is a problem in LiveCycle ES2 (9.0.0.0, 9.0.0.1, and 9.0.0.2) as it should also return an error that the PDF/A is invalid.  This issue is fixed in LiveCycle ES3 (LC10) and later.  There is a patch available for ES2 SP1 and SP2, so contact enterprise support if you require one of these patches.

Additional information

PDF 1.4 recognizes only the following cmaps for TrueType fonts:

  • cmap subtable with platform ID 3 and encoding ID 1 (Microsoft Unicode, also called  [3,1])
  • cmap subtable with platform ID 1 and encoding 0 (Macintosh Roman, also called [1,0])

In this case, the PDF file was using a custom font CustomSymbol that contained a (3, 0) cmap subtable, which PDF 1.4 doesn’t recognize.  Therefore, Acrobat X and other PDF/A validators correctly reported an error when checking for PDF/A-1b compliance (As PDF/A-1b is based upon PDF 1.4).

reference: (181779161/2714061)

VN:F [1.9.22_1171]
Was this helpful? Please rate the content.
Rating: 6.0/10 (3 votes cast)

LiveCycle PDFG: file bloat when converting PDF to PDFA

Issue

 When converting a PDF to PDF/a you may notice that the file size becomes bloated, for example 18KB -> 448KB.

Reason

 There are 2 reasons for the increase in size when we select the “PDFA-1b” conversion:

1) extra fonts which get embedded in the resulting PDF/a document

2) the color scheme chosen in the “PDFA-1b” setting. If you select CMYK then the size gets increased drastically. But if you choose RGB then the difference in size is negligible, assuming there are no fonts to be embedded.

Solution

 To get the smallest file-size during PDF to PDF/a conversion, you should use the RGB conversion options.

reference: (180029449/1707078)

VN:F [1.9.22_1171]
Was this helpful? Please rate the content.
Rating: 0.0/10 (0 votes cast)