Serwer PDFtk w systemie OS X 10.11

162

Używam PDFTKServer on OSX pre 10.11od ponad roku bez żadnych problemów z uruchamianiem poleceń w wierszu poleceń.

Po zainstalowaniu systemu OSX 10.11 beta nie mogę już uruchamiać żadnych PDFTKpoleceń serwera w wierszu poleceń. Nie zgłasza żadnego błędu, wszystkie polecenia, które próbuję wykonać, po prostu zawieszają się na czas nieokreślony.

Jak PDFTKzwykle zainstalowałem z pakietu pobranego ze strony serwera:

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

Próbowałem również zainstalować ze źródła za pomocą Homebrew. Instalacja działa, ale otrzymuję te same wyniki, polecenia po prostu zawieszają się w terminalu:

Kran Homebrew

Wysłałem skargę do Apple za pośrednictwem aplikacji Feedback Assistant, która jest instalowana podczas instalacji wersji beta dwa miesiące temu bez odpowiedzi.

Powiedziano mi o Asystencie opinii Apple:

Prawdopodobnie nigdy nie otrzymasz odpowiedzi. Apple odpowiada za pośrednictwem Asystenta opinii tylko w przypadku poważnych błędów w systemie operacyjnym, gdy potrzebują dodatkowych informacji. Nie jest to sposób na uzyskanie wsparcia, tym bardziej w przypadku aplikacji innej firmy.

Dotarłem również do PDF Labs , twórców pakietu, bez odpowiedzi.

Na MacPorts problem z kompilacją na OS X 10.11, czy to oznacza, że ​​na poziomie oprogramowania występuje problem ze zgodnością z PDFtk i 10.11?

Przeszukałem Internet w poszukiwaniu wskazówki, co może być przyczyną problemu i jak go naprawić, ale nie znalazłem nic namacalnego.

W systemie OS X nie wiem, jak się dowiedzieć, czy po uaktualnieniu jest teraz zezwolenie lub ścieżka, a nawet problem z Javą.

Każda pomoc w rozwiązywaniu problemów lub oferowaniu rozwiązania jest mile widziana.


AKTUALIZACJA 1:

Słyszałem od Sida Stewarda z PDF Labs :

Zmagaliśmy się z tym prawie tak długo, jak wersja beta była niedostępna. Nadal nad tym pracujemy. Wydaje się, że występuje niezgodność z jedną z bibliotek (innych niż Apple), z których korzysta pdftk, oraz z systemem OS X 10.11. Obecnie instaluję kolejną aktualizację narzędzi programistycznych Apple z nadzieją, że rozwiąże problem. Poinformuję cię o naszych postępach.


AKTUALIZACJA 2:

Sid Steward z PDF Labs ponownie:

Wygląda na to, że pod pdftk działają dwa wątki i są one zakleszczone. Oznacza to, że każdy wątek czeka na zakończenie drugiego. Nie jestem tutaj ekspertem, ale takie mam wrażenie. Oto zrzut ekranu z Monitora aktywności komputera Mac, aby zilustrować:

wprowadź opis obrazu tutaj

Powyższa migawka pochodzi z próby uruchomienia pliku binarnego pdftk znajdującego się obecnie na naszej stronie w systemie OS X 10.11. Wspomniana powyżej biblioteka libgcj jest dostarczana z pdftk, podczas gdy pozostałe to biblioteki OS X.

Jak mówię, właśnie zainstalowałem Xcode 7.0.1, który został wczoraj wydany w App Store. Spróbuję teraz użyć tych narzędzi do zbudowania pdftk.


AKTUALIZACJA 3:

MacPorts rozwiązuje problem z kompilacją z PDFtk, to jest aktualizacja tego wątku (Uwaga: nie ma to związku z PDFtk Labs):

Dzieje się tak z powodu rekompilacji libunwind w 10.11 przy użyciu Apple Clang 7, które generuje nowe prawidłowe optymalizacje (według Apple), które łaskoczą nieznany błąd w FSF boehm-gc.

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

