Многие из этих приложений (в Windows) фактически используют встроенный драйвер принтера PostScript для Windows для создания программы PostScript из приложения.
Затем он отправляется на виртуальный принтер (в версиях Windows до Windows 10 используется монитор портов), который сохраняет программу на диске. Затем он запускает интерпретатор PostScript, который способен создавать файл PDF из файла PostScript. В частности, к ним относятся Adobe Acrobat Distiller, интерпретатор JAWS PostScript и Ghostscript. Поскольку Ghostscript является открытым исходным кодом, он, вероятно, наиболее широко используется.
Альтернативный подход - написать драйвер принтера. Для этого необходимо принять собственные операции рисования ОС (которые различаются в зависимости от операционной системы), а затем создать PDF-эквиваленты для этих операций рисования и обернуть все это в файл PDF.
Первое решение является самым простым, поскольку оно использует работу, которую проделали другие люди (поставщик ОС и поставщик интерпретаторов PostScript). Последнее, я думаю, вы найдете, намного сложнее.
Конечно, поскольку Windows и MacOS теперь могут создавать PDF-файлы, кажется, что их реализация сейчас несколько избыточна.