Konwertuj PDF na obraz o wysokiej rozdzielczości
Próbuję użyć programu z linii poleceńconvert
aby przenieść plik PDF na obraz (JPEG lub PNG). Oto jeden z plików PDF , które próbuję przekonwertować.
Chcę, aby program przyciął nadmiar białej przestrzeni i zwrócił obraz o wysokiej jakości, aby Indeksy górne mogły być odczytywane z łatwością.
To moja obecnanajlepsza próba . Jak widać, przycinanie działa dobrze, muszę tylko trochę wyostrzyć rozdzielczość. To rozkaz. użycie:
convert -trim 24.pdf -resize 500% -quality 100 -sharpen 0x1.0 24-11.jpg
Starałem się podjąć następujące świadome decyzje:
- Zmień rozmiar na większy (nie ma wpływu na rozdzielczość)
- spraw, aby jakość była jak najwyższa
- użyj
-sharpen
(próbowałem zakresu wartości)
Wszelkie sugestie dotyczące uzyskania rozdzielczości obrazu w ostatecznym formacie PNG / JPEG wyższej będą bardzo mile widziane!
11 answers
Wygląda na to, że działa:
convert \
-verbose \
-density 150 \
-trim \
test.pdf \
-quality 100 \
-flatten \
-sharpen 0x1.0 \
24-18.jpg
Powoduje lewy obrazek. Porównaj to z wynikiem mojego oryginalnego polecenia (obrazek po prawej stronie):
(do naprawdę. Zobacz i docenić różnice między nimi, kliknij prawym przyciskiem myszy na każdym i wybierz " Otwórz obraz w nowej karcie...".)
Należy również pamiętać o następujących faktach:
- gorszy, rozmyty obraz na prawa ma rozmiar pliku 1.941.702 bajtów (1.85 MByte). Jego rozdzielczość to 3060x3960 pikseli, przy użyciu 16-bitowej przestrzeni kolorów RGB.
- lepszy, ostry obraz po lewej stronie ma rozmiar pliku 337.879 bajtów (330 kByte). Jego rozdzielczość wynosi 758x996 pikseli, przy użyciu 8-bitowej szarej przestrzeni kolorów.
Więc nie trzeba zmieniać rozmiaru; dodaj flagę -density
. Wartość gęstości 150 jest dziwna - próba zakresu wartości skutkuje gorzej wyglądającym obrazem w obu kierunkach!
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-24 18:21:21
Osobiście to lubię.
convert -density 300 -trim test.pdf -quality 100 test.jpg
Jest trochę ponad dwa razy większy niż Rozmiar pliku, ale dla mnie wygląda lepiej.
-density 300
ustawia dpi, na którym renderowany jest plik PDF.
-trim
usuwa wszystkie piksele krawędzi, które mają ten sam kolor co piksele narożników.
-quality 100
ustawia jakość kompresji JPEG na najwyższą jakość.
Rzeczy takie jak -sharpen
nie działają dobrze z tekstem, ponieważ cofają to, co zrobił Twój system renderowania czcionek, aby uczynić go bardziej czytelnym.
Jeśli w rzeczywistości chcesz, aby został wysadzony użyj resize tutaj i prawdopodobnie większej wartości dpi czegoś takiego jak targetDPI * scalingFactor
, która wyrenderuje plik PDF w zamierzonej rozdzielczości / rozmiarze.
Opisy parametrów na imagemagick.org are here
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-03-02 17:54:32
Odkryłem, że jest to zarówno szybsze, jak i bardziej stabilne podczas przetwarzania wsadowego dużych plików PDF do PNGs i JPG, aby użyć podstawowego polecenia gs
(aka Ghostscript), którego używa convert
.
Możesz zobaczyć polecenie w wyjściu convert -verbose
i jest jeszcze kilka możliwych poprawek (YMMV), które są trudne / niemożliwe do uzyskania bezpośrednio przez convert
.
Jednak trudniej byłoby wykonać przycinanie i ostrzenie za pomocą gs
, więc, jak powiedziałem, YMMV!
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-04-19 11:30:38
Używam pdftoppm
w wierszu poleceń, aby uzyskać początkowy obraz, zazwyczaj o rozdzielczości 300dpi, więc pdftoppm -r 300
, następnie użyj convert
, aby wykonać przycinanie i konwersję PNG.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-05-31 17:03:20
Zwykle wyodrębniam osadzony obraz z 'pdfimages' w natywnej rozdzielczości, a następnie używam ImageMagick ' s convert do wymaganego formatu:
$ pdfimages -list fileName.pdf
$ pdfimages fileName.pdf fileName # save in .ppm format
$ convert fileName-000.ppm fileName-000.png
To generuje najlepszy i najmniejszy plik wynikowy.
Uwaga: dla stratnych osadzonych obrazów JPG, trzeba było użyć-j:
$ pdfimages -j fileName.pdf fileName # save in .jpg format
Z najnowszym popplerem możesz użyć-wszystko to zapisuje stratne jako jpg i bezstratne jako png
Na mało dostarczonej platformie Win trzeba było pobrać najnowszy (0.37 2015) binarny 'poppler-util' od: http://blog.alivate.com.au/poppler-windows/
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-05-01 19:45:47
Daje również dobre wyniki:
exec("convert -geometry 1600x1600 -density 200x200 -quality 100 test.pdf test_image.jpg");
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-05-15 12:57:09
Jeszcze jedna sugestia, że możesz używać programu GIMP.
Wystarczy załadować plik PDF w GIMP- > Zapisz jako .xcf, a następnie możesz zrobić, co chcesz, aby obraz.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-10-24 11:11:32
Dołączony plik PNG wygląda naprawdę niewyraźnie. W przypadku konieczności zastosowania dodatkowego przetwarzania końcowego dla każdego obrazu wygenerowanego jako Podgląd PDF, zmniejszysz wydajność rozwiązania.
2JPEG może konwertować plik PDF dołączony do ładnego wyostrzania JPG i kadrowania pustych marginesów jednym wywołaniem:
2jpeg.exe -src "C:\In\*.*" -dst "C:\Out" -oper Crop method:autocrop
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-10-13 09:18:12
Użytkownik Linuksa tutaj: próbowałem convert
narzędzie wiersza poleceń (dla PDF do PNG) i nie byłem zadowolony z wyników. Okazało się, że jest to łatwiejsze, z lepszym wynikiem:
- wyodrębnij strony pdf za pomocą pdftk
- np.:
pdftk file.pdf cat 3 output page3.pdf
- np.:
- otwórz (Importuj) ten plik pdf za pomocą
GIMP
- Ważne: Zmień import
Resolution
z100
na300
lub600 pixel/in
- Ważne: Zmień import
- in
GIMP
export as PNG (zmień rozszerzenie pliku na .png)
Edit:
Dodano zdjęcie, zgodnie z wymaganiami w Comments
. Konwertuj użyte polecenie:
convert -density 300 -trim struct2vec.pdf -quality 100 struct2vec.png
GIMP
: importowane w rozdzielczości 300 dpi( px / in); eksportowane jako 3. poziom kompresji PNG.
Nie używałem programu GIMP w linii poleceń(re: mój komentarz, poniżej).
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-05-29 14:35:08
To właściwie całkiem łatwe do zrobienia z podglądem na komputerze mac. Wszystko, co musisz zrobić, to otworzyć plik w podglądzie i zapisać (lub wyeksportować) png lub jpeg, ale upewnij się, że używasz co najmniej 300 dpi u dołu okna, aby uzyskać obraz wysokiej jakości.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-07-26 20:24:57
Użyj tej linii poleceń:
convert -geometry 3600x3600 -density 300x300 -quality 100 TEAM\ 4.pdf team4.png
To powinno poprawnie przekonwertować plik, o który prosiłeś.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-07-21 16:40:10