Ich habe ein mit Inkscape erstelltes PDF, das transparente Farben verwendet. Dieses Bild soll in einem LaTeX-Dokument verwendet werden.
Die Beibehaltung der Transparenz ist zwar für die Bearbeitung hilfreich, kann jedoch beim Drucken problematisch sein. Das Drucken umfasst normalerweise die Konvertierung von PDF in PS. Da Postscript keine Transparenz unterstützt, ist dies ebenfalls erforderlich
- Abflachen, dh Erstellen einer Vektorgrafik, die ohne Transparenz funktioniert
oder
- Rastering, dh Rendern eines Bitmap-Bildes.
Wenn ein PDF-Dokument mit einer solchen Abbildung mit Evince (oder Cairo oder Ghostscript) gedruckt (oder in PS konvertiert) wird, wird die gesamte Seite als Bitmap gerendert, wodurch Schriftarten hässlich werden (anders als auf anderen Seiten). (Adobe Acrobat verarbeitet solche PDFs gut.)
Leider hilft das Konvertieren der PDF-Zahlen in EPS (bevor sie in LaTeX aufgenommen werden) nicht viel, da sowohl pdftops als auch pdf2ps (wieder Kairo oder Ghostscript) das Bild rastern, dh eine Bitmap rendern (als EPS gespeichert). (Dies ist etwas besser, da es nicht die gesamte Seite betrifft, aber ich würde trotzdem eine Vektorgrafik bevorzugen.)
Wie kann ich die Transparenz mit Inkscape oder anderer Software unter Linux reduzieren?
Antworten:
Eine Möglichkeit, eine schlechte Rasterisierung zu umgehen, besteht darin, Ihr PDF-Dokument manuell in Postscript zu konvertieren. Wenn Sie CUPS über evince oder eine andere Benutzeroberfläche aufrufen, wird es trotzdem konvertiert.
Sie können versuchen
pdftops -r 1200 document.pdf
, die Auflösung von der niedrigen Standardeinstellung von 300 zu erhöhen, und dann das resultierende Postskriptum drucken. Bei den arbeitenden Druckern ergab sich jedoch keine signifikante Verbesserung. Normaler Text auf Seiten mit und ohne transparente Bilder sah immer noch anders aus - verschwommen oder klar.Daher habe ich Acrobat Professional (auf einem Windows-Computer) verwendet, um die in meinem Latexdokument verwendeten transparenten Bilder zu reduzieren, was zu optimalen Ergebnissen führte. Überprüfen Sie, ob
Transparency Flattener Preset
an ist[High Resolution]
in dem erweiterten Druckaufbau. Mein Kollege erwähnte, dass man eine PDF-Datei möglicherweise direkt auf einen modernen Laserjet-Netzwerkdrucker übertragen und die Postscript-Konvertierung umgehen könnte. Ich habe das nicht versucht.Es wäre großartig, eine Nur-Linux-Lösung für dieses Problem zu haben.
quelle
Ich hatte das gleiche Problem und dies ist meine Lösung (zum späteren Nachschlagen):
Ich habe viele Dinge ausprobiert, und die beste funktionierende Lösung, die ich im Internet gefunden habe, war, das PDF vollständig als Bild mit
pdf2ps
und zu rendernps2pdf13
, aber das Ergebnis war für mich nicht zufriedenstellend, da alle Vektorformen verloren gingen. Ich wollte nur die kritischen Teile rendern, aber die Vektorgrafiken beibehalten.Was für mich der Trick war, war, alle kritischen Teile in Inkscape zu isolieren und sie auf eine separate Ebene zu legen (in meinen Bildern waren dies alle Schatten). Ich habe nur diese Ebene (und die Hintergrundebene) sichtbar gemacht und in PNG exportiert, um effektiv alle Transparenzeffekte zu rendern, aber nur diese. Ich habe es zurück importiert und in einer neuen Ebene verwendet. Nach dem Umdrehen aller Ebenen-Sichtbarkeiten (Transparenzebene: Aus, alle anderen: Ein) funktionierte das exportierte PDF perfekt mit LaTeX und konnte gedruckt werden, ohne die gesamte Seite als Bild zu rendern.
TL; DR:
quelle
Eine Möglichkeit besteht darin, in Inkscape ein weißes Feld mit der gleichen Größe wie Ihre Seite zu erstellen und an die unterste Ebene zu senden. Dadurch wird Ihr Bild mit einem weißen Hintergrund anstelle eines transparenten exportiert.
quelle
Ich habe die PDF-Datei mit Ubuntu / Gimp geöffnet und jeweils eine Seite gedruckt, um jedes Mal die Druckvorschau zu überprüfen.
quelle
dann
quelle