Andreas Krumnow - C++ Seitenspiegel

Seitenspiegel löst die Aufgabe, beim Selberdrucken eines Buches, den Drucker in der richtigen Reihenfolge zu beschicken.
Hintergrund ist folgender:
Bei meiner Suche nach Programmiererinfos zu Linux, stieß ich im Internet auf das freie Buch "Treiberprogrammierung unter Linux". Zwar nicht das ganz aktuelle, aber für meine Zwecke und zum Lernen absolut ausreichend. Da ich mir meine Lernlektüre auch gerne mal mit zu Orten und Örtchen nehme, an denen kein Terminal zur Verfügung steht, bereitete ich alles vor, um die knapp 300 Seiten auszudrucken. Nun bin ich auch ein alter Öko, der Ressourcen gerne richtig nutzt. In diesem Fall also das Dokument in Open Office eingelesen, Inhaltsverzeichnis erzeugt (das waren zusätzliche 20 Seiten), Fußzeile mit Seitenangabe, Kapitel und Unterkapitel hinzugefügt, das ganze als PDF exportiert und mit "KPDF-Viewer" jeweils zwei Seiten nebeneinander auf ein Din A4 Blatt ausgegeben. Da ich mir das ganze als Buch binden wollte, musste jeweils Vorder- und Rückseite der A4 Blätter mit den korrespondierenden Seitenspiegeln bedruckt werden, um die Blätter anschließend in der Mitte zu falten. Gerade Ränder wollte ich auch haben, aber die Schlagschere vom Aldi schafft jeweils nur maximal 8-10 Blatt. Und weil ich das haben wollte wie bei einem professionellen Buch, konnte ich immer nur 4-5 Blatt als Block zusammenfassen, die ich dann am Ende aufeinanderstapele und in der Falz an einem Stabilen Stück Stoff (Rolladengurt o. ä.) festnähe.
Ich fing dann an, die Seitenliste per Hand zu erstellen, aber bei 300 Seiten ist das mühsam. Also das ganze als PERL-Script eben schnell kodiert und auf der Kommandozeile ausgeführt. Nun ist es aber unbequem, bei der ganzen Mausschubserei in Druckdialogen, auf die Tastatur wechseln zu müssen, um die Liste zu kriegen. Also, da ich sowieso gerade auf C++ und QT geeicht bin, mit KDevelop ein "QT-Dialog Projekt" erzeugt und die Programmlogik in die Hauptklasse übertragen. Die Parameter werden natürlich per Scrollvalue, Schieberegler und Radiobuttons eingestellt. Graphisch eben. Die erzeugte Liste hole ich dann per Copy aus dem Ausgabebereich des Dialogs und füge es im Druckdialog von KPDF ein (Paste).

seitenspiegel_screenshot

Die Quellen: