Использование командной строки ghostscript, можно ли удалить дублированные внедренные объекты (изображения) в PDF и заменить их одним экземпляром?Как удалить дубликаты объектов в PDF с помощью ghostscript?
У меня есть более 200 страниц PDF с фоновым изображением и несколькими более мелкими логотипами на каждой странице. Файл очень большой, потому что одни и те же файлы фонового изображения и логотипа встроены в каждую отдельную страницу вместо того, чтобы вставлять один раз, а затем ссылаться на каждую страницу. Я не создатель PDF, поэтому я не могу решить проблему в ее источнике.
(я не хочу, чтобы уменьшить или уменьшить качество изображения, и я не хочу удалить их полностью.)
Я как-то сомневаюсь в вашем предположении о * «это означает проверку каждого байта каждого изображения» *. Разве не удалось бы создать хэши из потоков изображений, а затем сравнить только эти? (Если вы не считаете создание хеша «проверкой каждого байта», что так или иначе ...) –
Да, я считаю, что создание хеша изображения является «проверкой каждого байта», потому что, ну, вот что вам нужно сделать. В настоящее время pdfwrite создает хеш MD5 для большого количества различных типов объектов именно для этой цели, но не делает этого для изображений, потому что чтение нескольких мегабайт данных для обычно довольно необычной функции - это не так, как стоит. Как я уже сказал, если кто-то действительно хочет это сделать, я могу предоставить указатели на то, где можно создать хеш, как определить, соответствует ли существующий хеш, и как заменить новое изображение ссылкой на старый. – KenS
Было бы очень приятно, если бы кто-нибудь подхватил такую задачу и осуществил ее с вашей помощью. Есть много «плохих» PDF-файлов, которые слишком велики по причине, описанной в OP. –