Intereting Posts
Как я могу исправить / dev / pts после его установки? Найти файл с наименьшим 4-значным номером Как автоматически обновлять рабочий стол KDE? configure не удалось из-за того, что для получения более подробной информации см. `config.log ' Проблемы с scp, если я использую bashrc для открытия рыбы, если она присутствует Переход с Exchange на IredMail … Импорт почты? Thunderbird больше не запускается после обновления до 38.3.0 Почему ECN на вашем компьютере отключается? Как экранировать уже запущенный сеанс? Максимизация окна (Keepassx2) из ​​командной строки Как отображаются загрузочные сообщения Linux перед входом в систему Как сделать мой ноутбук безопасным и безопасным от любых несчастных случаев, таких как удаление по ошибке? Не удалось распечатать awk'ed datum в сценарии bash KDE начинается без каких-либо других (без панелей, без оконного менеджера / декоратора) Является ли SSH-соединение быстрее, если я уменьшаю размер ключа RSA?

Печать PDF в PDF ухудшает качество?

Скажем, у меня есть PDF-файл, который очень длинный. Прочитав некоторые из них, я решил, что в нем есть посторонние страницы; но вместо поиска веб-сайта каждый раз, когда я решаю исключить страницу, я хочу распечатать ее в формате PDF и просто не выбрать эту страницу для печати (используя CUPS-PDF). Разве это ухудшит качество PDF, особенно если я буду делать это несколько раз? Есть ли лучший способ добиться того, что я ищу? Я попробовал PDFEdit со смешанными результатами и хотел бы что-то более надежное. Конечно, я всегда могу просто вернуться на сайт и сохранить новую версию, используя ту же технику пренебрежения теми страницами, которые мне не нужны.

В принципе, можно печатать PDF через некоторую цепочку программ, которая заканчивается в формате PDF без потери качества.

Чтобы гарантировать конверсию без потерь, должны произойти две важные вещи:

  1. Каждое звено в цепочке должно понимать все элементы документа и иметь возможность передавать их в следующую цепочку в цепочке без потерь:

    • Если документ содержит встроенные шрифты, шрифт также должен быть установлен где-то, когда писатель PDF может найти его, чтобы он мог повторно внедрить его, или встроенный шрифт должен каким-то образом пройти через цепочку.

    • Если документ содержит встроенные апплеты – JavaScript, Flash, Postscript … – они должны передаваться без изменений.

    • Если в документе содержатся гиперссылки, активные формы, текстовые слои OCR, пользовательская нумерация страниц, непечатная разметка, комментарии, метаданные и т. Д., Все части вдоль цепочки должны знать, как передавать эти данные через автора.

    • Если документ содержит смешанные размеры страниц, программы в цепочке также должны быть способны к этому трюку.

  2. Никакая ссылка в цепочке не может переинтерпретировать любые данные, проходящие через нее. Обычно в цепочках PDF для повторной дискретизации изображений и преобразования в более эффективные форматы потерь, например. Даже если изображения в исходном PDF-файле уже являются изображениями с низким разрешением DPI, фрагменты в цепочке могут выбрать другой DPI или установить другой уровень сжатия.

    (Кстати, сам факт того, что есть JPEG на одном или обоих концах PDF-to-PDF, технически означает, что цепочка не является без потерь, если только необработанные данные JPEG не передаются как-то. Однако, возможно, что шаг рекомпрессии будет восприниматься без потерь. Это не всегда случается, однако, иногда специально.)

До сих пор я рассматривал только качество восприятия. Можно добиться конверсии без потерь, но потерять редактируемость или получить значительно больший файл:

  • PDF-документ, содержащий текст, который был создан из основного источника (то есть не для сканирования или преобразования из какого-либо другого формата представления документа), обычно содержит фактические данные текста и шрифта, которые позволяют читателю PDF нарисовать текст на экране в так же, как это делает текстовый процессор.

    Такой текст можно превратить в 2D растровое или векторное искусство в режиме без потерь. PDF даже позволяет сохранять возможности поиска и доступ к экранированию с помощью непечатаемых текстовых слоев OCR. Однако такое преобразование могло бы увеличить размер файла и сделать редактирование намного сложнее.

  • Векторное искусство может быть растрировано, используя DPI, равное или даже кратное DPI печати / просмотра.

  • Цепь может конвертировать все JPEG в TIFF, чтобы не потерять абсолютно никакого качества изображения.

  • Цепочка может включать JPEG в JPEG, без изменения DPI, но использовать высокую фиксированную настройку качества, чтобы избежать создания заметных артефактов.

Для вашего простого случая, удаляя страницу, довольно легко получить гарантию отсутствия потерь, если вы используете программу, которая хорошо понимает формат файла PDF, чтобы просто удалить данные страницы. Это вполне выполнимо, поскольку страницы в PDF более или менее автономны. Это всего лишь вопрос поиска инструмента, который достаточно хорошо знает о конкретном варианте PDF, в котором закодированы ваши существующие файлы. PDF является очень сложным файловым форматом, поэтому для программ, претендующих на поддержку PDF, обычно существует лишь частичная поддержка. Возможно, что есть только одна программа, которая действительно понимает 100% PDF: Adobe Acrobat Pro. Меня не удивило бы узнать, что каждая другая программа, которая имеет дело с PDF, на самом деле является подмножеством.

В нижней строке я бы не ожидал, что PDF-via-print-from-PDF-цепочка даст такие гарантии качества. Есть слишком много возможностей для интерпретации и посредничества.

Если я правильно понимаю вашу главную цель, вам не нужно проходить какие-либо хлопоты с печатью в формате PDF. Вы можете использовать инструмент командной строки, например pdftk для извлечения любого набора страниц непосредственно из файла PDF и сохранения их как нового. (Он также позволяет выполнять многие другие операции, такие как оптимизация, добавление / удаление пароля, поворот некоторых страниц и т. Д.). Инструмент доступен в репозиториях пакетов (возможно) всех настольных дистрибутивов Linux.

Основная операция pdftk вы используете, – cat . Он работает довольно интуитивно – например:

 pdftk input_file.pdf cat 3-23 50-end output output_file.pdf 

создаст файл output_file.pdf состоящий из страниц с 3 по 23 и 50 до конца исходного файла input_file.pdf . Посмотрите на man pdftk для получения дополнительных примеров (в конце руководства).

В общем, нет, потери качества не должно происходить. Если это так, программа виновата, а не формат. Некоторые вещи, которые могут произойти, которые могут быть истолкованы как потеря качества:

  • Изображения могут быть повторно сжаты (потенциально вызывая потерю поколений)
  • Текст (и другие векторы) может быть превращен в сплайны, что может вызвать проблемы с удобством использования (невозможность копирования текста) и т. Д.

Я никогда не использовал CUPS-PDF или PDFEdit , поэтому это всего лишь предположения о том, что может произойти, то есть я не знаю, возможно ли, что они будут или нет.