Nie oczekuj żadnych poprawek od Apple, ponieważ nie mogą dotknąć kodu GPLv3, aby przyjrzeć się problemowi FSF boehm-gc (chyba że użyli pakietu gcc43, który nadal powinien być GPLv2). O tym, że problem ten jest wywoływany przez rekompilację libunwind, świadczy fakt, że zastąpienie libunwind.dylib z 10.10 eliminuje zarówno awarie boehm-gc, jak i gcj.

Zauważ, że plik został zgłoszony jako radr: // 21372179, "biblioteka FSF boehm-gc zbudowana na 10.10 nie przechodzi testów na 10.11", ale została zamknięta jako błąd FSF boehm-gc.


AKTUALIZACJA 4:

MacPorts znalazło sposób na rozwiązanie problemu z kompilacją, jest to aktualizacja tego wątku

Załączony plik Portfile.diff (używany z proponowaną aktualizacją gcc5 na # 49227, która naprawia gcj) rozwiązuje problem kompilacji z pdftk.


AKTUALIZACJA 5:

Sid Steward z PDF Labs ma udaną kompilację, jego opinia:

Poprawka dla MacPorts gcc5 pozwoliła mi zbudować działający pdftk, który łączy pliki PDF w El Capitan. Poprawka została dodana do zgłoszenia wysłanego do:

MacPorts

Przejdę do pełnego przetestowania tego pdftk przed umieszczeniem go w instalatorze. Ten proces może zająć kilka dni.


Aaron
źródło
1
Płatne wsparcie może przyspieszyć reakcję z laboratorium PDF.
hrbrmstr
2
homebrewto 25% całej kompilacji. Dam ci znać, jak to idzie.
hrbrmstr
1
Zrobić jakieś postępy w kompilacji @hrbrmstr?
Aaron
1
Myślałem o płatnym wsparciu PDF Labs. Jeśli dostanę e-mail z odpowiedzią, spróbuję o to zapytać.
Aaron
2
Świetne pytanie @AlexWood. O ile wiem, laboratorium PDF rozwiązuje problem, ale nie ma publicznego narzędzia do śledzenia błędów. Jeśli dowiesz się inaczej, odpowiednio zaktualizuję tekst główny.
Aaron

Odpowiedzi:

254

Dziękuję za Twoją cierpliwość. Z powodzeniem przetestowałem ten instalator pdftk i plik binarny na 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

Wkrótce zaktualizuję naszą witrynę PDF Labs, aby odzwierciedlić tę aktualizację.

Jeśli masz już zainstalowany pdftk ze starego instalatora, powinien on zainstalować się bezpośrednio na nim bez problemu - nie powinno być konieczne usuwanie starego pdftk przed zainstalowaniem tego.

Zauważ, że ten instalator / plik binarny nie został jeszcze przetestowany na starszych wersjach systemu OS X.

Daj mi znać, jak to działa dla Ciebie.

Chcę podziękować Aaronowi za otwarcie tego wątku i zwrócenie pomocnej uwagi na problem, który mieliśmy z narzędziami do kompilacji. Chcę również podziękować zespołowi MacPorts za profesjonalną i terminową pracę!

Z poważaniem-

Sid Steward, PDF Labs

Sid Steward
źródło
13
czy istnieje kran homebrew, którego możemy użyć, aby to uzyskać?
Dan2552
1
Dziękuję za udostępnienie tego. To rozwiązało problem, z którym miałem pdftk. FWIW, dwa problemy z twoim instalatorem, pierwszy (drobny) to brak podpisu. Po drugie, instaluje łącze do /usr/share/man/man1. Właściwie jestem nieco zdumiony, że ochrona integralności systemu El Capitan na to pozwala, ponieważ uważam to za katalog systemowy. Właściwym miejscem do umieszczenia łącza do strony podręcznika (w celu odbicia lustrzanego /usr/local/binłącza do pliku wykonywalnego) jest /usr/local/share/man/man1.
Charphacy
10
Należy zauważyć, że pdftkstrona główna nie została jeszcze zaktualizowana, więc nawet jeśli zainstalowałeś wersję 2.02 ze strony internetowej, będziesz musiał ją ponownie zainstalować przy użyciu pliku w tej odpowiedzi.
nip3o
10
To świetna aktualizacja! Czy możesz zaktualizować swoją witrynę, aby ją uwzględnić?
Blairg23
12
Dzięki za poprawkę i odpowiedź w tym wątku. Ściągnąłem dziś PDFtk z twojej strony dla OSX El Capitan i zawiesił się tak, jak opisano w tym wątku. Wersja zgłoszona przez pdftk --version z pobrania to 2.02. Właśnie pobrałem odsyłacz powiązany w tej odpowiedzi, również zgłaszający wersję 2.02, i nie zawiesił się. Możesz sprawdzić wersję OSX, którą udostępniasz na pdflabs.com/tools/pdftk-server
Alexander Rolek
48

Dzięki github.com/quantiverge, pdftk powinien być instalowalny jako brew. Ten jest testowany w systemie OSX Sierra.

Uruchom następujące polecenie w terminalu.

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

Zaktualizowano o poprawki ze strony github.com/zph - dzięki!

obh
źródło
Jeśli wybierasz się na trasę Homebrew, powyższe nie działa w pełni. Usuń depends_on :macos => :lioni zastąp @tarball_pathpobraną ścieżką. Po skrypt rozbił, pobieranie powinno być: $HOME/Library/Caches/Homebrew/downloads/. Po dostosowaniu powinno działać dobrze na High Sierra 10.13.6.
Robert Brisita
11

Aktualizacja 2020

PRACUJEMY:

Należy pamiętać, że aby zainstalować go na macOS High Sierra (10.13.5) lub na Mac OS Catalina (10.15) (o czym wspomniał Ivan Kurmanov w komentarzach), musiałem pobrać pakiet z:

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

Oczywiście nie pozwala na normalną instalację, ponieważ nie jest pobierany z „App Store”, więc postępuj zgodnie z poniższymi instrukcjami:

  1. W Finderze znajdź aplikację, którą chcesz otworzyć.

  2. Nie używaj do tego Launchpada. Launchpad nie pozwala na dostęp do menu skrótów.

  3. Kliknij z klawiszem Control w ikonę aplikacji, a następnie wybierz Otwórz z menu skrótów.

  4. Kliknij Otwórz.

  5. Aplikacja jest zapisywana jako wyjątek od ustawień bezpieczeństwa i możesz ją otworzyć w przyszłości, klikając ją dwukrotnie, tak jak każdą zarejestrowaną aplikację.

Następnie przejdź przez proces instalacji, który jest prawie NASTĘPNY - NASTĘPNY i ciesz się :)

