Главная
» LINUX
»
Как разделить PDF-файлы в терминале Linux с помощью PDFtk
Как разделить PDF-файлы в терминале Linux с помощью PDFtk
Чтобы разделить PDF-файл из терминала Linux с помощью PDFtk, используйте команду burstдля сохранения каждой страницы как отдельного PDF-файла или команду catдля копирования выбранных страниц в один новый PDF-файл. Оба метода сохраняют исходный документ в целости, если вы зададите выходному файлу другое имя. В приведенных ниже примерах используется нумерация страниц, начиная с единицы, поэтому страница 1 — это первая страница в файле.
Установите PDFtk
В Debian и Ubuntu установите текущий порт Java, упакованный в пакет ` pdftk-java.`. Этот пакет предоставляет pdftkкоманду, используемую в данном руководстве:
В Debian он находится pdftk-javaв стабильном репозитории, а в Ubuntu — в компоненте Universe. В Fedora, openSUSE, Arch Linux или другом дистрибутиве найдите или в репозиториях вашего дистрибутива pdftkи pdftk-javaустановите пакет, собранный для вашего релиза. Например, выполните поиск с помощью dnf search pdftk, zypper search pdftk, или pacman -Ss pdftk. Рассматривайте пакеты AUR как поддерживаемые сообществом и проверяйте их файлы сборки перед установкой. Избегайте старых команд RPM с фиксированными версиями, приведенных в исходной статье: они указывают на openSUSE Leap 42.3 и устаревшие библиотеки GCJ.
Храните исходный файл и сгенерированные страницы в отдельной директории, чтобы выходной файл было легко найти. Замените указанный путь на фактическое местоположение вашего PDF-файла:
mkdir -p ~/Documents/pdf-work/split
cp "/path/to/annual-report.pdf" ~/Documents/pdf-work/
cd ~/Documents/pdf-work
В рабочей папке хранится исходный PDF-файл, а для разделенных страниц — отдельная папка.
Если имя файла содержит пробелы, заключите его в кавычки при использовании в команде. PDFtk записывает относительные пути к выходным файлам из каталога, указанного в командной строке терминала.
Разделите каждую страницу на отдельный PDF-файл.
Запустите эту команду, burstесли вам нужен отдельный файл для каждой страницы. Сначала создайте выходной каталог, затем укажите шаблон имени файла с номером:
В качестве шаблона %03dиспользуются трехзначные номера файлов, например page_001.pdf, , page_002.pdf, и page_003.pdf. Это позволяет сохранять алфавитный порядок файлов по страницам, в том числе для документов, содержащих более девяти страниц. PDFtk также создает отчет о данных страниц с именем doc_data.txtв текущем рабочем каталоге. Проверить результат можно с помощью команды:
ls -1 split
burstСоздает один пронумерованный PDF-файл на каждую исходную страницу в выбранной выходной папке.
Извлечь диапазон страниц в один PDF-файл
Используйте эту функцию cat, когда на выходе должен быть один документ, содержащий непрерывный диапазон. В этом примере страницы с 4 по 8 копируются в новый файл:
Исходный PDF-файл остался без изменений; pages-4-through-8.pdfон содержит запрошенные страницы в их исходной последовательности. В руководстве PDFtk описывается catпроцесс сборки диапазонов страниц в выходной документ.
Эта catкоманда создаст один новый PDF-файл из страниц с 4 по 8.
Выберите непоследовательные страницы
Вы можете объединять отдельные номера страниц и диапазоны в одной команде. Порядок в выходных данных будет соответствовать порядку, указанному после cat:
Эта команда создает один PDF-файл, содержащий страницы 2, 3, 7, 10, 11 и 12. Чтобы извлечь другую последовательность, измените номера и диапазоны. Чтобы разделить только выбранные страницы на отдельные файлы, используйте burstи сохраните необходимые пронумерованные выходные данные; catпри этом выбранные страницы всегда записываются вместе в один PDF-файл.
Укажите номера страниц и диапазоны в той последовательности, в которой вы хотите, чтобы они отображались.
Проверьте результат и избегайте распространенных ошибок.
Используйте эту функцию ls -1 splitдля просмотра файлов пакетной обработки или ls -lh pages-4-through-8.pdf selected-pages.pdfдля подтверждения существования указанных выходных файлов.
Каждый раз выбирайте новое имя выходного файла. Не используйте исходный PDF-файл в качестве пути к выходному файлу и перед выполнением команды проверяйте, существует ли уже файл с целевым именем.
Если в терминале отображается сообщение об ошибке pdftk: command not found, подтвердите успешную установку пакета и наличие исполняемого файла в вашем PATH.
Если PDFtk не может открыть входной файл, проверьте рабочий каталог и имя файла. Имена файлов следует заключать в кавычки, например "annual report.pdf", .
Для PDF-файлов, защищенных паролем, PDFtk может потребовать соответствующий пароль. Избегайте ввода реального пароля непосредственно в команду, которая может быть сохранена в истории командной оболочки.
Функция разделения страниц не выполняет распознавание текста и не преобразует отсканированные изображения страниц в текст с возможностью поиска. Она копирует страницы в новые PDF-файлы.