Извлечь страницы из большого PDF с помощью qpdf, сохранив также левые закладки.

Вопрос или проблема

Я использую это для извлечения диапазона страниц PDF из большего PDF-файла ввода.

qpdf --empty --pages input.pdf 1051-1118 -- output.pdf

Это работает хорошо, однако левое меню (закладки) исчезло.

Есть ли способ сохранить его?

Также я заметил, что все ссылки (локальные ссылки документа) нарушены. Например, в оригинальном документе была ссылка на страницу 1055 (внутри моего диапазона), и после извлечения я ожидал, что она будет переписана на страницу 2 в моем новом документе.

Есть ли способ использовать qpdf более сложным образом, чтобы это сделать?

Спасибо,

Вы можете увидеть диапазон опций для qpdf, открыв терминал и введя qpdf --help.

Это Manpage для инструмента

enter image description here

Указание --empty удаляет определенные метаданные уровня документа.

Чтобы сохранить оглавление и гиперссылки, замените --empty на имя входного файла.

qpdf input.pdf --pages input.pdf 1051-1118 -- output.pdf

Ответ или решение

Для решения задачи по извлечению страниц из большого PDF-документа с сохранением закладок и исправлением локальных ссылок, используем возможности утилиты qpdf. Пользователь изначально применял команду:

qpdf --empty --pages input.pdf 1051-1118 -- output.pdf

Эта команда успешно извлекала указанный диапазон страниц, однако приводила к потере закладок и нарушению внутренних ссылок. Это происходит из-за использования флага --empty, который создает новый пустой PDF, удаляя метаданные предыдущего документа.

Для сохранения закладок и правильного переноса внутренних ссылок, необходимо воспользоваться измененной командой:

qpdf input.pdf --pages input.pdf 1051-1118 -- output.pdf

Вот как данная команда работает более подробно:

  • input.pdf: указываем исходный файл PDF, из которого требуется извлечь страницы.
  • –pages input.pdf 1051-1118: определяем диапазон страниц, который будет извлечен. Использование input.pdf еще раз необходимо для извлечения страниц из конкретного документа.
  • — output.pdf: указываем имя нового документа, в который будут сохранены извлеченные страницы.

Подробное объяснение:

  1. Сохранение закладок: Когда мы убираем --empty из команды, qpdf фактически берет существующий файл и просто копирует указанные страницы в новый документ. В результате этого процесса сохраняются закладки, потому что документ-источник еще существует, и его метаданные не сбрасываются.

  2. Исправление локальных ссылок: Локальные ссылки на страницы внутри указанного диапазона автоматически изменяются в соответствии с новыми номерами страниц в документе output.pdf. Qpdf обрабатывает эти ссылки, сводя на нет необходимость их ручной коррекции.

Рекомендации:

  • Перед выполнением операции сделайте резервную копию исходного PDF-документа.
  • Убедитесь, что используете актуальную версию qpdf, так как новые функции и исправления могут появиться в последних обновлениях.
  • Исследуйте дополнительные функции qpdf, запустив qpdf --help для ознакомления с возможностями команды.

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

Оцените материал
Добавить комментарий

Капча загружается...