NIE DZIAŁAŁ:

Następujące polecenie parzenia NIE działa dla mnie:

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

Dał następujący błąd:

Niepowodzenie podczas wykonywania; /usr/bin/xar -xf /xxxx/Library/Caches/Homebrew/downloads/\#\{url_sha256\}--\*wyjście z 1.

Powodzenia!

Uczeń
źródło
2
Powyższe łącze, pdflabs.com/tools/pdftk-the-pdf-toolkit/… wydaje się tworzyć działające pdftk w systemie Mac OS Catalina (10.15).
Ivan Kurmanov
1
@IvanKurmanov dziękuję za wkład, dodam go do odpowiedzi
Learner
Wspaniały!! To naprawdę mnie uratowało. Byłem bliski rezygnacji z klejnotu pdf_forms i szukania innego rozwiązania.
killerkiara
7

Pdftk obecnie nie działa dla mnie na OSX Sierra.

Jeśli masz zainstalowanego Dockera w swoim systemie, możesz zamiast tego użyć mojego lekkiego obrazu Dockera :

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

Co więcej, po prostu użyj następującego skryptu jako zamiennika:

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

Teraz możesz używać pdftk zgodnie z oczekiwaniami: ./pdftk --help

jottr
źródło
Odpowiedź @ obh zadziałała dla mnie w Sierra, ale doceniam też posiadanie rozwiązania docker. Zwłaszcza, że ​​używałeś alpine :)
Henry Schreiner
Co jeśli chcę uruchomić ten obraz w kontenerze, czy muszę zaktualizować plik Dockerfile?
Steven Aguilar
3

