TIL, the German #Datev uses #IBM #zOS for paycheck #PDF generation. PDFs are generated through PDFlib by the Munich based company of the same name:

PDF producer: PDFlib+PDI 9.0.4-m (zSeries z/OS)

The API ref is promising some fun:
"For use with C, C++, Cobol, COM, Java, .NET, Objective-C, Perl, PHP, Python, REALbasic/Xojo, RPG, Ruby"
(https://www.pdflib.com/fileadmin/pdflib/pdf/manuals/PDFlib-9.0.4-API-reference.pdf)

As well as:
"PDFlib is available on a variety of platforms, including Unix,
Windows, OS X, and EBCDIC-based systems such as IBM i5/iSeries and zSeries."
(https://www.pdflib.com/fileadmin/pdflib/pdf/manuals/PDFlib-9.0.4-tutorial.pdf)

And since IBM #zSeries does everything in #EBCDIC, this, of course is also supported:

"stringformat ebcdicutf8: All strings and option lists are expected in EBCDIC-UTF-8 format with or without BOM."

And although I do hope that Datev uses Unix System Services #USS instead of plain #MVS on z/OS, this does give me the creeps:

"MVS versions of PDFlib GmbH products are not thread-safe"
(https://www.pdflib.com/fileadmin/pdflib/System_Requirements/PDFlib-9.0.4-system-requirements.txt)

Truly curséd. But PDFlib on zSeries doesn't support networking ... unfortunately?

PDFlib: PDFlib 9.4.0

PDFlib 9.4.0 Download Packages

The install.txt file also lovely. Installation process for transferring the save file to an IBM System i... begins with "Start a DOS session..." :D

Start a DOS session on your PC, and initiate an FTP session against your
IBM System i executing the following command from your DOS prompt:

FTP mySystemi

Enter your IBM System i user profile and password for the logon.

Switch over to binary mode by running the FTP command:
bin

Create a SAVF on your IBM System i by running the FTP command:
Quote rcmd crtsavf file(qgpl/pdflib)

Use on your IBM System i a file naming format like on personal Computer:
quote site namefmt 1

Adjust the current library:
cd /qsys.lib/qgpl.lib

Transfer the file PDFLIB.SAV to your IBM System i by running the FTP command:
Put C:\yourlocalpath\pdflib.sav pdflib.savf

Exit the FTP session with the FTP command
Quit

Afterwards you're ready to start burning some incense, get the priest and shout the holy incantation:

Step 3: Restore the PDFlib library
----------------------------------

You can now restore the PDFLIB objects by running the following CL commands:

CRTLIB LIB(PDFLIB)
RSTOBJ OBJ(*ALL) SAVLIB(PDFLIB) DEV(*SAVF) SAVF(QGPL/PDFLIB) ALWOBJDIF(*OWNER)