Как преобразовать многостраничный файл PDF в файлы PNG, с одним файлом PNG на страницу документа PDF?

36680
galacticninja

Как преобразовать многостраничный файл PDF в файлы PNG и автоматически сохранить один файл PNG на страницу документа PDF (для Windows 7)?

Я пробовал виртуальные принтеры (CutePDF, Bullzip PDF Printer) и программное обеспечение для редактирования изображений (Irfanview, Photoshop), чтобы конвертировать PDF-файлы в PNG, но я не могу найти способ заставить их сохранять один PNG-файл на страницу документа PDF.

28
В Linux это довольно просто: pdf2ppm конвертирует pdf в ppm, а затем конвертирует (из imagemagick), чтобы разделить ppm-файл на png-файлы. Olli 13 лет назад 0
В Mac OS X это довольно просто, с Automator и действием Render PDF Pages as Images, которое преобразует многостраничный PDF в отдельные файлы изображений. Daniel Beck 13 лет назад 0
@DanielBeck Я вижу, что ты там делал;) Skeleton Bow 7 лет назад 0

5 ответов на вопрос

23
frabjous

Using ImageMagick (you'll need Ghostscript installed as well), the command:

convert -density 300 filename.pdf filename.png

will result in a series of files filename-0.png, filename-1.png, filename-2.png, one for each of the pages of the PDF. You'll want to play around with the density setting to get a resolution you like.

You may need to give the full path to convert.exe on Windows; I've only ever done this on Linux, but it should work for Windows too.

Я пробовал метод Ghostscript в другом ответе выше, но теперь хотел бы попробовать этот метод, который вы предложили. Я хотел бы спросить, означает ли аргумент `-density 300`, что параметр DPI равен 300, или это означает другое? galacticninja 12 лет назад 0
Да, см. [Здесь] (http://www.imagemagick.org/script/command-line-options.php?ImageMagick=2fnn3hjfigngkq179b6kssthk7#density). frabjous 12 лет назад 0
Если вам нужна только одна страница, укажите имя файла PDF с номером страницы в квадратных скобках: `filename.pdf [0]` Номер страницы начинается с 0, поэтому 0 - первая страница, 1 - вторая страница и т. Д. Http : //stackoverflow.com/a/12614851/215168 Abe Voelker 9 лет назад 3
Просто примечание: ImageMagick `convert` использует Ghostscript при рендеринге` .pdf`s, см. Http://stackoverflow.com/questions/14705727/convert-pdf-to-jpg-using-imagemagick-without-ghostscript sdaau 9 лет назад 0
для этого `gs` должен вызвать двоичный файл ghostscript (у меня` gs 'связали с `git status`) duhaime 5 лет назад 0
17
RedGrittyBrick

Используйте Ghostscript

-sOutputFile = имя файла Это общая опция, сообщающая Ghostscript, как назвать вывод. Это может быть либо одно имя файла «tiger.png», либо шаблон «figure-% 03d.jpg», где% 03d заменяется номером страницы.

Возможно, вам будет удобно использовать GhostView, интерфейс GUI.

Я экспериментировал с несколькими опциями для GhostView и пришел к этой группе опций, чтобы автоматически конвертировать PDF в PNG без запросов пользователя: `-dBATCH -dNOPAUSE -sDEVICE = png16m -r96 -sOutputFile =" C: \ directory_Output \% 03d. png "" C: \ directory_Input \ pdfname.pdf "` Я делаю это правильно? Я также хотел бы знать, какое значение DPI мне следует установить (в данном случае я установил значение 96), чтобы иметь то же разрешение, что и в исходном PDF. (Файлы PDF, которые я конвертирую, содержат отсканированные изображения книги или журнала и не содержат текста / информации OCR.) galacticninja 13 лет назад 4
Если исходный DPI равен 96, и изображение, скорее всего, будет в основном просматриваться на экране, 96 является хорошим выбором для выходного DPI, так как это стандартное DPI-DPI для MS Windows по умолчанию (хотя некоторые из них устанавливают свой DPI-DPI на 120). RedGrittyBrick 13 лет назад 0
2
phuclv

You can use PDF-XChange. It can export any pages you want to the expected format. Not only PNGs but many other formats are supported too

Export images dialog

Export menu

2
sunset

Если вы предпочитаете не устанавливать какое-либо программное обеспечение, вы можете использовать этот онлайн-инструмент:

convert.town/pdf-to-png

Преобразование выполняется внутри вашего браузера. Он создаст один файл PNG для каждой страницы PDF.

Работает очень хорошо, увы, изображения только 75 DPI, что недостаточно для вывода на печать. ƘɌỈSƬƠƑ 8 лет назад 0
1
imriss

Это пример с GSс CropBoxопцией:

"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" 

Путь к GSдолжен быть скорректирован в зависимости от вашей установки. Кроме того, DEVICEпараметр может быть изменен на цветное устройство, если требуется. По сравнению с convert, GSкажется, работает намного быстрее, и это больше подходит для больших партий преобразования.

Если я не обрезаю какую-либо часть исходного PDF-файла или преобразованных изображений PNG, мне все равно нужно использовать «CropBox»? Если да, как это помогает с процессом преобразования? galacticninja 9 лет назад 0
Использование `-dUseCropBox` не должно выполнять обрезку. Вместо этого он заставляет `GS` читать информацию` CropBox` из входного PDF. Это необходимо для надежного преобразования. imriss 9 лет назад 0