PDFtk Server на OS X 10.11

162

Я использую PDFTKсервер OSX pre 10.11более года без каких-либо проблем запуска команд в командной строке.

После установки бета-версии OSX 10.11 я больше не могу запускать PDFTKкоманды сервера в командной строке. Он не выдает никакой ошибки, все команды, которые я пытаюсь выполнить, просто зависают на неопределенное время.

Я установил из pkg, который я скачал с PDFTKвеб-сайта сервера, как всегда:

https://www.pdflabs.com/tools/pdftk-server/

Я также попытался установить из исходного кода с помощью Homebrew. Установка работает, но я получаю те же результаты, команды просто висят в терминале:

Доморощенный кран

Я отправил жалобу в Apple через приложение Feedback Assistant, которое устанавливается при установке бета-версии два месяца назад без ответа.

Мне сказали относительно Apple Feedback Assistant:

Вы, вероятно, никогда не получите ответ. Apple отвечает только через Feedback Assistant на основные ошибки операционной системы, когда им нужна дополнительная информация. Это не способ получить поддержку, тем более для стороннего приложения.

Я также обратился к PDF Labs , создателям пакета, без ответа.

На MacPorts у них есть проблема со сборкой на OS X 10.11, означает ли это, что есть проблема совместимости с PDFtk и 10.11 на уровне программного обеспечения?

Я искал в Интернете ключ к пониманию того, что может быть причиной проблемы и как ее исправить, но не нашел ничего ощутимого.

На OS X я не знаю, как выяснить, есть ли сейчас разрешение или путь или даже проблема Java после обновления.

Будем благодарны за любую помощь, связанную с устранением основных причин или исправлением.


ОБНОВЛЕНИЕ 1:

Я слышал от Сида Стюарда из PDF Labs :

Мы боролись с этим почти до тех пор, пока вышла бета-версия. Мы все еще работаем над этим. Похоже, что существует несовместимость с одной из (не Apple) библиотек, которые использует pdftk, и OS X 10.11. В настоящее время я устанавливаю еще одно обновление для инструментов разработчика Apple в надежде, что это решит проблему. Я буду информировать вас с нашим прогрессом.


ОБНОВЛЕНИЕ 2:

Сид Стивард снова в PDF Labs :

Похоже, что есть два потока, работающих под pdftk, и что они заблокированы. Это означает, что каждый поток ожидает завершения другого. Я не эксперт здесь, но это мое впечатление. Вот скриншот из монитора активности Mac для иллюстрации:

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

Приведенный выше снимок экрана - попытка запустить двоичный файл pdftk, который в настоящее время находится на нашем сайте в OS X 10.11. Библиотека libgcj, указанная выше, поставляется с pdftk, где остальные являются библиотеками OS X.

Как я уже сказал, я только что установил Xcode 7.0.1, который был выпущен вчера в магазине приложений. Сейчас я попытаюсь использовать эти инструменты для сборки pdftk.


ОБНОВЛЕНИЕ 3:

MacPorts работает над проблемой сборки с PDFtk, это обновление в этой ветке (Примечание: это не связано с PDFtk Labs):

Это происходит из-за перекомпиляции libunwind в 10.11 с использованием Apple Clang 7, производящей новые действительные оптимизации (согласно Apple), которые исправляют неизвестную ошибку в FSF boehm-gc.

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66848

Не ожидайте каких-либо исправлений от Apple, поскольку они не могут коснуться кода GPLv3, чтобы взглянуть на проблему FSF boehm-gc (если только они не использовали пакет gcc43, который все еще должен быть GPLv2). То, что эта проблема вызвана перекомпиляцией libunwind, демонстрируется тем фактом, что замена libunwind.dylib из 10.10 устраняет ошибки boehm-gc и gcj.

Обратите внимание, что это было указано как radr: // 21372179, «библиотека FSF boehm-gc, построенная на 10.10, не проходит тесты на 10.11», но закрыта как ошибка FSF boehm-gc.


ОБНОВЛЕНИЕ 4:

MacPorts нашел способ решить проблему со сборкой, это обновление в этой теме

