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

17

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

Чтобы было понятно, аннотации должны быть частью PDF-файла, иначе это бесполезно.

На Ask Ubuntu есть два похожих вопроса , но им обоим пару лет. Вот как я могу добавить текст и изображения (например, подпись) в PDF? и Как я могу отредактировать изображение в существующий файл PDF?

Я попробовал Xournal , который работает. Тем не менее, я думаю, что небольшое руководство о том, как это сделать, было бы хорошо, поэтому вы хотите добавить небольшое руководство о том, как использовать Xournal для выполнения этих задач, пожалуйста, добавьте ответ.

Я также попробовал updf, который не работал для меня, хотя этот ответ и этот, например, говорит, что может. Я перестроил пакет (который является чистым Python) на Debian Wheezy, используя исходные тексты из обновленного PPA . Это выглядит довольно примитивно, и в диалоге «Сохранить как» даже не было кнопки «Сохранить». Если другие люди имели другой опыт, пожалуйста, напишите.

Для каждого ответа, при необходимости, предоставьте краткое руководство со скриншотами о том, как вы выполнили эту задачу.

Фахим Митха
источник
Что не так с libreoffice?
Златовласка
@goldilocks Я не использовал это. Если это работает для вас, напишите ответ.
Фахим Митха
Libreoffice 3.5.4 пытается открыть файл PDF в виде текста здесь. Может я что то не так делаю.
Фахим Митха
Я успешно отредактировал PDF, чтобы добавить цвета к различным состояниям в диаграмме состояния ч / б в каком-то документе при работе с использованием libreoffice, и я был сильно впечатлен результатом (было почти невозможно заметить какое-либо различие, кроме того, что толщина линии немного отличалась a мало мест).
Хловдал
@hlovdal Можете ли вы рассказать, как вы это сделали?
Фахим Митха

Ответы:

12

PDF-файлы открываются в LibreOffice Draw. Я не сделал ничего особенного, кроме как открыть файл следующим образом:

$ libreoffice carcut_01.pdf

Однажды в LibreOffice Draw я просто аннотировал PDF, как если бы это был обычный документ / изображение. Закончив, я щелкнул значок PDF на панели инструментов Draw, чтобы экспортировать файл как новый файл PDF.

    ничья

Это был результат моих усилий.

    сс из xpdf

Но LibreOffice у меня не работает?

Если вы столкнулись с проблемой, что Draw не может сделать это (я использовал версию LibreOffice):

  • Версия: 4.1.4.2
  • Идентификатор сборки: 4.1.4.2-4.fc19

** ПРИМЕЧАНИЕ: * Возможно, вам не хватает этого пакета, который является частью LibreOffice:

$ rpm -aq|grep "libre.*pdf"
libreoffice-pdfimport-4.1.4.2-4.fc19.x86_64

Так выглядит пакет в дистрибутивах Red Hat, таких как Fedora. Я бы предположил, что в Debian / Ubuntu, вероятно, есть пакет с аналогичным именем libreoffice-pdfimport.

Альтернативы?

Вы можете попробовать Okular .

Okular позволяет просматривать и комментировать ваши документы. Аннотации, созданные в Okular, автоматически сохраняются во внутренней локальной папке данных для каждого пользователя. Okular не изменяет неявно любой документ, который он открывает.

Скриншот

   сс окулар

Что еще?

Как показывает ответ @ Terdon , вы также можете использовать GIMP вместе с целым рядом других инструментов. @Terdon также любезно разместил эту ссылку в нашем чате, где есть список других инструментов для аннотирования PDF-файлов и их просмотра.

