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!

Author: JBWhitmore, 2011-07-07

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!

 315
Author: JBWhitmore,
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

 112
Author: majinnaibu,
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!

 12
Author: Coder,
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.

 12
Author: Norman Ramsey,
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/

 10
Author: Valerio,
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");
 8
Author: Preet Sandhu,
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.

 2
Author: Armin Mustafa,
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
 0
Author: Mikhael,
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
  • otwórz (Importuj) ten plik pdf za pomocą GIMP
    • Ważne: Zmień import Resolution z 100 na 300 lub 600 pixel/in
  • 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).

pdf2png

Tutaj wpisz opis obrazka

 0
Author: Victoria Stuart,
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.

 0
Author: Jeff White,
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ś.

 -1
Author: Aleksandrs Bogdanovs,
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