Ich fand die Druckkosten für wissenschaftliche Arbeiten/Dokumente zu schade und habe deshalb selbst einen Konverter für randfreies N-up-Drucken gebaut
(github.com/theodore-labs)Hallo, ich drucke täglich Dokumente und wissenschaftliche Arbeiten und fand die Papierkosten zu schade. Deshalb habe ich selbst einen PDF-Konverter für Windows gebaut, der Ränder entfernt und N-up-Druck ermöglicht.
Warum ich das gebaut habe
Wer schon einmal die Druckertreiber-Funktion „N-up (4 Seiten pro Blatt)“ benutzt hat, kennt das Problem: Die Schrift wird so klein, dass man es am Ende doch nicht sinnvoll verwenden kann. Der Grund ist nicht die Schriftart, sondern der Rand. Bei Folien- und Paper-PDFs bestehen 20–30 % einer Seite aus weißem Rand, und beim N-up-Druck wird eben auch dieser Rand komplett mit verkleinert.
FinePdf erkennt für jede Seite den tatsächlichen Inhaltsbereich (Bounding Box), schneidet zuerst die Ränder weg und ordnet die Seiten danach neu an. Selbst bei demselben 4-up ist die Schrift dadurch sichtbar größer. Es gibt außerdem eine Option, einen einheitlichen Skalierungsfaktor auf alle Seiten anzuwenden, damit die Schriftgröße nicht schwankt, auch wenn die Inhaltsboxen je nach Seite unterschiedlich groß sind.
Funktionen
- N-up 2/4/8/16 (Seitenausrichtung wird automatisch erkannt)
- Erkennung des Inhaltsbereichs + Randbeschnitt
- Booklet-Imposition — A4 halb gefaltet ergibt ein A5-Booklet
- Mehrere PDFs zusammenführen und in einem Durchgang konvertieren
- Tintensparmodus / Umwandlung in Schwarzweiß
- Vorschau vor der Konvertierung + Zähler dafür, „wie viele Seiten man spart“
Was technisch interessant war
Das Projekt ist in C# .NET 8 WinForms umgesetzt; für das PDF-Parsing nutze ich PdfPig, für die Erzeugung PDFsharp und fürs Rendering PDFium(PDFtoImage). Beim kombinierten Einsatz der drei Bibliotheken gab es Fallstricke beim Koordinatensystem: PdfPig und PDFium liefern Koordinaten, die die /Rotate-Eigenschaft der Seite ignorieren, während PDFsharp Koordinaten mit angewendeter Rotation verwendet. Deshalb musste ich lange einen Bug beheben, bei dem Inhalte in gedrehten PDFs (häufig bei Scans oder aus PowerPoint exportierten Dateien) an völlig falschen Positionen platziert wurden. Am Ende habe ich nur für gedrehte Seiten einen Workaround über den Raster-Pfad eingebaut.
Zum Preis, ganz offen
Nach einer 14-tägigen kostenlosen Testphase (ohne Funktionseinschränkung) kostet die Lifetime-Lizenz einmalig ₩23.000. Es ist kein Abo. Den Preis habe ich mit Blick darauf festgelegt, dass FinePrint mit ähnlichen Funktionen ungefähr 100 $ kostet. Die Motivation war ursprünglich, dass ich es kaufen wollte, es mir dann aber etwas zu teuer vorkam und ich dachte: Dann baue ich es eben selbst.
Windows 10/11 x64, keine .NET-Installation erforderlich (einzelne exe-Datei).
Ich entwickle das allein und bin daher dringend auf Feedback angewiesen. Wenn ihr besonders PDFs habt, bei denen „die Konvertierung irgendwie komisch ist“, sagt mir bitte Bescheid — ich kümmere mich sofort darum. 🙏
Noch keine Kommentare.