Closed Tschet1 closed 2 years ago
Merci für die Rückmeldung, ich habe bereits erwartet dass so etwas früher oder später mal kommt.
Fürs Drucken verwenden wir momentan eine von Vue gerenderte HTML-Seite, welche dann mit paged.js fürs Drucken vorbereitet wird, und die Browser machen dann die eigentliche Konvertierung von HTML in PDF. Leider sind die Druck-Funktionen in Browsern extrem schlecht standardisiert, und auch paged.js (was ein Polyfill für diese Unterschiede zu sein versucht) hat nur begrenzt Einfluss. Wir sind zudem abhängig von Browsereinstellungen wie Kopf- und Fusszeile welche viele Browser gerne mit für uns unnützen Infos wie Seitentitel und URL füllen. Sogar wenn der User alles richtig einstellt ist es aber nicht gegeben dass die PDFs bzw. Ausdrucke korrekt aussehen. Tatsächlich habe ich nur schon lange an den Seitenrändern herumprobiert, bis sich Firefox und Chromium auf meinem Ubuntu wenigstens einigermassen einig waren wie das resultierende Dokument aussehen soll. In Chrome auf Mac OS funktioniert ein Teil des Drucks noch gar nicht #204. Ausserdem musste ich paged.js noch patchen, damit es sich mit unserer Content Security Policy versteht, und es ist nicht als normales NPM Package installiert, sondern liegt als plain JS File in unserem Repo herum. Flächendeckendes Testing ist auch sehr schwierig, wenn wir stark von Browserunterschieden abhängig sind. Du siehst, der aktuelle Setup ist noch alles andere als optimal.
Bei eCamp v3 evaluieren wir aktuell, nach bereits langer Tool-Suche, zwei Möglichkeiten:
Ich denke, Qualix hat weniger komplizierte Ansprüche ans Drucken als eCamp, daher habe ich vor, es in nächster Zeit mal mit ReactPDF zu versuchen.
Ein anderer Ansatz wäre Server-seitige Generierung zum Beispiel mit fpdf (http://www.fpdf.org), da müssen die PDF-Seite jedoch selber generiert werden.
Stimmt. Bei eCamp v2 ist TCPDF im Einsatz, was eine erweiterte Variante von FPDF ist. Bei eCamp v3 wollen wir, aufgrund der Komplexität von Grobprogramm und flexiblen Block-Detailprogrammen, weg von den deklarativen xyPDF Lösungen. Aber bei Qualix könnte das noch ausreichen. Ich finde es halt schade dass solch alte PHP-Skripte, welche schwer verständlichen, schwer testbaren und schwer maintainbaren Code mit vielen Magic Numbers und unklaren Funktionsargumenten erzwingen, immer noch zu den besten verfügbaren Optionen für PDF-Generierung gehören.
Vielleicht mach ich mal Beispiele mit beidem, um zu sehen was sich angenehmer anfühlt.
Ich habe in #280 mal einen Lösungsansatz umgesetzt. Sehen die dort sichtbaren Ränder besser aus aus deiner Sicht @Tschet1?
Bei der Druckansicht der Quali könnte das Layout optimiert werden, damit eine Quali auf möglichst wenigen Seiten Platz hat. Zum Beispiel könnten die Seitenränder verkleinert werden.