C# Praxistipp
02.01.2019, 12:20 Uhr
Eine Zeichenkette in ein PDF umwandeln
Der amerikanische Entwickler Joezer BH zeigt, wie man in einer C#-Anwendung mit Hilfe der Bordmittel von Windows 10 einen String in ein PDF-Dokument umwandelt.
(Quelle: https://www.codeproject.com/Tips/1273190/How-to-Programmatically-Convert-a-String-to-PDF-us)
Gleich vorweg: Beim Praxistipp von Joezer BH ist keine der vielen PDF-Bibliotheken im Spiel. Vielmehr nutzt er den in Windows 10 enthaltenen Druckertreiber "Print to PDF" für sein Vorhaben. Grund für seine Überlegungen war, dass er in einer C#-Anwendung eine einfache Möglickeit brauchte, einen String in ein Dokumentenformat zu überführen, das der Anwender nicht "versehentlich" ändern konnte. Selbstverständlich lassen sich auch fertige PDFs noch ändern, aber das klappt nur, wenn man es mit voller Absicht und den notwendigen Hilfsmitteln angeht. Für die Anwendung von Joezer reichte die relative Sicherheit, dass das Dokument nicht aus Versehen geändert werden kann.
Zuerst versuchte er die PDF File Writer C# Class Library von Uzi Granot in Version 1.20.0, sagte sich dann aber, es müsse Anfang 2019 doch möglich sein, dieses Vorhaben ohne externe DLL und mit nur wenigen Zeilen umzusetzen und suchte weiter. Dabei stieß er auf den PDF-Druckertreiber "Microsoft Print to PDF", der zu Windows 10 gehört, probierte diesen aus und fand die für ihn passende Lösung, welche er in diesem CodeProject-Artikel vorstellt.
Er nutzt dafür die Klasse PrintDocument, die ausreichend Funktionen für seine Zwecke bereitstellt, darunter eine Handvoll Design- und Grafik-Funktionen. Sein Code stellt lediglich einen Proof-of-Concept dar, der anhand eines sehr einfachen Beispiels ausgeführt wird: Ein String wird im Format Coruier New in ein PDF umgewandelt und dann ausgedruckt.