Mam plik PDF wykonany w programie Inkscape, który używa przezroczystych kolorów. Ten obraz zostanie wykorzystany w dokumencie LaTeX.
Zachowanie przezroczystości przydaje się podczas edycji, ale może stanowić problem podczas drukowania. Drukowanie zwykle obejmuje konwersję PDF do PS. Ponieważ Postscript nie obsługuje przezroczystości, wymaga to również jednego z nich
- spłaszczanie, tj. tworzenie grafiki wektorowej, która działa bez przezroczystości
lub
- rasterowanie, czyli renderowanie obrazu bitmapowego.
Kiedy dokument PDF zawierający taką figurę jest drukowany (lub konwertowany do PS) za pomocą Evince (lub Cairo lub Ghostscript), cała strona jest renderowana jako bitmapa, co sprawia, że czcionki są brzydkie (inne niż inne strony). (Adobe Acrobat dobrze radzi sobie z takimi plikami PDF).
Niestety, konwersja danych PDF na EPS (przed dołączeniem ich do LaTeXa) niewiele pomaga, ponieważ zarówno pdftops, jak i pdf2ps (znowu Cairo lub Ghostscript) rasteryzują obraz, tj. Renderują bitmapę (zapisaną jako EPS). (Jest to nieco lepsze, ponieważ nie wpływa na całą stronę, ale nadal wolałbym grafikę wektorową).
Jak spłaszczyć przezroczystość za pomocą Inkscape lub innego oprogramowania w systemie Linux?
Odpowiedzi:
Jednym ze sposobów na złą rasteryzację jest ręczne przekonwertowanie dokumentu PDF na PostScript, ponieważ gdy wywołasz CUPS za pomocą evince lub dowolnego innego GUI, i tak zostanie przekonwertowany.
Możesz spróbować
pdftops -r 1200 document.pdf
zwiększyć rozdzielczość od niskiej wartości domyślnej 300, a następnie wydrukować wynikowy postscript. Jednak w przypadku drukarek w pracy nie przyniosło to znaczącej poprawy. Zwykły tekst na stronach z przezroczystymi obrazami i bez nich nadal wyglądał inaczej - rozmazany lub wyraźny.Skończyło się na użyciu programu Acrobat Professional (na komputerze z systemem Windows) do spłaszczenia przezroczystych obrazów używanych w moim dokumencie lateksowym, co dało optymalne wyniki. Sprawdź, czy
Transparency Flattener Preset
jest[High Resolution]
w zaawansowanej konfiguracji drukowania. Mój kolega wspomniał, że być może można wysłać plik pdf bezpośrednio do nowoczesnej drukarki sieciowej laserjet, pomijając konwersję PostScript. Nie próbowałem tego.Byłoby wspaniale mieć rozwiązanie tego problemu tylko dla systemu Linux.
źródło
Miałem ten sam problem i oto moje rozwiązanie (do wglądu w przyszłości):
Próbowałem wielu rzeczy, i jak dotąd najlepszym rozwiązaniem produkcyjnym, które znalazłem w internecie został całkowicie renderowania PDF jako obraz z
pdf2ps
aps2pdf13
, ale wynik nie był zadowalający dla mnie, ponieważ wszystkie kształty wektorowe zostały utracone. Chciałem renderować tylko części krytyczne, ale zachowałem grafikę wektorową.Sztuczka polegała na wyizolowaniu wszystkich krytycznych części w Inkscape i umieszczeniu ich na osobnej warstwie (na moich obrazach były to tylko cienie). Zrobiłem tylko tę warstwę (i warstwę tła) widoczną i wyeksportowałem ją do PNG, skutecznie renderując wszystkie efekty przezroczystości, ale tylko one. Zaimportowałem go z powrotem i użyłem w nowej warstwie. Po odwróceniu wszystkich widoczności warstw (warstwa przezroczystości: wyłączona, wszystkie inne: włączone) wyeksportowany plik PDF działał doskonale z LaTeX i można go było drukować bez renderowania całej strony jako obrazu.
TL; DR:
źródło
Jednym ze sposobów jest utworzenie białego pola w Inkscape tego samego rozmiaru co twoja strona i wysłanie go do dolnej warstwy. Spowoduje to wyeksportowanie obrazu z białym tłem zamiast przezroczystego.
źródło
Otworzyłem plik pdf za pomocą Ubuntu / Gimp i drukowałem po jednej stronie za każdym razem, sprawdzając podgląd wydruku za każdym razem.
źródło
następnie
źródło