Cups druckt PDF (manchmal) nicht richtig

Einrichten des Druckers und des Drucksystems, Scannerkonfiguration und Software zum Scannen und Faxen.
Antworten
reox
Beiträge: 2459
Registriert: 06.06.2006 22:09:47
Lizenz eigener Beiträge: MIT Lizenz

Cups druckt PDF (manchmal) nicht richtig

Beitrag von reox » 26.08.2017 12:54:52

Ich hab einen Brother HL-L5000D Drucker, der kein Netzwerk hat (für 20€ mehr hätte ich den selben mit Netzwerk bekommen :facepalm: ).
Ich habe hier aber als W-LAN "extender" kleine China Access Points (Nexx WT3020), der auch einen USB Anschluss hat und auf dem jetzt OpenWRT rennt.
Dort habe ich das p910nd Packet installiert, welches einen Socket aufmacht um die Daten direkt an den Drucker weiterzuleiten. Das funktioniert überraschend gut nur manchmal und vermutlich auch nur in bestimmten Druckeinstellungen, werden Formeln in PDFs nicht richtig dargestellt und es kommen nur Sonderzeichen raus.
zB drucke ich auf 600dpi aus qpdfview passiert das, bei 1200dpi nicht. Sehr blöd ist, dass man die DPI in qpdfview nicht einstellen kann, da es diese Druckeroptionen nicht anzeigt. Ich habe daher einfach den default Wert in cups geändert.
Wenn man die beiden ausdrucke dann vergleicht, sieht man auch, dass der 600dpi ausdruck nicht die Schrift hat, die ursprünglich verwendet wurde, es schaut so aus als ob das PDF als text gedruckt wurde, in 1200dpi dann aber als bild?!
Hier ein Beispiel: https://files.reox.at/drucker/IMG_20170826_124716.jpg welches was ist, muss man wohl nicht sagen :)
Ich habe das Dokument jetzt nochmal mit 600dpi ausgedruckt und das Problem ist wieder weg.
Da das p910nd ja eigentlich nur passiv ist, denke ich mal das Problem liegt bei Cups? Allerdings hatte ich den Drucker lange zeit als USB Drucker angeschlossen und das hat nie diese Probleme gegeben.
Wie kann ich das debuggen was da passiert bzw was könnte das sein?
Zuletzt geändert von reox am 06.03.2018 12:05:53, insgesamt 1-mal geändert.

michaa7
Beiträge: 4611
Registriert: 12.12.2004 00:46:49
Lizenz eigener Beiträge: MIT Lizenz

Re: Cups und p910nd druckt PDF nicht richtig

Beitrag von michaa7 » 26.08.2017 13:19:36

Das ist von mir alles geraten, keine ahnung:

Was du beschreibst hört sich nach einem schriftenproblem an, die eine schrift kann nicht bis 1200dpi scalieren, die dann benutzte schrift kennt keine mathematischen sonderzeichen.

Wenn es vorher ging und jetzt nicht, benötigt vielleicht der open-wrt ein paar zusätzliche schriftpakete? Oder müssen die schrifte in das pdf eingebettet werden? Letzteres war vielleicht unter usb nicht notwendendig (weil der druckertreiber die schriften im system fand), per netzwerk möglicherweise schon (weil da alles druckfertig durchgereicht werden muß?)?
gruß

michaa7

-------------------------------
Menschen ändern gelegentlich ihre Ansichten, aber nur selten ihre Motive. (Oskar Negt)

reox
Beiträge: 2459
Registriert: 06.06.2006 22:09:47
Lizenz eigener Beiträge: MIT Lizenz

Re: Cups und p910nd druckt PDF nicht richtig

Beitrag von reox » 26.08.2017 13:21:32

Mhh wieso funktioniert es dann beim zweiten mal drucken mit 600dpi? Irgendwie ist das ein Heisenbug der verschwindet wenn man ihn beobachten will :/

Das p910nd hatte ich so verstanden, dass es die Daten einfach an den Drucker weiterleitet. Also das Ding hat eigentlich keine Intelligenz.

michaa7
Beiträge: 4611
Registriert: 12.12.2004 00:46:49
Lizenz eigener Beiträge: MIT Lizenz

Re: Cups und p910nd druckt PDF nicht richtig

Beitrag von michaa7 » 26.08.2017 14:05:08

wenn dein drucker mit Schrödingers katze flirtet wirst du das problem nie lösen bzw nur endgültig entsorgen können
gruß

michaa7

-------------------------------
Menschen ändern gelegentlich ihre Ansichten, aber nur selten ihre Motive. (Oskar Negt)

reox
Beiträge: 2459
Registriert: 06.06.2006 22:09:47
Lizenz eigener Beiträge: MIT Lizenz

Re: Cups und p910nd druckt PDF nicht richtig

Beitrag von reox » 26.08.2017 14:39:22

Naja irgendeinen Grund muss es ja haben :D Vielleicht stellt sich der Drucker treiber, wenn man einmal auf 1200dpi druckt um und solange man den PC nicht ausschaltet oder den Drucker neu startet funktioniert es dann?

Das Thema ist vllt auch related zu diesem hier: viewtopic.php?f=31&t=164925

Mir ist zB aufgefallen, dass qpdfview und evince unterschiedliche Auffassungen haben, wenn es darum geht mehrere Seiten pro Seite zu drucken. Es ist dann nämlich Hoch- und Querformat vertauscht. Der Druckdialog von qpdfview macht da zum Teil einfach keinen Sinn.
Ich glaube ich werde nur noch mit lpr drucken...

reox
Beiträge: 2459
Registriert: 06.06.2006 22:09:47
Lizenz eigener Beiträge: MIT Lizenz

Re: Cups und p910nd druckt PDF nicht richtig

Beitrag von reox » 12.12.2017 10:55:51

noch so ein Beispiel: Gedruckt aus dem PDF Viewer von Firefox mit 600dpi Auflösung.

Die Schrift schaut gut aus, aber das +- Zeichen, das zeichen für pi und ein -, welches im PDF korrekt angezeigt wird, werden falsch gedruckt.
Wenn ich die Formel die da angegeben ist aus qpdfview kopiere, ist pi dieses symbol: ␲ und das - ein ⫺, das +- ein ⫾...
Kann es sein, dass die Schrift, welche im PDF verwendet trotzdem geändert wird beim Ausdrucken und die Druckerschrift eben diese Zeichen nicht kann?
Ich habe das gleiche PDF nochmal mit qpdfview gedruckt. Sehr interessant ist, dass die Auflösung um Welten bessert ist und alle Zeichen richtig gedruckt werden.
Da qpdfview mir keine Einstellungen bzgl der DPI angibt, denke ich dass die Printer Defaults verwendet werden? Das wären dann auch 600dpi...

https://files.reox.at/drucker/IMG_20171212_105058.jpg

Ist das Firefox PDF Viewer ding einfach schrott?

reox
Beiträge: 2459
Registriert: 06.06.2006 22:09:47
Lizenz eigener Beiträge: MIT Lizenz

Re: Cups und p910nd druckt PDF nicht richtig

Beitrag von reox » 20.12.2017 14:14:35

