I have read a lot of interesting questions and answers on PDF/A-1b production with LaTeX and pdfTeX. I still can't produce validating PDF/A-1b files.

I used either:

  • the standard up-to-date pdfx package
  • or the "improved" pdfx-ext version,
  • or the edited pdfx.sty by Vincent Immler two years ago, (see here and the attached sample).

I encountered no compiling errors, and validation with jhove always works

However file validation fails by :

As I was not able to patch pdftex as suggested by Vincent Immler, I managed to repair de EOL problems reported in several posts on tex.stackexchange.com by using binary replacements of x32 or x0a with the gsar utility, in order to mimic the changes made in the patch.

However the error messages :

The separator before 'endstream' must be an EOL.

is still present, with further error messages looking as overvall failure conclusion.

  • Has someone succeeded to patch MiKTeX's pdftex ?
  • Does this patch fix the all the EOL problems (including the endstream one)?
  • Is there a 'package only' solution ?

I use MiKTeX v 2.9 (pdftex Version 3.1415926-2.5-1.40.14) on both Windows XP Pro x32 (SP3) and Windows Seven Family Premium x64 (SP1)

  • 1
    Welcome to TeX.SX! You can have a look on our our starter page to familiarize yourself further with our format. A tip: If you indent lines by 4 spaces, then they're marked as a code sample. You can also highlight the code and click the "code" button ({}) or hit Ctrl+K. Jul 11, 2013 at 13:48

2 Answers 2


Answer posted as a comment on November 10th 2016 :

Finally, with the latest version of MiKTeX (pdfTeX, Version 3.14159265-2.6-1.40.16 (MiKTeX 2.9) and pdfx (v1.5.4) it works out of the box.

  • Hey, you sticked to your question for almost six years! I don't know whether any other issue was solved here on SX after such a long time.
    – Keks Dose
    Mar 6, 2019 at 14:11

Based on the provided patch I was able to reproduce correct PDFA-1b PDFs some time ago using TeXLive. I do not see why MiKTeX should be any different.

Your approach does not address the specific issue related to how pdf streams are terminated. With the default pdftex, they are terminated using 0x0A, they should be however terminated using 0x0D 0x0A (together, 13 and 10 in decimal). At least, all validation tools I used stopped complaining. I doubt that a simple search and replace will do here (this may effect the length information of the stream written), neither will there be a package-only solution for this.

The other two problems are somewhat related. I would suggest adding your problems to the bug report or try contacting the original author of the provided patch (if possible).

  • My problem to patch MiKTeX is not at all in the .web file, but the awfull problem to set up a working environment for M$-Vicual C++ compilation. In fact, what I tried is the replacement of 0x0A by 0x0D because I din't see the 0x0A0x0D string before endstream in a working PDF. Of course an insertion (ie 1 char -> 2chars, also tried) corrupt definitely the PDF.
    – Jhor
    Jul 12, 2013 at 16:49
  • I would assume the only way to compile pdftex for Windows is to use minGW. en.wikipedia.org/wiki/MinGW
    – user26372
    Jul 12, 2013 at 18:15
  • Yes, I'm much more used to MinGW than M$-Visual C++. But on MiKTeX website there is nothing else than the M$ solution. Shall I switch to TeXLive, which seems yo be build-able with MinGW ?
    – Jhor
    Jul 12, 2013 at 18:23
  • pdftex is separate from MikTeX. You can download it as a source archive from here: tug.org/applications/pdftex . Using Linux it is quite easy ... :-)
    – user26372
    Jul 12, 2013 at 18:32
  • Thank You for suggestion, but build of pdfTeX with (up to date) MinGW stop at the end with error code : pc pdftex.p -o pdftex /bin/bash: pc: command not found make: *** [pdftex] Error 127 By the way I have posted on miktex-users list....
    – Jhor
    Jul 15, 2013 at 9:17

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.