Прикрепленный файл Portfile.diff (при использовании с предлагаемым обновлением gcc5 на # 49227, которое исправляет gcj) решает проблему сборки с помощью pdftk.


ОБНОВЛЕНИЕ 5:

Сид Стюард из PDF Labs имеет успешную сборку, его отзывы:

Исправление для MacPorts gcc5 позволило мне создать рабочий pdftk, который объединяет PDF-файлы на El Capitan. Исправление было добавлено в тикет, который вы отправили:

MacPorts

Я перейду к полному тестированию этого pdftk перед упаковкой в ​​установщик. Этот процесс может занять пару дней.


Аарон
источник
1
Платная поддержка может помочь вам быстрее получить ответ от PDF Labs.
hrbrmstr
2
homebrewсоставляет 25% пути через сборку. Я дам вам знать, как это происходит.
hrbrmstr
1
Добиться прогресса в сборке @hrbrmstr?
Аарон
1
Я думал о платной поддержке PDF Labs. Если я получу ответное письмо, я постараюсь спросить об этом.
Аарон
2
Отличный вопрос @AlexWood. Насколько я знаю, PDF labs работает над проблемой, но не имеет общедоступного трекера ошибок. Если вы узнаете иначе, я обновлю основной текст соответствующим образом.
Аарон

Ответы:

254

Спасибо за терпеливость. Я успешно протестировал этот установщик pdftk и двоичный файл на OS X 10.11, El Capitan:

https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/pdftk_server-2.02-mac_osx-10.11-setup.pkg

Я скоро обновлю наш сайт PDF Labs, чтобы отразить это обновление.

Если у вас уже есть установленный pdftk из старого установщика, он должен быть установлен прямо поверх него без проблем - не нужно удалять старый pdftk перед установкой этого.

Обратите внимание, что этот установщик / двоичный файл еще не был протестирован на более старых версиях OS X.

Пожалуйста, дайте мне знать, как это работает для вас.

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

Наилучшие пожелания-

Сид Стюард, PDF Labs

Сид Стюард
источник
13
Есть ли какой-нибудь доморощенный кран, который мы можем использовать, чтобы получить это?
Dan2552,
1
Спасибо, что сделали это доступным. Это решило проблему, с которой я столкнулся pdftk. FWIW, две проблемы с вашим установщиком, во-первых (незначительный), что он не подписан. Во-вторых, он устанавливает ссылку в /usr/share/man/man1. Я на самом деле немного удивлен тем, что защита целостности системы El Capitan позволяет это сделать, поскольку я считаю это системным каталогом. Правильное место для размещения ссылки на страницу руководства (для отражения /usr/local/binссылки на исполняемый файл) - это /usr/local/share/man/man1.
Шарфэси
10
Следует отметить, что pdftkдомашняя страница еще не обновлена, поэтому, даже если вы установили версию 2.02 с веб-страницы, вам придется переустановить ее, используя файл из этого ответа.
nip3o
10
Это отличное обновление! Можете ли вы обновить свой сайт, чтобы включить его?
Blairg23
12
Спасибо за исправление и ответ на эту тему. Я скачал PDFtk с вашего сайта сегодня для OSX El Capitan, и он завис, как описано в этой теме. Версия, сообщаемая pdftk --version из загрузки, была 2.02. Я только что загрузил ссылку в этом ответе, также сообщая о версии 2.02, и она не зависала. Возможно, вы захотите проверить версию OSX, которую вы предоставляете, по адресу pdflabs.com/tools/pdftk-server
Александр Ролек,
48

Благодаря github.com/quantiverge pdftk должен быть установлен под brew. Этот протестирован в OSX Sierra.

Запустите следующее в терминале.

brew install https://raw.githubusercontent.com/turforlag/homebrew-cervezas/master/pdftk.rb

Обновлено с исправлениями с github.com/zph - спасибо!

OBH
источник
Если идти по маршруту Homebrew, вышеописанное не сработало полностью. Удалите depends_on :macos => :lionи замените @tarball_pathзагруженным путем. После того как сценарий разбился, загрузка должна быть: $HOME/Library/Caches/Homebrew/downloads/. После корректировок он должен нормально работать на High Sierra 10.13.6.
Роберт Брисита,
11

2020 Обновление

РАБОТАЛ:

Обратите внимание, что для его установки на MacOS High Sierra (10.13.5) или на Mac OS Catalina (10.15) (как отметил Иван Курманов в комментариях), мне пришлось скачать пакет с:

https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/pdftk_server-2.02-mac_osx-10.11-setup.pkg

Конечно, он не позволит вам установить нормально, так как он не загружен из «App Store», поэтому используйте следующие инструкции:

  1. В Finder найдите приложение, которое вы хотите открыть.

  2. Не используйте Launchpad для этого. Панель запуска не позволяет получить доступ к контекстному меню.

  3. Удерживая клавишу Control, щелкните значок приложения, затем выберите «Открыть» в контекстном меню.

  4. Нажмите Открыть.

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

После этого просто пройдите процесс установки, который в значительной степени СЛЕДУЮЩИЙ - СЛЕДУЮЩИЙ, и наслаждайтесь :)

НЕ СРАБОТАЛО:

Следующая команда brew НЕ работает для меня:

brew install https://raw.githubusercontent.com/turforlag/homebrew-cervezas/master/pdftk.rb

Это дало следующую ошибку:

Сбой при исполнении; /usr/bin/xar -xf /xxxx/Library/Caches/Homebrew/downloads/\#\{url_sha256\}--\*выход с 1.

Удачи!

ученик
источник
2
Ссылка выше, pdflabs.com/tools/pdftk-the-pdf-toolkit/…, кажется, создает рабочий pdftk на Mac OS Catalina (10.15).
Иван Курманов
1
@IvanKurmanov спасибо за вклад, я добавлю его в ответ
ученик
Большой!! Это действительно спасло меня. Я был близок к тому, чтобы отказаться от драгоценного камня pdf_forms и искать другое решение.
киллеркиара
7

