Изменение файлов PDF

Мне нужно сделать базовое редактирование в существующем файле PDF. Т.е. мне нужно:

  • Добавить главы / закладки
  • Изменить номер нумерации страниц

Однако я не могу найти какой-либо инструмент – графический интерфейс или командную строку – которые будут предлагать эту функцию. Есть ли альтернатива просто написать такой инструмент?

PS. Я смотрю только на бесплатные инструменты. Предпочтительно открыть.

В основном я использую pdftk. Но вот некоторые другие:

pdfsam (PDF Split и Merge) : «pdfsam – это инструмент с открытым исходным кодом (лицензия GPL), предназначенный для обработки pdf-файлов»

PDFJam «Небольшая коллекция сценариев оболочки, которые обеспечивают простой интерфейс для большей части функциональности превосходного PDF-файла PDF-файла (Андреасом Маттиасом) для pdfLaTeX ». (Вы также можете использовать pdfLaTeX напрямую.)

jPDFTweak : «jPDF Tweak – это приложение Java Swing, которое может комбинировать, разделять, поворачивать, изменять порядок, водяные знаки, шифровать, подписывать и иным образом настраивать файлы PDF».

Inkscape: это редактор векторной графики, который может импортировать PDF-страницы в собственный формат SVG, а также экспортировать в формате PDF.

Caliber: программное обеспечение для управления электронными книгами с открытым исходным кодом, которое может конвертировать PDF-файлы в другие форматы и управлять ими другими способами. Поставляется с инструментами командной строки, такими как pdfmanipulate, которые могут быть полезны.

Естественно, Ghostscript может многое делать и с файлами PDF.

Я знаю две программы для управления PDF-файлами в Linux:

PDEedit "Редактор Pdf предназначен для простого редактирования и манипулирования объектами документов в формате PDF и хранения их как новой версии документа. Редактирование и манипулирование с объектами осуществляется с помощью графического интерфейса и с помощью интерфейса командной строки. Для простой командной строки используется скрипт язык, который также полезен в графическом интерфейсе ».

и pdftk «Если PDF является электронной бумагой, то pdftk – это электронный сшиватель, дырокол, связующее, секретно-декодерное кольцо и рентгеновские очки. Pdftk – простой инструмент для повседневной работы с PDF-документами. "

Единственный способ, которым я нашел, чтобы добавить номера страниц в PDF, был с LaTeX:

Создать файл /usr/local/bin/add-page-numbers.tex

 \documentclass[8pt]{article} \usepackage[final]{pdfpages} \usepackage{fancyhdr} \topmargin 70pt \oddsidemargin 150pt \pagestyle{fancy} \rfoot{\Large\thepage} \cfoot{} \renewcommand {\headrulewidth}{0pt} \renewcommand {\footrulewidth}{0pt} \begin{document} \includepdfset{pagecommand=\thispagestyle{fancy}} \includepdf[pages=-]{input.pdf} \end{document} 

И файл / usr / local / bin / pdf-numbers

 #!/bin/bash name="${1%\.pdf}-numbers" wd="$(pwd)" dir=/tmp/pdf-numbers mkdir -p "$dir" cp "$1" "$dir/input.pdf" cd "$dir" pdflatex --jobname "$name" /usr/local/bin/add-page-numbers.tex > /dev/null mv "$name.pdf" "$wd" rm -r "$dir" 

Сделайте последний исполняемый файл и запустите его с помощью

  pdf-numbers example.pdf 

Он создаст файл pdf, называемый example-numbers.pdf (и перезапишет его, если он уже существует!).

pdfimport для openoffice – хорошая альтернатива для редактирования PDF-документов и реэкспорта в PDF или сохранения в другом формате. Импортированный PDF можно редактировать с помощью OpenOffice Draw.

латекс с пакетами pdfpages может делать большинство из этих вещей.

В частности, о том, как добавить закладки, см. http://michaelgoerz.net/blog/2011/04/pdf-bookmarks-with-latex/