Jetzt wirds suspekt... Ich habe gerade einen Flächenwidmungsplan ausgedruckt (von https://www.wien.gv.at/flaechenwidmung/ ... start.aspx), mit qpdfview. Der Text komplett irgendwas. Obwohl es mit qpdfview eigentlich immer geklappt hat.
Ich mein, dass ist jetzt der krasseste Fehldruck seit langem: https://files.reox.at/drucker/IMG_20171220_141152.jpg

Mit evince gehts aber interessanterweise!

Sind die Druckerbackends denn so verschieden? Was tun die da eigentlich dass beim Drucker dann nur Schrott ankommt? Liegt der Fehler da bei der PDF library, bei CUPS oder am Drucker selber?

KP97
Beiträge: 3403
Registriert: 01.02.2013 15:07:36

Re: Cups und p910nd druckt PDF nicht richtig

Beitrag von KP97 » 20.12.2017 19:38:14

Ich habe das gerade mal probiert.
Mit Qpdfview ist der Druck kaputt, so wie bei Dir. Mit Zathura sieht es so aus wie es soll.
Ich vermute doch eher, das liegt an Qpdfview.
Bei mir Sid, qpdfview Version 0.4.14-1+b1, Dell E310DW.

reox
Beiträge: 2459
Registriert: 06.06.2006 22:09:47
Lizenz eigener Beiträge: MIT Lizenz

Re: Cups und p910nd druckt PDF nicht richtig

Beitrag von reox » 20.12.2017 20:25:19

Zathura ist ja auch cairo, das würde ja passen.

Weiß jemand was firefox zum PDF rendern verwendet? Das Paket depended auf libcairo2... was ja nicht passen würde. Oder wie funktioniert das Drucken eigentlich so generell? Wäre interessant ob man den Fehler eingrenzen kann.

reox
Beiträge: 2459
Registriert: 06.06.2006 22:09:47
Lizenz eigener Beiträge: MIT Lizenz

Re: Cups und p910nd druckt PDF nicht richtig

Beitrag von reox » 20.12.2017 20:50:33

Folgende Beobachtung habe ich jetzt gemacht: Wenn ich das PDF direkt mit lpr drucke, ist es auch kaputt.
lpr nimmt ja die einstellungen von CUPS direkt...

führe ich ein pdf2ps aus und drucke dann die postscript dabei, ist es immer noch kaputt.

Ich habe das PDF jetzt mit lpr -l gedruckt. Dabei kommt es korrekt raus... Allerdings ist das Testpdf jetzt auch eigentlich ein A3... interessanterweise wird es bei lpr -l auf A4 skaliert, bei normalen lpr erhalte ich den ausschnitt der mitte.
Drucke ich das ps mit lpr -l kommt eine leere seite raus und am Display steht "Ignore Data".
Schaut also so aus als würden die CUPS filter da irgendwie reinpfuschen? Könnte sein, dass evince und zathura dann selber das preprocessing machen und die fertigen daten an CUPS weiterreichen?
Lässt sich irgendwie herausfinden in welchem Filter die Daten kaputt werden?

edit: ok so gehts: https://wiki.ubuntu.com/DebuggingPrinti ... he_printer
zum Drucker wird eine "/tmp/printout: HP Printer Job Language data" datei gesendet... Versteht das der Brother Drucker? Liegt vllt genau hier das Problem?
Die Techspecs vom Drucker sagen:
Emulationen PCL 6, PostScript 3, Epson FX-850, IBM Proprinter XL, PDF version1.7, XPS version 1.0
https://www.brother.at/drucker/laserdrucker/hl-l5000d
Heißt also so viel wie nein?
editdit: achso - in dem HP Printer dinges steht dann PCL... das sollte er ja können.

nochmehredit: Ich kann ja Netzwerktraffic anschauen! Also ein lpr sendet so eine HP PJL Datei. ein lpr -l sendet genau das PDF. Evince sendet aber auch eine HP PJL - also kanns wohl nicht daran liegen.
Jedoch sind evince und lpr verschieden und evince ist etwa 200kb größer.

wie man sich diese Dateien genauer zu gemüte führt weiß ich jetzt aber auch nicht...

KP97
Beiträge: 3403
Registriert: 01.02.2013 15:07:36

Re: Cups und p910nd druckt PDF nicht richtig

Beitrag von KP97 » 21.12.2017 13:52:10

Beim debuggen kann ich leider nicht helfen, da bin ich nicht so im Thema.
Aber wo Du A3 und A4 erwähnst, ich habe auf der Seite die Funktion "Druckversion (PDF)" ausgewählt. Da kann man ja wählen, ob A3 oder A4.
Dann gibt es noch "Druckversion (HTML)", damit ist das Dokument auch ok.
Wenn man die Druckaufbereitung wegläßt, die Skalierung ändert auf z.B. 180% und im Querformat druckt, sieht das auch richtig aus, allerdings etwas kleiner.
Evtl. hilft Dir das bei der Suche noch weiter.

reox
Beiträge: 2459
Registriert: 06.06.2006 22:09:47
Lizenz eigener Beiträge: MIT Lizenz

Re: Cups und p910nd druckt PDF nicht richtig

Beitrag von reox » 21.12.2017 21:21:28

Achso, ja der Plan war jetzt nur ein Beispiel.

Aber ich hab noch was herausgefunden:
Drucke ich mit qpdfview landet in /var/spool/cups genau das gleiche PDF:

Code: Alles auswählen

$md5sum pd_8153__200.pdf 
29efc38d05bd484ed1009f885bdcd06c  pd_8153__200.pdf
$ md5sum /var/spool/cups/d00556-001
29efc38d05bd484ed1009f885bdcd06c  /var/spool/cups/d00556-001
$ du /var/spool/cups/d00556-001
1204	/var/spool/cups/d00556-001
Evince erzeugt das PDF aber wohl neu:

Code: Alles auswählen

$ md5sum /var/spool/cups/d00555-001
ffa3bd763871c5357c4785c96ced10aa  /var/spool/cups/d00555-001
$ sudo du /var/spool/cups/d00555-001
644	/var/spool/cups/d00555-001
Mit pdfinfo sieht man auch die Unterschiede:

Code: Alles auswählen

$ pdfinfo /var/spool/cups/d00556-001
Creator:        Magistrat Wien/MA14-ADV MagWien.AoExportProcess.exe 2.0.4.0
CreationDate:   Wed May 11 15:48:31 2016 CEST
Tagged:         no
UserProperties: no
Suspects:       no
Form:           none
JavaScript:     no
Pages:          1
Encrypted:      no
Page size:      841.89 x 1190.55 pts
Page rot:       0
File size:      1231807 bytes
Optimized:      no
PDF version:    1.6
$ pdfinfo /var/spool/cups/d00555-001
Producer:       cairo 1.15.8 (http://cairographics.org)
Tagged:         no
UserProperties: no
Suspects:       no
Form:           none
JavaScript:     no
Pages:          1
Encrypted:      no
Page size:      595.276 x 841.89 pts (A4)
Page rot:       0
File size:      656181 bytes
Optimized:      no
PDF version:    1.5
Das bedeutet, das Evince quasi einen Teil des Filters selber macht. In der Job Datei (?) stehen beim qpdfview job auch mehr Dinge drin, wie drehungen, fit-to-page etc...

Die Frage ist aber immer noch warum dann das von evince erstellte PDF bei den Filtern korrekt rauskommt. Weiß jemand wie man die PDFs untersuchen kann ob zB Schriften noch Text sind oder ob das gerastert wird? Das wäre jetzt meine erste Vermutung...
Oder reicht PDF Version 1.5 schon aus? Hat Cups da irgendwelche Probleme?

Wie mir scheint, ist die einzige Möglichkeit den Druckjob ideal zu kontrollieren, das gewünschte Ergebnis als PDF zu erstellen und mit lpr -l an den Drucker zu senden...

reox
Beiträge: 2459
Registriert: 06.06.2006 22:09:47
Lizenz eigener Beiträge: MIT Lizenz

Re: Cups und p910nd druckt PDF nicht richtig

Beitrag von reox » 06.03.2018 12:03:08

Noch eine interessante Beobachtung: Ich habe ein PDF im Firefox offen gehabt und von dort gedruckt.
Ich hatte in den Druckeinstellungen noch Querformat eingestellt - jetzt war natürlich die hälfte abgeschnitten aber der Text wurde so wie im PDF dargestellt.
Nun hab ich auf Hochformat geändert und bekomme wieder den komischen Text angezeigt - mit kaputten Sonderzeichen etc... 8O

pferdefreund
Beiträge: 3791
Registriert: 26.02.2009 14:35:56

Re: Cups druckt PDF (manchmal) nicht richtig

Beitrag von pferdefreund » 06.03.2018 19:43:54

Eventuell mal nen anderen Treiber probieren oder - um das USB-Teil als Fehlerquelle auszuschließen, Drucker direkt an Rechner anschießen und schauen, was dann passiert.
Falls der Drucker Postscript cann, mal nen Postscript-Treiber probieren.

Benutzeravatar
KBDCALLS
Moderator
Beiträge: 22355
Registriert: 24.12.2003 21:26:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Re: Cups druckt PDF (manchmal) nicht richtig

Beitrag von KBDCALLS » 06.03.2018 22:56:23

PDF scheint wohl ein ziemlich schwieriges Pflaster zu sein , was drucken betrifft.

Ich hab hier ein Postident Blatt. Acroread unter Jessie druckts richtig. Libreoffice unter Sid druckt nur eine schwarze Fläche anstatt den Matrixcode , so wie erscheinen soll. Schrift ist Ok.
Druck ist bei mir ein Kyocera FSC5100DN , der Postscript kann. Es ist anscheinend nicht so einfach fehlerfreies PDF/Postscript hinzubekommen, was dann am Bildschirm und gedruckt gleich aussieht.
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.

EDV ist die Abkürzung für: Ende der Vernunft

Bevor du einen Beitrag postest:
  • Kennst du unsere Verhaltensregeln
  • Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.

reox
Beiträge: 2459
Registriert: 06.06.2006 22:09:47
Lizenz eigener Beiträge: MIT Lizenz

Re: Cups druckt PDF (manchmal) nicht richtig

Beitrag von reox » 07.03.2018 10:48:01

Einen anderen Treiber als den von Brother gibt es ja nicht - oder doch?
Am USB habe ich die selben Ergebnisse, da hab ich auch schon getestet. Der p910d macht auch eigentlich nichts anderes als die Daten vom TCP anzunehmen und an den Drucker zu leiten...

Wie ich schon geschrieben hatte, kann man "korrekten" Druck erzeugen, wenn man das PDF manuell umwandelt (so wie evince das macht).
Der Drucker kann Postscript - jedoch scheint das mehr probleme zu machen. Ich hatte ja schon probiert das PDF in ein PS umwandeln und mit lpr -l zu senden.

Meine Vermutung: Evince rastert das Bild vorher selber, die anderen vertrauen darauf, dass der Drucker PDF richtig umsetzt. dH das ist vermutlich auch das einzige was man machen kann.

Antworten