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

30

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

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

galacticninja
источник
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.

RedGrittyBrick
источник
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, но и многие другие форматы.

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

Экспорт меню

phuclv
источник
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кажется, работает намного быстрее, и это больше подходит для больших партий преобразования.

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

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

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

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

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

Скриншот PDFCreator

phuclv
источник