SLM
источник
1
Примечания, специфичные для Debian: я нахожусь на Wheezy, но в настоящее время использовал бэкпорт libreoffice 1:4.1.4-2. Я установил libreoffice, но пришлось добавить libreoffice-pdfimport, так как это не затягивается libreoffice. Без этого это не работает. Нажмите на T на нижней панели, чтобы вставить текст. Попытка перезаписать существующий PDF терпит неудачу здесь. Кроме того, результирующий вывод выглядит довольно плохо по сравнению с оригиналом - PDF, сгенерированный из вывода LaTeX. Это может (и, вероятно, работает) работать с хриплым Libreoffice. Я не удосужился проверить.
Фахим Митха
Я попробовал вариант редактирования Okular. Это опция просмотра в разделе Инструменты. Тем не менее, он не отображается ни с каким средством просмотра PDF, и поэтому явно не является частью PDF, что делает его бесполезным.
Фахим Митха
Мне удалось открыть PDF в LibreOffice Draw, нарисовать прямоугольник и экспортировать обратно в PDF. Тем не менее, PDF (изначально созданный из Docbook) содержал кликабельное оглавление - его макет был слегка испорчен, и элементы больше нельзя нажимать для перехода.
Оскар Берггрен
8

Так как вы просто хотите наложить текст в заданной позиции, вы можете использовать pdftkдля этого.

Вам нужно два файла PDF. Одним из них является PDF-файл, который вы хотите пометить текстом. Другой файл PDF - это текст, который вы хотите отметить. Второй должен иметь прозрачный фон. Вы можете легко сделать это, скажем, с помощью LibreOffice Draw, и распечатать в pdf, используя cups-pdf. Экспорт в PDF - даже если вы не выберете PDF1 / A - создаст непрозрачный фон.

Тогда вы делаете:

pdftk input.pdf stamp overlay.pdf output stamped.pdf

Если вам нужны разные наложения на разных страницах, создайте многостраничный overlay.pdf (страница наложения 1 переходит на страницу ввода 1, страница наложения 2 на страницу ввода 2 и т. Д.), А затем:

pdftk input.pdf multistamp overlay.pdf output stamped.pdf

Так как скриншоты популярны, вот как выглядит ввод и результаты. Файл input.pdf, конечно же, был создан с помощью важнейшего инструмента смайликов LibreOffice:

Скриншот


Как сделать PDF с CUPS-PDF

CUPS-PDF - это драйвер печати для CUPS, который создает файлы PDF из заданий на печать. Чтобы использовать его, вы должны использовать CUPS. Установите cups-pdfпакет (требуется как минимум в Debian). Посетите административный интерфейс CUPS по адресу http://localhost:631/adminи нажмите «Добавить принтер». Вы должны увидеть «CUPS-PDF (Virtual PDF Printer)» в качестве опции. Выберите его, нажмите продолжить. Введите имена очереди и т. Д. И продолжите снова. Если попросить PPD, это под общим.

После добавления этого принтера его можно полностью настроить в /etc/cups/cups-pdf.conf.

Чтобы использовать его, печатайте как обычно, но выберите его в качестве принтера вместо обычного принтера. Файл PDF будет $HOME/PDFдобавлен по умолчанию.

derobert
источник
CUPS может запрашивать аутентификацию при добавлении принтера, пользователь должен быть добавлен в требуемую группу ( sysпо умолчанию)
aksh1618
6

Okular может делать аннотации на PDF, начиная с версии в Debian 8 (Джесси). Это версия:

okular --version
Qt: 4.8.6
KDE Development Platform: 4.14.2
Okular: 0.20.2

Вот как это работает:

Подробнее см. Справочную страницу аннотации в руководстве Okular .

Чтобы процитировать эту страницу:

Начиная с версии Okular 0.15, вы также можете сохранять аннотации непосредственно в файлы PDF. Эта функция доступна только в том случае, если Okular был создан с версией 0.20 или более поздней из библиотеки рендеринга Poppler.

Во-первых, вам нужно аннотировать PDF. Вы можете сделать это через меню или нажатием клавиши. Вы можете найти инструменты под Tools->Reviewили с помощью нажатия клавиши F6.

Это вызовет меню слева с различными опциями.

введите описание изображения здесь

Вероятно, лучший вариант для встроенных аннотаций - «Встроенная заметка». Следуйте инструкциям в ссылке, чтобы сохранить заметку. Как отмечено в ссылке, цвет фона, шрифт и другие функции заметки могут быть настроены. См. Также Изменение и сохранение настроек аннотации PDF в Okular? ,