pracuj dla mnie zainstaluj nowy, https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/pdftk_server-2.02-mac_osx-10.11-setup.pkg

usuń starą wersję pdftk; przeszukaj pdftk z wyszukiwarki, przenieś do kosza, a także zrób pdftk_uninstall.sh.

$ pdftk -version

pdftk 2.02 Poręczne narzędzie do manipulowania dokumentami PDF Copyright (c) 2003-13 Steward and Lee, LLC - Odwiedź: www.pdftk.com To jest darmowe oprogramowanie; zobacz kod źródłowy warunków kopiowania. NIE ma gwarancji, nawet PRZYDATNOŚCI HANDLOWEJ lub PRZYDATNOŚCI DO OKREŚLONEGO CELU.

tralala
źródło
w OS X Sierra pdftkdaje 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

Trzecia edycja: Poniższe nie są poprawkami, ale raczej obejściami (ponieważ czasami nie jest możliwe czekanie miesięcy na dostarczenie poprawek).


Druga edycja: Spójne narzędzia wiersza poleceń PDF (aka cpdf) są bezpłatne do użytku niekomercyjnego i mogą być licencjonowane do użytku komercyjnego. Zapewnia funkcjonalność porównywalną do pdtki (przynajmniej na moim MacBooku Pro) wydaje się działać poprawnie w El Capitan.


Edycja: ta odpowiedź StackOverflow mówi, jak używać ghostscriptdo łączenia plików, zapewniając w ten sposób (niezręcznie) funkcjonalność podobną do "pdftk ... cat output out.pdf".


Do pewnych celów pakiet ghostscript--- który jest dostarczany z dystrybucjami LaTeX, takimi jak texlive---, oferuje podobne (ale mniej przyjazne dla użytkownika) możliwości do pdftk.

Na przykład, aby wyodrębnić strony 6-7 z wielostronicowego dokumentu PDF:

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

Powyższe zadziałało dla mnie ... Twój przebieg może się różnić!

Nie trzeba dodawać, że przywrócenie pdftkpełnej funkcjonalności w El Capitan byłoby znacznie lepsze ... pdftkto naprawdę wspaniałe narzędzie.

John Sidles
źródło
1

Obejście problemu: zgłosiliśmy to Sidowi w sierpniu, a on nadal nie naprawił tego, więc myślę, że można uczciwie powiedzieć, że dobrym pomysłem jest poszukanie alternatyw. Z tego powodu podjęliśmy inicjatywę, aby udostępnić kilka pierwszych narzędzi, z których ludzie mogą korzystać bezpłatnie w następującym repozytorium:

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

Zawiera łatwe w użyciu skrypty dla CAT i BURST. Zamierzamy dodać więcej narzędzi w przyszłości. Zapraszam do udziału

Te nowe narzędzia wykorzystują natywne biblioteki OSX i żadne zależności stron trzecich nie są potrzebne. Yay!

Edycja: dodano informacje o tym, że jest to obejście

Zespół FlowPaper
źródło
1
Serdecznie zapraszamy do przesyłania tych narzędzi do repozytorium. Dodanie znaku wodnego i konkatenacji przy jednoczesnym dodawaniu i usuwaniu nie powinno być trudne.
FlowPaper Team
1

Możesz dostać się do działającego serwera PDFTK pod El Capitan, jeśli użyjesz instrukcji łatania portów razem z czterema łatkami dostarczonymi w biletach Macports # 48528 i # 49227.

Kompilacja załatanego GCC5 zajęła dużo czasu na moim komputerze. Wydaje się również, że dobrym pomysłem jest nazwanie lokalnych portów identycznie jak oryginalne (np. Gcc5 i pdftk), w przeciwnym razie będziesz musiał dostosować Portfiles.

Możliwe jest również pakowanie wynikowego pliku binarnego pdftk razem z jego bibliotekami dynamicznymi przy użyciu narzędzia install_name_tool w bibliotekach binarnych i dynamicznych. Udało mi się w ten sposób uruchomić pdftk na dwóch innych maszynach.

Frank P.
źródło