Jak przekonwertować wielostronicowy plik PDF na pliki PNG, z jednym plikiem PNG na stronie dokumentu PDF?

30

Jak przekonwertować wielostronicowy plik PDF na pliki PNG i automatycznie zapisać jeden plik PNG na stronie dokumentu PDF (dla systemu Windows 7)?

Próbowałem wirtualnych drukarek (CutePDF, Bullzip PDF Printer) i oprogramowania do edycji obrazów (Irfanview, Photoshop) do konwersji plików PDF na PNG, ale nie mogę znaleźć sposobu, aby zapisać jeden plik PNG na stronie dokumentu PDF.

galacticninja
źródło
1
W przypadku Linuksa jest to dość proste, z „pdf2ppm” do konwersji pdf na ppm, a następnie „konwersja” (z imagemagick) do podziału pliku ppm na pliki png.
Olli
1
W systemie Mac OS X jest to dość proste, z Automatorem i działaniem „Renderuj strony PDF jako obrazy”, które konwertuje wielostronicowy plik PDF na osobne pliki obrazów.
Daniel Beck

Odpowiedzi:

18

Użyj Ghostscript

-sOutputFile = nazwa pliku Jest to ogólna opcja informująca Ghostscript, jak nazwać dane wyjściowe. Może to być pojedyncza nazwa pliku „tiger.png” lub szablon „rysunek-% 03d.jpg”, w którym% 03d jest zastąpiony numerem strony.

Wygodne może być korzystanie z GhostView, interfejsu GUI.

RedGrittyBrick
źródło
5
Eksperymentowałem na kilku opcjach GhostView i doszedłem do tej grupy opcji, aby automatycznie przekonwertować plik PDF na PNG bez monitów użytkownika: -dBATCH -dNOPAUSE -sDEVICE=png16m -r96 -sOutputFile="C:\directory_Output\%03d.png" "C:\directory_Input\pdfname.pdf"czy robię to dobrze? Chciałbym również wiedzieć, na jaką DPI powinienem to ustawić (w tym przypadku ustawiłem na 96), aby mieć taką samą rozdzielczość jak źródłowy plik PDF. (Konwertowane przeze mnie pliki PDF zawierają zeskanowane obrazy książki lub czasopisma i nie zawierają tekstu / informacji OCR.)
galacticninja
Jeśli źródłowa DPI wynosi 96, a obraz będzie prawdopodobnie oglądany głównie na ekranie, 96 jest dobrym wyborem dla wyjściowej DPI, ponieważ jest to domyślna DPI wyświetlacza dla MS Windows (choć kilka ustawia DPI ekranu na 120).
RedGrittyBrick
25

Za pomocą ImageMagick (musisz także zainstalować Ghostscript ) polecenie:

convert -density 300 filename.pdf filename.png

spowoduje serię plików filename-0.png, filename-1.png, filename-2.png, po jednym dla każdej ze stron pliku PDF. Będziesz chciał pobawić się ustawieniem gęstości, aby uzyskać pożądaną rozdzielczość.

W systemie Windows może być konieczne podanie pełnej ścieżki do pliku convert.exe; Robiłem to tylko na Linuksie, ale powinno to działać również w systemie Windows.

frabjous
źródło
Próbowałem metody Ghostscript w innej odpowiedzi powyżej, ale chciałbym teraz wypróbować tę metodę, którą zasugerowałeś. Chciałbym zapytać, czy -density 300argument oznacza, że ​​ustawienie DPI wynosi 300, czy też oznacza to coś innego?
galacticninja,
Tak, patrz tutaj .
frabjous
3
Jeśli chcesz tylko jednej strony, postępuj zgodnie z nazwą pliku PDF z numerem strony w nawiasach kwadratowych: filename.pdf[0]Numer strony jest oparty na 0, więc 0 to pierwsza strona, 1 to druga strona itp. Stackoverflow.com/a/12614851/215168
Abe Voelker,
Tylko uwaga: ImageMagick's convertużywa Ghostscript do renderowania .pdfs, patrz stackoverflow.com/questions/14705727/...
sdaau
aby to zadziałało gs, należy zadzwonić do binarnego ghostscript (do którego miałem gsalias git status)
duhaime,
2

Jeśli wolisz nie instalować żadnego oprogramowania, możesz użyć tego narzędzia online:

convert.town/pdf-to-png

Konwersja odbywa się w przeglądarce. Wygeneruje jeden plik PNG dla każdej strony PDF.

zachód słońca
źródło
Działa bardzo dobrze, ale obrazy mają tylko 75 DPI, co nie wystarcza do wydrukowania.
ƘɌỈSƬƠƑ
2

Możesz użyć PDF-XChange . Może eksportować dowolne strony do oczekiwanego formatu. Obsługiwane są nie tylko pliki PNG, ale także wiele innych formatów

Okno dialogowe Eksportuj obrazy

Eksportuj menu

phuclv
źródło
1

To jest przykład z GSz CropBoxopcji:

"c:\Program Files\gs\gs9.10\bin\gswin64.exe" -dBATCH -dNOPAUSE -sDEVICE=pnggray -r300 -dUseCropBox -sOutputFile="path_to_png_files\pdffilename-%03d.png" "path_to_pdf_file\pdffilename.pdf"

Ścieżkę do GSnależy dostosować w zależności od instalacji. W razie potrzeby DEVICEparametr można zmienić na urządzenie kolorowe. W porównaniu do convert, GSwydaje się działać znacznie szybciej i jest bardziej odpowiedni dla dużych partii konwersji.

imriss
źródło
Jeśli nie kadruję żadnej części oryginalnego pliku PDF ani przekonwertowanych obrazów PNG, czy nadal muszę używać „CropBox”? Jeśli tak, w jaki sposób pomaga to w procesie konwersji?
galacticninja
Zastosowanie -dUseCropBoxnie polega na wykonywaniu kadrowania. Zamiast tego wymusza GSodczyt CropBoxinformacji z wejściowego pliku PDF. Jest to konieczne, aby uzyskać solidną konwersję.
imriss
0

Innym oprogramowaniem do konwersji jest PDFCreator . Stworzy nową drukarkę w twoim systemie, dzięki czemu będziesz mógł faktycznie konwertować dowolne formaty na obrazy , nie tylko pliki PDF

  • Konwertuj dokumenty na pliki PDF, JPG, PNG, TIF i inne
  • Scal wiele dokumentów w jeden plik
  • Profile udostępniają często używane ustawienia jednym kliknięciem
  • Użyj automatycznego zapisywania, aby mieć w pełni zautomatyzowaną drukarkę PDF
  • Dbamy o złożoność i ułatwiamy konwersję plików PDF

Co ważniejsze, jest również open source

Wystarczy wydrukować dokument, wybrać PDFCreator i wybrać wynik jako PNG (lub TIFF, JPG, cokolwiek ...) i gotowe

Zrzut ekranu PDFCreator

phuclv
źródło