Я использую ImageMagick для преобразования следующего файла PDF в файл PNG: PDF из IMSLP (Постоянная ссылка)
В программе просмотра PDF это выглядит красиво (хотя и требует небольшого масштабирования):
но при преобразовании с
convert "file.pdf" "/tmp/file.png"
полученное изображение получает чрезвычайно низкое разрешение:
при добавлении информации о плотности и изменении размера я получаю несколько большие изображения, но все же не исходное разрешение, которое хранится в PDF (конечно, не 300 точек на дюйм)
convert -density "300" -resize "3000x3000>" "file.pdf" "/tmp/file.png"
При использовании pdfimages
Poppler-Utils я получаю соответствующее изображение:
У меня такой вопрос: есть ли способ заставить ImageMagick извлекать изображения в «правильном» разрешении (как они хранятся в документе PDF)? Другими словами, игнорировать масштаб, необходимый для правильного просмотра PDF, таким образом извлекая правильное разрешение изображения?
Я использую ImageMagick 7.1.0.16 с Ghostscript 9.55.0 внутри образа докера Alpine Linux.
Вам нужно увеличить плотность намного больше и изменить размер после прочтения ввода в Imagemagick.
Это будет 5800 × 7200 пикселей:
convert -density 4800 IMSLP358086-PMLP578359-Ehr_OP_20_5.pdf[1] x.png
Это будет 2417 × 3000 пикселей:
convert -density 4800 IMSLP358086-PMLP578359-Ehr_OP_20_5.pdf[1] -resize "3000x3000>" y.png
Очень необычная структура, она претерпела множество изменений, но мы можем предположить, что некоторые страницы могли быть преобразованы в 300 dpi или 600 dpi, поскольку все они отображаются примерно с одинаковым размером.
Обратите внимание, что графическое dpi является субъективным, это не то значение, которое используется внутри PDF, это пиксели по умолчанию из 72-точечных единиц, которые относятся к графическому рабочему dpi. изображение могло иметь разрешение 75 dpi, но сохранялось с разрешением 300 пикселей на 72 точки.
1st Analysis говорит, что изображения
но все они были уменьшены до различных размеров ок. 1,2 "x 1,5", поэтому, возможно, разумный размер источника, соответствующий всем этим сокращениям, 9,6 x 12 дюймов с небольшим кадрированием.
Таким образом, чтобы получить страницы извлечения ближайшего исходного качества с разрешением 600 dpi (без потерь png лучше всего сохранить эти недостатки jpeg с потерями)
Затем переконвертируйте их в 75 dpi, чтобы получить исходные данные, максимально приближенные к плохому качеству.