Не ясно, що ви маєте на увазі під "втратою якості". Це може означати багато різних речей. Чи можете ви розмістити кілька зразків для ілюстрації? Можливо, виріжте той же розділ із неякісних та хорошої якості (як PNG, щоб уникнути подальших втрат якості).
Можливо, вам потрібно скористатися, -density
щоб здійснити конверсію у більш високій точці на дюйм:
convert -density 300 file.pdf page_%04d.jpg
(Ви можете додати -units PixelsPerInch
або -units PixelsPerCentimeter
за потреби. Моя копія за замовчуванням на ppi.)
Оновлення: Як ви вказали, gscan2pdf
(спосіб, яким ви користуєтесь) - це лише обгортка для pdfimages
(від poppler ). pdfimages
не робить те саме, що convert
робиться, коли вводиться PDF в якості введення.
convert
бере PDF, виводить його з деякою роздільною здатністю і використовує отриману растрову карту в якості вихідного зображення.
pdfimages
розглядає PDF для вбудованих растрових зображень та експортує кожне у файл. Він просто ігнорує будь-які команди тексту або векторного малюнка в PDF.
Як результат, якщо у вас є PDF, який є лише обгорткою навколо ряду растрових зображень, pdfimages
це зробить набагато кращу роботу з їх вилучення, тому що ви отримуєте вихідні дані у вихідному розмірі. Напевно, ви також хочете скористатись -j
опцією pdfimages
, оскільки PDF може містити необроблені дані JPEG. За замовчуванням pdfimages
перетворює все у формат PNM, а перетворення JPEG> PPM> JPEG - процес втрат.
Отже, спробуйте
pdfimages -j file.pdf page
Можливо, вам не знадобиться виконувати це з кроком convert
до .jpg
кроку (залежно від того, який формат растрових зображень використовував PDF).
Я спробував цю команду в PDF-файлі, який я створив із послідовності зображень JPEG. Витягнуті JPEG були байт-байтом, ідентичним вихідним зображенням. Ви не можете отримати більш високої якості від цього.