Vielen Dank für eure Antworten
Hallo kann euch da leider keinen richtigen Tipp geben.
Nur wenn du es über einen Intent machst machst du es nicht wirklich selber. Mit dem intent rufst du ja ei e fremde oder System app auf. Der überlässt so eigentlich die Arbeit. Es könnte aber auch an den übergebenen Daten ligen die du den Intent übergibst.
Welche app, activity benutzt du zum Drucken?
Ist es ein impliziter oder expliziter intent?
Wie findet die Daten Übergabe statt?
PS. Da es ja auch schlecht ist wenn du nicht aus eurer App druckst. Also auch aus der Samsung App oder Adobe Reader würde ich auf einen Fehler, Konfiguration des Druckertreiber in Android tippen. Wenn dem so ist wird dir ein intent nichts bringen. Da müsstest ihr alles von selber machen damit meine ich die komplette Hardware Anbindung.
Alles anzeigen
Ja zum einen haben wir versucht die Drucker-App des Herstellers aufzurufen und so den Druck durchzuführen. Dies geschieht über ein explizites Intent. Dazu gibt es auch eine offizielle Doku von Samsung:
http://developer.samsung.com/f…ile.do?attachmentId=17452
Zum anderen haben wir aber auch versucht den Druckdienst direkt aufzurufen (z.B. mit printerHelpfer sowie PrintManager). Klappt wie beschrieben auch beides, nur mit dem Ergebnis eines schlechten Druckbildes.
Was die direkte Hardware Anbindung angeht, haben wir null Erfahrung. Vor allem mal kurz ein Drucker-"Treiber" schreiben. Ein korrekter Treiber sollte ja eigentlich auch vom Hersteller kommen und nicht von Hobby-Entwicklern oder/und externen Firmen.
Noch eine Frage wie sieht es denn aus wenn du eine fremde nicht von euch erstellte PDF Datei mit System Tools druckst. Oder auch mal ein anderes Format. Wenn das geht liegt es wohl an euren Dateiformat besser gesagt wir ihr die Datei erstellt.
Mal zur eigentlichen Funktion: wir haben eine Hybrid-App mit Cordova 8 und dem Plugin: cordova-plugins-printer. Zum Drucken haben wir Vordrucke, die mit Inhalten aus der Hybrid-App bedruckt werden sollen. Hierzu wird entsprechender HTML-Code (mit @print CSS) dem Plugin übergeben, der den Druckdienst startet. Da bereits hier ein schlechtes Ergebis erschien, dachten wir uns, es läge an Cordova bzw. dem Plugin.
Anschließend haben wir Testweise versucht, über native App-Funktionen (printerHelper, printManager) den Druckdienst direkt anzusprechen. Als auch das zum schlechten Bild führte, haben wir die Hersteller-App per expliziten Intent aufgerufen.
Da wir die Datei ausschließen wollten, haben wir die exakt gleiche PDF (und Bild) über Desktop-PCs gedruckt. Hier mit gutem Druckbild.
Es ist auch die Frage, was genau verpixelt ist in der PDF. Bilder oder Schrift?
Welche Schriften (und Typen) wurden in der PDF selbst eingebunden?
Wahrscheinlich kann Android den Schrift-Type/Schnitt nicht passend ausgeben und druckt dann entsprechend verpixelt.
Unser Dokument enthält Schrift sowie waagerechte Linien (per hr- und div-Tag erstellt). Also keine Bilder. Für die Schrift nutzen wir HelveticaNeue und HelveticaNeueBold.
Die PDF haben wir durch HTML- sowie Photoshop generiert (und getestet). Eben auch das Willkommen-pdf von Adobe Reader auf Android gedruckt. Ebenfalls verpixelt.
Um mal das Verpixelt zu erklären: Bei der Schrift sind Stufen drin, meist Außen, aber auch Innen (sieht aus als würden manche Pixel nicht bedruckt werden). Bei den Linien ebenfalls.