Ich entwickle eine Anwendung, die ein Bild über die Erzeugung von PostScript-Ausgabe druckt und es an den Drucker sendet. Also konvertiere ich mein Bild in jpg, dann in den ASCII85-String, füge diese Daten an die Postscript-Datei an und sende sie an den Drucker.Beschleunigung Postscript-Bild Drucken
Ausgabe wie folgt aussieht:
%!
{/DeviceRGB setcolorspace
/T currentfile/ASCII85Decode filter def
/F T/DCTDecode filter def
<</ImageType 1/Width 3600/Height 2400/BitsPerComponent
8/ImageMatrix[7.809 0 0 -8.053 0 2400]/Decode
[0 1 0 1 0 1]/DataSource F>> image F closefile T closefile}
exec
s4IA0!"_al8O`[\!<E1.!+5d,s5<tI7<iNY!!#_f!%IsK!!iQ0!?(qA!!!!"!!!".!?2"B!!!!"!!!
---------------------------------------------------------------
ASCII85 data
---------------------------------------------------------------
bSKs4I~>
showpage
jetzt Mein Ziel diesen Code zu beschleunigen ist. Jetzt dauert es etwa 14 Sekunden, bis der Drucker die Seite (für die 2-MB-Datei) druckt.
Warum ist es so langsam?
Vielleicht kann ich das Bild neu formatieren, so dass der Drucker keine affine Transformation des Bildes durchführen muss?
Vielleicht kann ich bessere Bildcodierung verwenden?
Alle Tutorials, Hinweise oder Ratschläge wären wertvoll.
Vielen Dank für Ihre Ratschläge! Mein Bild ist 3600x2400 und die Seitenauflösung ist 3600x2400 (6x4 Zoll, 600 dpi), aber PostScript verwendet 1/72 Zoll Einheiten, also, wie ich von [diesem] (http://stackoverflow.com/a/17716915/4974495) Antwort, ich sollte immer noch nicht 1: 1 Skalierung in CTM verwenden. Liege ich falsch? Kann man das vermeiden? – AndrewR
PostScript-Einheiten sind tatsächlich 1/72 Zoll, so dass Skalierungsfaktoren schwer zu berechnen sind. Sie haben die Auflösung des Geräts in Ihrer Frage nicht erwähnt, daher konnte ich nicht sagen, ob die Skalierung 1: 1 sein würde oder nicht. – KenS