По умолчанию информация аннотации хранится в XML-файлах, расположенных в

~/.kde/share/apps/okular/docdata

или, в более общем смысле, в месте

$(kde4-config --localprefix)/share/apps/okular/docdata/

Чтобы сохранить аннотацию в PDF-файл, как это желательно, вам нужно сохранить аннотации обратно в файл с помощью Save As.

Аннотация просматривается xpdf и evince (которая выдает предупреждение «ПРЕДУПРЕЖДЕНИЕ **: Не реализованная аннотация: POPPLER_ANNOT_FREE_TEXT. Это известная проблема, и она может быть реализована в будущем.», Но все равно показывает аннотацию), но не acroread(9.5 .5) или плагин PDF Chromium(45.0.2454.85). Он также печатает Ok используя gtklpвнешний интерфейс CUPS.


Еще несколько советов:

  • Функция обзора может быть добавлена ​​на панель инструментов: Настройки - Настроить панели инструментов - изменить под Панели инструментов: Главная панель инструментов okular_part - отфильтровать доступные действия с помощью поиска «Обзор» и добавить его к текущим действиям справа.

введите описание изображения здесь

  • Параметры аннотаций можно редактировать, можно добавлять новые варианты: щелкните правой кнопкой мыши по кнопкам «Обзор» и выберите «Настроить аннотации».

введите описание изображения здесь

Фахим Митха
источник
3

Вы также можете использовать gimp:

$ gimp foo.pdf

                                                      введите описание изображения здесь

Нажмите на «Импорт»:

                                          введите описание изображения здесь

Играть с этим:

                                           введите описание изображения здесь

Сохрани это:

   !введите описание изображения здесь

Тердон
источник
... но вы теряете всю векторную информацию.
wchargin
2

Хорошим выбором для аннотации является TeX, в частности, LaTeX в сочетании с пакетом LaTeX и пакетом pdfpagesдля рисования TikZ.

Ниже приведен пример сценария. Это наложение двухстраничного документа text.pdf. Команда \includepdfиз pdfpagesпакета вызывается с pagecommandвозможностью включения первой страницы PDF вместе с наложенным текстом с использованием TikZ. Затем вторая страница включена с использованием \includepdf, но без каких-либо аннотаций.

Это чрезвычайно мощный, но простой метод, потому что он использует всю мощь TeX и TikZ.

Если вы не знакомы с TeX / LaTeX, вы можете проверить это, скопировав этот скрипт, вызвав его (скажем) example.tex, изменив text.pdfлюбой 2-страничный PDF-файл, который у вас есть. Тогда просто беги

pdflatex example.tex

убедившись, что example.texи text.pdfна том же уровне каталогов.

Если вы хотите сгенерировать двухстраничный pdf-файл для тестирования, простой способ - вызвать его groff.

echo .bp | groff -T pdf > text.pdf

.bpобозначает разрыв страницы и создает двухстраничный пустой PDF. Эта команда любезно предоставлена ​​Джеймсом Лоуденом .

\documentclass[a4paper]{article}
\usepackage{pdfpages}
\usepackage{tikz}
\usepackage{tikzpagenodes}
\begin{document}

\includepdf[pagecommand=
{\begin{tikzpicture}[remember picture, overlay]
    \node at (2,2.0){\large{\textbf{PLEASE WRITE EMAIL ADDRESS:}}};
    \draw[thick,latex-] (current page footer area.south east) -- +(-3.4cm,-2.2cm)
    node[pos=1,anchor=east] (a) {\large\textbf{{CONTINUED ON NEXT PAGE}}};
  \end{tikzpicture}}
,pages=1]{text.pdf}
\includepdf[pages=2]{text.pdf}

\end{document}

При этом полезно положить координатную сетку на страницу, чтобы упростить позиционирование. Смотрите, например, рецепты, приведенные в ответах на Grid с координатами со всех сторон? и оригинальный ответ от Loop Space, связанный в вопросе.

Вот изображение результата:

Пример страницы

Фахим Митха
источник