Есть ли шанс pdftk
поработать в Ubuntu 18.04? Мне это нужно для создания PDF-файлов с водяным знаком в оболочке.
Или кто-нибудь знает рабочую альтернативу pdftk
для создания PDF с водяным знаком в оболочке?
Я уже проверил / опробовал их все:
sudo apt list pdf*
Listing... Done
pdf-presenter-console/bionic 4.1-2 amd64
pdf-redact-tools/bionic,bionic 0.1.2-1 all
pdf.js-common/bionic,bionic 1.5.188+dfsg-1 all
pdf2djvu/bionic 0.9.8-0ubuntu1 amd64
pdf2svg/bionic 0.2.3-1 amd64
pdfcrack/bionic 0.16-1 amd64
pdfcube/bionic 0.0.5-2build6 amd64
pdfcube-dbg/bionic 0.0.5-2build6 amd64
pdfgrep/bionic 2.0.1-1 amd64
pdfminer-data/bionic,bionic 20140328+dfsg-1 all
pdfmod/bionic,bionic 0.9.1-8 all
pdfmod-dbg/bionic,bionic 0.9.1-8 all
pdfposter/bionic,bionic 0.6.0-2 all
pdfresurrect/bionic 0.14-1 amd64
pdfsam/bionic,bionic 3.3.5-1 all
pdfsandwich/bionic 0.1.6-1 amd64
pdfshuffler/bionic,bionic 0.6.0-8 all
pdftoipe/bionic 1:7.2.7-1build1 amd64
Но не нашел рабочего инструмента.
software-installation
pdf
18.04
pdftk
WiKrIe
источник
источник
Ответы:
Пакет pdftk в Ubuntu (и его исходный пакет Debian ) был отброшен из-за его зависимости от устаревшей среды выполнения GCJ. Я нашел вилку, которая зависит от OpenJDK или подобного.
Установить из будущего выпуска Ubuntu (рекомендуется)
Начиная с Cosmic (Ubuntu 18.10), Ubuntu поставляется
pdftk-java
с тем же исходным кодом, что и ниже, в качестве замены. Попытка установитьpdftk
установит этот пакет вместо. Пользователи более ранних выпусков могут загрузить его вручную из репозитория пакетов и установить с помощью своего любимого менеджера пакетов.Установка из PPA(устаревшая)Я собрал пакет Deb (только для Bionic) с подходящими зависимостями:В пакете содержится скрипт-обертка
/usr/bin
, поэтому вы можете вызывать его как обычно:Установить из источника
Установите инструменты сборки и зависимости:
Конечно, вы можете использовать другой поддерживаемый JDK, чем тот, который предоставляется
default-jdk-headless
.Загрузите вилку pdftk Марка Виньяля :
Поместите символические ссылки на необходимые библиотеки в
lib
папку:Сборка пакета JAR:
Запустите пакет JAR:
(Необязательно) Для запуска пакета JAR, например, когда вы распространяете его на другие системы, вам нужен как минимум работающий (безголовый) JRE-
default-jre-headless
пакет из пакета, а также библиотеки Javalibcommons-lang3-java
иlibbcprov-java
:Опять же, вы можете использовать другой, чем JRE
default-jre-headless
. Эта вилка pdftk также поддерживает сборки для более старых версий JRE (≥ 7 согласно документации).(Необязательно) Вы можете научить Linux выполнять файлы JAR (Java Archive) через
update-binfmts(8)
. Большинство JRE, поставляемых в пакетах Deb, в том числе в репозиториях пакетов Canonical, позаботятся об этом во время установки, хотя в некоторых пакетах OpenJDK это вызывает ошибки.PS: я пытался это сделать с OpenJDK 9 без головок в Ubuntu Trusty, но я вижу мало причин, почему он не должен работать с OpenJDK 10 без головок в Bionic.
В зависимости от приложений
Комментатор поднял действительный вопрос о том, влияет ли это изменение на различные приложения цепочки PDF :
источник
pdftk-java
. Это будет (очень вероятно) официальной заменойpdftk
в Debian ( см. ) И в Ubuntu (с пакетом, доступным для 18.10). Так что, похоже, это лучший ответ , поскольку это «перспектива на будущее»: начиная с 18.10, вы получите то же самое программное обеспечение, которое предоставляется в официальных репозиториях.ant
библиотеки, установленные через apt over, используя Gradle для сборки?pdftk-java
выбраны зависимости . Вы можете проверить это.pdftk-java
.Для Ubuntu 18.04 просто установите пакет pdftk snap:
источник
snap
кажется, нужно имя сценария. Но сценарий минимальной оболочки/snap/bin/pdftk-smoser.pdftk "$@"
работает одинаково хорошо.Установка pdftk на Ubuntu 18.04 amd64
Я написал небольшой скрипт bash, который автоматизирует установку в Ubuntu 18.04. Обратите внимание, что я скачал только пакеты amd64 !
Этот скрипт загрузит пакеты
/tmp
и установит их с помощьюapt install
команды! После этого пакеты в/tmp
каталоге будут удалены.Чтобы запустить этот скрипт, скопируйте его в редактор и сохраните, например, pdftk_installer . Затем запустите его в терминале с
источник
pdftk-dbg_2.02-4build1_amd64.deb
необязательноВы можете попробовать использовать образ докера Ubuntu 16.04 с установленным pdftk для запуска pdftk:
Установить докер:
Потяните Ubuntu 16.04 и запустите оболочку bash:
Обновите и установите pdftk из командной строки контейнера:
На новом терминале запустите:
Зафиксируйте образ, используя CONTAINER ID ubuntu: 16.04, в новый образ с установленным pdftk:
(Замените
CONTAINER_ID
своим идентификатором контейнера.)Создайте файл с именем
pdftk
в,/usr/bin
а затем сделайте его исполняемым, используяchmod +x /usr/bin/pdftk
:источник
-v "$PWD:/workdir$PWD" -w "/workdir$PWD"
?Мне удалось установить pdftk из пакетов artful (17.10) deb. Загрузите и установите в следующем порядке:
Лучше всего
gcc-6-base
сначала установить, чтобы избежать ошибки зависимостей, если вы делаете это из cli.Это должно сработать ... пока.
источник
Я сделал быстрый и грязный обходной путь, чтобы запустить PDFTK под Bionic.
Я обновляю свой
sources.list
и включаю следующие строки:После этого я запускаю простой
чтобы изменения вступили в силу.
Затем установите pdftk через
Затем снова удалите исходники Artful из source.list, и вот как я запускаю PDFTK под Bionic.
Источник: https://christiandietze.de/pdftk-with-ubuntu-bionic-18-04/
источник
Это работает для Ubuntu 18.04:
источник
Вы можете запустить pdftk в Ubuntu 18.04 с помощью докера. Это расширенный вариант ответа Адемира.
Предполагая, что нам нужен только клиентский компонент pdftk, и на машине установлен докер. Просто поместите следующий скрипт где-нибудь в $ PATH с установленным именем
pdftk
и исполняемым битом:Первый запуск займет около 2 минут, чтобы создать образ, если созданный образ останется на машине, следующие запуски будут быстрее. Вы можете свободно очистить изображение, оно будет создано, когда оно понадобится вам в следующий раз.
источник
Похоже, что ссылки для скачивания в скрипте, опубликованном @abu_bua, больше не работают (возможно, из-за прекращения поддержки 17.10?), Поэтому здесь представлена модифицированная версия того же скрипта, которая использует соответствующие пакеты из сборки 16.04. Пробовал и тестировал на машине под управлением 18.04.
источник
Мне нравится ответ докера Адемира , но у него типичные проблемы с безопасностью и разрешениями, потому что докер должен работать от имени пользователя root. Если это вас беспокоит, попробуйте использовать Singularity . Вам нужно создать образ как root, но любой пользователь сможет запустить его.
Вот
Singularity
файл, который я использовал:Затем я построил изображение.
Как только это сработало, я установил его в папку по пути вместе со скриптом-оберткой, который устанавливает домашнюю папку в текущий каталог.
И теперь я могу бежать
pdftk
.Единственным недостатком является то, что это довольно большой исполняемый файл, поскольку он содержит полный дистрибутив Ubuntu 16.04. У вас также могут возникнуть проблемы, если вы пытаетесь манипулировать файлами PDF, которых нет в текущем каталоге.
источник
Какая прекрасная возможность использовать магию докеров!
Что я сделал, так это использовал докер-контейнер с Ubuntu 16.04, установил в него pdftk и запустил его там.
Вот точные шаги, если вы хотите сделать то же самое:
pdftk
docker
внутриpdftk
каталогаpdftk/docker
каталог: https://github.com/gkotian/gautam_linux/blob/master/docker/pdftk/Dockerfilepdftk/docker
каталог: https://github.com/gkotian/gautam_linux/blob/master/scripts/dockershelldockershell
скрипт исполняемыйpdftk
каталог скопируйте все PDF-файлы, с которыми вы хотите работатьcd /path/to/pdftk
docker/dockershell docker/Dockerfile
(это займет некоторое время при первом запуске)Теперь у вас должно быть приглашение внутри контейнера докера, откуда вы можете запустить pdftk. Когда вы закончите, введите,
exit
чтобы выйти из контейнера и вернуться к хост-машине. Любые вновь созданные файлы будут присутствовать вpdftk
каталоге (но они будут принадлежать пользователю root, поэтому вам может потребоваться изменить владельца при необходимости).источник
На моем 18.04, работающем в WSL, я сделал следующее
Получить зависимости от (.deb файлы):
wget http://hr.archive.ubuntu.com/ubuntu/pool/main/g/gcc-6/libgcj17_6.4.0-8ubuntu1_amd64.deb
wget http://mirrors.edge.kernel.org/ubuntu/pool/main/g/gcc-defaults/libgcj-common_6.4-3ubuntu1_all.deb
затем установите вышеуказанные зависимости
затем я взял
.deb
из https://packages.debian.org/search?keywords=pdftkисточник