Pdftk в настоящее время не работает для меня на OSX Sierra.

Если в вашей системе установлен докер , вы можете использовать вместо этого мой облегченный образ докера :

$ docker run -v $(pwd):/files alpine-pdftk --help

Более того, просто используйте следующий скрипт в качестве замены:

#!/usr/bin/env bash
docker run --rm -v $(pwd):/files jottr/alpine-pdftk "$@"

Теперь вы можете использовать pdftk, как и ожидалось: ./pdftk --help

jottr
источник
Ответ @ obh сработал для меня в Сьерре, но я также ценю решение с докером. Особенно нравится тот факт, что вы использовали альпийский :)
Генри Шрайнер
Что если я захочу запустить этот образ в контейнере, придется ли мне обновлять Dockerfile?
Стивен Агилар
3

работать для меня, установите новый, https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/pdftk_server-2.02-mac_osx-10.11-setup.pkg

удалить старую версию pdftk; найдите pdftk из искателя, перейдите в корзину и также выполните pdftk_uninstall.sh.

$ pdftk -version

pdftk 2.02 - удобный инструмент для работы с PDF-документами. Copyright (c) 2003-13 Steward and Lee, LLC. Посетите веб-сайт www.pdftk.com. см. исходный код для условий копирования. Нет НИКАКИХ гарантий, даже в отношении ТОВАРНОГО ОБЕСПЕЧЕНИЯ или ПРИГОДНОСТИ ДЛЯ ОСОБЫХ ЦЕЛЕЙ.

Tralala
источник
в OS X Сьерра pdftkдает dyld: Symbol not found: __ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev Referenced from: /usr/local/bin/pdftk Expected in: /usr/local/bin/../lib/libstdc++.6.dylib in /usr/local/bin/pdftk
Ро Пхи
1

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


Второе редактирование: Связанные инструменты командной строки PDF (aka cpdf) бесплатны для некоммерческого использования и могут быть лицензированы для коммерческого использования. Он обеспечивает функциональность, сравнимую с pdtkи (по крайней мере, на моем MacBook Pro) работает нормально под El Capitan.


Изменить: Этот ответ StackOverflow рассказывает, как использовать ghostscriptдля объединения файлов, обеспечивая тем самым (неловко) функциональность, аналогичную оф "pdftk ... cat output out.pdf".


Для некоторых целей пакет, ghostscriptкоторый поставляется с дистрибутивами LaTeX, такими как, texliveпредлагает аналогичную (но менее удобную для пользователя) возможностьpdftk .

Например, чтобы извлечь страницы 6-7 из многостраничного PDF-документа:

gs -sDEVICE=pdfwrite -dNOPAUSE -dBATCH -dSAFER \
  -dFirstPage=6 -dLastPage=7 \
  "-sOutputFile="${EXTRACTED_FILENAME_HERE}" \
  "${SOURCE_FILENAME_HERE}" ;

Вышесказанное сработало для меня ... ваш пробег может отличаться!

Излишне говорить, что восстановление pdftkполной функциональности в El Capitan было бы намного лучше ... pdftkдействительно потрясающая утилита.

Джон Сидлес
источник
1

обходные: Мы подняли это для Сида еще в августе, и он до сих пор не исправил это, поэтому я считаю справедливым сказать, что это хорошая идея - искать альтернативы. По этой причине мы взяли на себя инициативу представить несколько первых инструментов, которыми люди могут бесплатно пользоваться в следующем хранилище:

https://github.com/flexpaper/OSX-PDF-Toolkit

Он содержит простые в использовании скрипты для CAT и BURST. Мы намерены добавить больше инструментов в будущем. Не стесняйтесь вносить свой вклад

Эти новые инструменты используют собственные библиотеки OSX, и никакие сторонние зависимости не нужны вообще. Ура!

Изменить: добавлена ​​информация о том, что это обходной путь

FlowPaper Team
источник
1
Вы можете отправить эти инструменты в хранилище. Не должно быть сложно добавлять водяные знаки и конкатенацию с добавлением и удалением одновременно.
FlowPaper Team
1

Вы можете получить доступ к работающему серверу PDFTK под El Capitan, если вы используете руководство по исправлению портов вместе с четырьмя исправлениями, предоставленными в билетах Macports # 48528 и # 49227.

Сборка пропатченного GCC5 заняла много времени на моей машине. Кроме того, представляется хорошей идеей называть локальные порты идентично исходным портам (например, gcc5 и pdftk), в противном случае вам необходимо настроить файлы портов.

Также возможно связать полученный двоичный файл pdftk вместе с его динамическими библиотеками, используя install_name_tool для двоичного файла и динамических библиотек. Мне удалось запустить pdftk на двух других машинах.

Фрэнк П.
источник