Не ясно, що ви маєте на увазі під "втратою якості". Це може означати багато різних речей. Чи можете ви розмістити кілька зразків для ілюстрації? Можливо, виріжте той же розділ із неякісних та хорошої якості (як 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 були байт-байтом, ідентичним вихідним зображенням. Ви не можете отримати більш високої якості від цього.