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


30

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

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


1
В Linux это довольно просто: pdf2ppm конвертирует pdf в ppm, а затем конвертирует (из imagemagick), чтобы разделить ppm-файл на png-файлы.
Олли

1
В Mac OS X это довольно просто, с Automator и действием Render PDF Pages as Images, которое преобразует многостраничный PDF в отдельные файлы изображений.
Даниэль Бек

Ответы:


18

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

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

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


5
Я экспериментировал с несколькими опциями для 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

Если исходный DPI равен 96, и изображение, скорее всего, будет в основном просматриваться на экране, 96 является хорошим выбором для выходного DPI, поскольку это стандартное DPI-DPI для MS Windows по умолчанию (хотя некоторые из них устанавливают свой DPI-DPI на 120).
RedGrittyBrick

25

Используя ImageMagick (вам также понадобится установить Ghostscript ), команда:

convert -density 300 filename.pdf filename.png

приведет к серии файлов filename-0.png, filename-1.png, filename-2.png, один для каждого из страниц PDF. Вы можете поиграть с настройкой плотности, чтобы получить разрешение, которое вам нравится.

Возможно, вам придется указать полный путь к convert.exe в Windows; Я когда-либо делал это только на Linux, но это должно работать и на Windows.


Я пробовал метод Ghostscript в другом ответе выше, но теперь хотел бы попробовать этот метод, который вы предложили. Я хотел бы спросить, -density 300означает ли аргумент, что параметр DPI равен 300, или это означает другое?
galacticninja

Да, смотрите здесь .
frabjous

3
Если вам нужна только одна страница, укажите имя файла PDF с номером страницы в квадратных скобках: номер страницы начинается с filename.pdf[0]0, поэтому 0 - первая страница, 1 - вторая страница и т. Д. Stackoverflow.com/a/12614851/215168
Эйб Фолькер

Просто к сведению: ImageMagick - х convertдействительно использует Ghostscript при рендеринге .pdfс, см stackoverflow.com/questions/14705727/...
sdaau

для того, чтобы это работало gs, нужно вызвать двоичный файл ghostscript (у меня был gsпсевдоним git status)
duhaime

2

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

convert.town/pdf-to-png

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


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

2

Вы можете использовать PDF-XChange . Он может экспортировать любые страницы в нужный формат. Поддерживаются не только PNG, но и многие другие форматы.

Диалог экспорта изображений

Экспорт меню


1

Это пример с 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

Использование -dUseCropBoxне для обрезки. Вместо этого он вызывает, что GSчитает CropBoxинформацию из входного PDF. Это необходимо для надежного преобразования.
Имрисс

0

Еще одно программное обеспечение для преобразования - PDFCreator . Это создаст новый принтер в вашей системе, так что вы сможете конвертировать из любых форматов в изображения , а не только файлы PDF

  • Конвертируйте ваши документы в PDF, JPG, PNG, TIF и другие
  • Объединить несколько документов в один файл
  • Профили делают доступными часто используемые настройки одним щелчком мыши
  • Используйте автоматическое сохранение, чтобы иметь полностью автоматизированный принтер PDF
  • Мы заботимся о сложности и делаем преобразование PDF-файлов простым для вас

Что еще более важно, это также с открытым исходным кодом

Просто распечатайте документ, выберите PDFCreator и выберите вывод в формате PNG (или TIFF, JPG, что угодно ...) и все готово

Скриншот PDFCreator

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.