[luatex] finish_pdffile callback

Hans Hagen pragma at wxs.nl
Fri Feb 9 09:54:37 CET 2018

On 2/9/2018 3:44 AM, Br. Samuel Springuel wrote:
> I noticed in the docs that LuaTeX has a `finish_pdffile` callback whose 
> short description is "Called when all pages have been written to the PDF 
> file."  Does this mean that LuaTeX has closed the pdf file when this 
> callback is executed (and thus it is safe for the callback to instruct 
> other tools to manipulate the pdf file)?

No. If you want to manipulate the pdf file you have to do that after a 
run (no big deal as normally a multi-pass run is managed anyway).

Writing pages to a file is one thing, finishing the file i.e. wrapping 
up fonts and resources and an xref happens at the end and in different 
spots. The finish_pdf_file callback can be used to add stuff to a file 
as part of that process. If the file had been closed it would be a 
useless callback.

We could add an extra callback but it would probably be a fragile one as 
at that stage all files are closed so for instance a print to a log file 
or doing something tex might crash the machinery (and adding safeguards 
all over the place would mess up the code as well give a performance 
hit). We can of course state that with such a callback 'no one can 
complain about side effects'. Anyway, something like that cannot happen 
for the upcoming release (we're close to texlive freeze state).


                                           Hans Hagen | PRAGMA ADE
               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
        tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl

More information about the luatex mailing list