Получение N jpeg изображений из N-страниц PDF

У меня есть PDF, состоящий из N страниц.
Я хочу преобразовать этот PDF в N изображений jpeg (с помощью командной строки, без Php, Java или других языков программирования).

Я пытаюсь сделать это с помощью GHOSTSCRIPT, но вывод, который GS получает для меня, никогда не похож на вывод, который я ищу.

пример:

gs 
  -sDEVICE=jpeg 
  -dNOCACHE 
  -dDEVICEHEIGHTPOINTS=72 -dDEVICEWIDTHPOINTS=72 
  -r300 
  -g800x600 
  -dFIXEDMEDIA 
  -dPDFFitPage 
  -sOutputFile=output/%d.jpg 
   mypdf.pdf 

создать N jpeg изображений с разрешением 800x600, но кажется, что страница PDF обрезается и не подходит.

Как я могу получить N jpeg изображений из N страниц PDF (из командной строки.) ?

29
задан Kurt Pfeifle
18.01.2023 22:03 Количество просмотров материала 3172
Распечатать страницу

2 ответа

командная строка alesdario используется делает следующее:

  1. скажите Ghostscript использовать размер вывода 800px на 600px (пикселей).
  2. скажите Ghostscript использовать разрешение 300dpi (точек на дюйм).
  3. скажите Ghostscript использовать размер вывода 72 точки устройства.

все три не могут работать одновременно, потому что если двое идут вместе, они будут противоречить третьему.

при 300dpi холст 800x600 приведет в физическом измерении 2,33 дюйма x 2 дюйма ( дюймы) - намного меньше, чем ваш исходный размер страницы PDF (вероятно).

до ' просто получите N jpeg изображений из N-Pages PDF (из командной строки)' используйте эту команду:

 gs \
   -sDEVICE=jpeg \
   -o output/%d.jpg \
    mypdf.pdf

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

  • разрешение изображения: это 72 dpi для JPEG вывода
  • размер выходных изображений: это следует соответствующий размер страницы PDF (однако Ghostscript предполагает использование PDF с разрешением 720dpi).

для того, чтобы получить N JPEG изображений из N-страницы PDF на предопределенном разрешении и предопределенном размере изображения, вам нужно сделать некоторые вычисления сами и выберите -r и -g значения соответственно. Например, может потребоваться 200 точек на дюйм для JPEG (из PDF-страниц формата ISO A4 [595x842 pt]): это означает, что необходимо добавить -r200 -g1652x2338 в командной строке, если вы хотите, чтобы избежать обрезка.... Это сделает сервер resample все страницы и объекты, содержащиеся там новые резолюции.

3
отвечен Kurt Pfeifle 2023-01-20 05:51

Try утилиты. Команда, которую вы хотите, я считаю:

$ convert -density 400 my.pdf my.jpeg
0
отвечен ckhan 2023-01-20 08:08

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх