Сервер PDFtk на ОС X 10.11


162

Я використовую PDFTKсервер OSX pre 10.11більше року без жодних проблем, запускаючи команди в командному рядку.

Після встановлення бета-версії OSX 10.11 я більше не можу запускати жодні PDFTKсерверні команди в командному рядку. Це не кидає жодної помилки, всі команди, які я намагаюсь виконати, просто зависають нескінченно.

Я встановив з кг, який я завантажив із PDFTKвеб-сайту Сервера, як завжди:

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

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

Домотканий кран

Я надіслав скаргу компанії Apple через їх додаток Feedback Assistant, який встановлюється під час встановлення бета-версії два місяці тому без відповіді.

Мені сказали про помічник Apple Feedback Assistant:

Ви, ймовірно, ніколи не отримаєте відповіді. Apple відповідає через помічник зворотного зв’язку лише на основні помилки операційної системи, де їм потрібна додаткова інформація. Це не спосіб отримати підтримку, тим більше для сторонніх додатків.

Я також без відповіді звернувся до PDF Labs - виробників пакету.

У MacPorts у них виникає проблема зі збіркою на OS X 10.11, чи означає це, що існує проблема сумісності з PDFtk та 10.11 на програмному рівні?

Я шукав в Інтернеті підказку щодо того, що може спричинити проблему та як її виправити, але не знайшов нічого відчутного.

В OS X я не знаю, як розібратися, чи є після оновлення дозвіл, шлях або навіть проблема Java.

Будь-яка допомога вдячна або про проблеми зі зйомою першопричини, або за допомогою виправлення


ОНОВЛЕННЯ 1:

Я почув від Sid Steward у PDF Labs :

Ми боролися з цим майже до тих пір, поки бета-версія не вийшла. Ми над цим ще працюємо. Здається, є несумісність з однією з (не Apple) бібліотек, яку використовує pdftk та OS X 10.11. На даний момент я встановлюю ще одне оновлення інструментів для розробників Apple з надією, що це вирішить проблему. Я поінформую вас про наш прогрес.


ОНОВЛЕННЯ 2:

Сід Стюард в PDF Labs знову:

Схоже, є два потоки під pdftk, і що вони зайшли в тупик. Це означає, що кожна нитка чекає закінчення іншої. Я тут не експерт, але таке моє враження. Ось знімок екрана з Монітора активності Mac для ілюстрації:

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

Вищенаведений знімок - це спроба запуску бінарного файлу pdftk, який наразі знаходиться на нашому сайті в ОС X 10.11. Зазначена вище бібліотека libgcj постачається з pdftk, де інші - бібліотеки OS X.

Як я кажу, я щойно встановив Xcode 7.0.1, який був випущений вчора в магазині додатків. Зараз я спробую використовувати ці інструменти для створення pdftk.


ОНОВЛЕННЯ 3:

MacPorts працює над проблемою збірки з PDFtk, це оновлення цього потоку (Примітка: це не пов'язано з лабораторіями PDFtk):

Це пов’язано з перекомпіляцією 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-лабораторії опрацьовують проблему, але не мають публічного відстеження помилок. Якщо ви дізнаєтесь про інше, я оновлю основний текст відповідно.
Аарон

Відповіді:


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 за їх професійну та своєчасну роботу!

З найкращими побажаннями-

Sid Steward, 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 має бути встановлений під варінням. Цей тестується в OSX Sierra.

Виконайте наступне в терміналі.

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

Оновлено виправлення з github.com/zph - дякую!


Якщо ви йдете по маршруту 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. Клацніть клавішею миші піктограму програми, а потім виберіть Відкрити в меню швидкого доступу.

  4. Клацніть Відкрити.

  5. Додаток зберігається як виняток із ваших налаштувань безпеки, і ви можете відкрити його в майбутньому, двічі клацнувши його, як і будь-який зареєстрований додаток.

Після цього просто пройдіть процедуру встановлення, яка в значній мірі НАСТУПНА - НАСТУПНА і насолоджуйтесь :)

НЕ ПРАЦЮЄ:

Наступна команда варити НЕ працює для мене:

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


@ 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 Це вільне програмне забезпечення; див. вихідний код щодо умов копіювання. Жодної гарантії немає, навіть не на ТЕРМІНОВОСТІСТЬ або ПРИГОТОВЛЕННЯ ДЛЯ ДІЯЛЬНОЇ ЦІЛІ.


в 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
Rho Phi


1

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


Друга редакція: Узгоджені інструменти командного рядка PDF (ака 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повноцінної функціональності в Ель-Капітані було б набагато краще ... pdftkнасправді це надзвичайно корисна програма.


1

Обхідні шляхи: ми підняли це до Сида ще в серпні, і він все ще не виправив цього, я вважаю, що це справедливо сказати, що це гарна ідея шукати альтернативи. Через це ми взяли на себе ініціативу подати кілька перших інструментів, якими люди можуть користуватися безкоштовно у наступному сховищі:

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

Він містить прості у використанні сценарії для CAT та BURST. Ми маємо намір додати ще інструменти, що рухаються вперед. Не соромтеся робити внесок

Ці нові інструменти використовують вбудовані бібліотеки OSX, і жодних сторонніх залежностей взагалі не потрібно. Так!

Редагувати: додано інформацію про це як спосіб подолання


1
Вам більше ніж приємно подати ці інструменти до сховища. Додавання водяних знаків та об'єднання з додаванням та видаленням одночасно не повинно бути важким.
Команда FlowPaper

1

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

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

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


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.