Istnieje wiele pytań na temat konwertowania pliku PDF na obraz PNG, ale chcę wziąć ładny, ostry plik PNG i po prostu owinąć go lub osadzić w pliku PDF, aby nie był rozmazany lub zamazany.
Po zainstalowaniu imagemagic zdaję sobie sprawę, że mogę wykonać prostą konwersję:
convert sample.png sample.pdf
Próbowałem również wielu przełączników, aby ustawić głębokość, a także ustawienie jakości:
convert -quality 100 sample.png sample.pdf
Jednak plik PDF nadal wydaje się rozmazany / niewyraźny.
Oto przykładowy obraz:
http://img406.imageshack.us/img406/6461/picture3mu.png
Jako png jest ostry i czysty. Kiedy przekonwertuję go na plik PDF, nawet w tym samym rozmiarze wygląda rozmazany:
Zdjęcie 4.png http://img803.imageshack.us/img803/9969/picture4at.png
Jak przekonwertować PNG do formatu PDF w wysokiej jakości?
\usepackage[pdftex, final]{graphicx}
i\includegraphics[width=516px]{calendar.png}
, na przykład.Odpowiedzi:
Spróbuj użyć
-density
opcji. Domyślna rozdzielczość to 72 kropki na cal. Więc spróbuj czegoś takiego-density 300
.Informacje można znaleźć
-density
w dokumentacji opcji wiersza polecenia ImageMagick.źródło
with density 300
przypadku dowolnego przykładowego obrazu? Myślę, że wynik zależy od danych wejściowych. Nowy wątek na ten temat tutaj unix.stackexchange.com/q/292025/16920Uzyskanie dobrych wyników w formacie pdf może być bardzo skomplikowane
convert
. Spróbujimg2pdf
zamiast tego. Z pliku Readme:Aby to wyjaśnić: PDF może osadzać bezstratne obrazy JPEG 2000 (i większość czytelników wydaje się je wspierać ). Ta konwersja jest więc całkowicie bezstratna:
(Zakładając, że delegat JP2 jest dostępny, oczywiście: sprawdź
identify -list format | grep JP2
.)źródło
convert sample.png -quality 0 sample.jp2; img2pdf -o sample.pdf sample.jp2
. (Zakładając, że delegat JP2 jest oczywiście dostępny: sprawdźidentify -list format | grep JP2
.)convert
tiff, a potemtiff2pdf
.-quality 0
?-quality 100
zamiast tego?Jestem prawie pewien, że to, co postrzegają jako utrata jakości w formacie PDF, jest właśnie efektem Twoja przeglądarka plików PDF anty- „s aliasing funkcji.
Jeśli używasz
evince
do przeglądania pliku PDF, możesz zobaczyć, że funkcja wygładzania jest automatycznie wyłączana przy pewnym powiększeniu (300% w moim szybkim teście). Widać to wyraźnie, gdy powiększasz - zauważysz, że w pewnym momencie piksele stają się nagle wyraźnie widoczne. W tym momencie wygładzanie krawędzi musi zostać wyłączone, aby umożliwić dokładną kontrolę obrazu.źródło
Brian Z powyżej podał poniżej, który jest poprawny, w pełni odwracalny i bezstratny (zakładając, że krok konwersji jest w rzeczywistości bezstratny, co moim zdaniem jest lub przynajmniej powinno być) sposobem na umieszczenie png w pdf. Musisz być przekonwertowany z png do bezstratnego jp2, aby zachować zgodność ze strukturą / czytnikami PDF (tak myślę).
Warto jednak zauważyć, że możesz sam dostarczyć pliki .png bezpośrednio do img2pdf, np .:
Spowoduje to utworzenie najmniejszego pliku pdf i bezstratnie wstawi surowy hex png do obiektów w pliku pdf *.
* Wadą jest to, że proces ten nie jest odwracalny w przeciwieństwie do korzystania z jp2. Dane nagłówka / stopki i fragmentu nagłówka / stopki zostały usunięte (co czyni pliki jeszcze mniejszymi!) Z wstawionego pliku png, pozostawiając tylko surowe dane obrazu (usunięte metadane są zintegrowane ze strukturą pdf), przypuszczalnie „zhakuj” plik pdf, aby wyświetlić surowy plik PNG, który jest technicznie niezgodny z kontenerem. Wyświetla się dobrze w Firefoksie i może wyświetlać się dobrze we wszystkich współczesnych czytnikach, ale jeśli png jest niezgodny z kontenerem, ścisli czytelnicy mogą nie wyświetlać surowych danych png (ponieważ nie powinni się tego spodziewać / przetwarzać poprawnie).
Tutaj możesz znaleźć niezwykle surowy skrypt bash, który pracował dla mnie, aby wyodrębnić i zrekonstruować pliki png z dopasowanymi skrótami do tych, które są używane do wprowadzania do pliku pdf. https://github.com/jack4455667788/RebuildRawPNGExtractedFromPDF
źródło
PDF to format wektorowy (tzn. Plik zawiera opis linii do narysowania), podczas gdy inne formaty (JPG, PNG) to formaty rastrowe (plik opisuje, jaki kolor ma malować każdy piksel). Jeśli wysadzisz plik PDF, nadal są to tylko ostre linie; JPG i PNG pokazują pikselację.
(OK, OK, skłamałem. Plik PDF może być także rastrem).
źródło
Myślę, że parametr png-to-pdf
-density
powinien być mały, a nie duży. Możesz spróbować czegoś takiegoconvert -quality 100 -density 50
źródło