Servidor PDFtk en OS X 10.11

162

He estado usando PDFTKServer OSX pre 10.11durante más de un año sin ningún problema al ejecutar comandos en la línea de comandos.

Después de instalar OSX 10.11 beta, ya no puedo ejecutar ningún PDFTKcomando del Servidor en la línea de comandos. No arroja ningún error, todos los comandos que intento ejecutar se cuelgan indefinidamente.

Lo instalé desde un paquete que descargué del PDFTK sitio web servidor como siempre:

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

También he intentado instalar desde la fuente con Homebrew. La instalación funciona, pero obtengo los mismos resultados, los comandos simplemente se cuelgan en el terminal:

Grifo casero

Envié la queja a Apple a través de su aplicación Feedback Assistant que se instala al instalar la versión beta hace dos meses sin respuesta.

Me han dicho sobre el Asistente de comentarios de Apple:

Es probable que nunca recibas una respuesta. Apple solo responde a través de Feedback Assistant para los principales errores del sistema operativo en los que necesitan información adicional. No es una forma de obtener soporte, y menos aún para una aplicación de terceros.

También me puse en contacto con PDF Labs , los creadores del paquete, sin respuesta.

En MacPorts tienen un problema con la compilación en OS X 10.11, ¿significa esto que hay un problema de compatibilidad con PDFtk y 10.11 a nivel de software?

He buscado en la web una pista sobre qué podría estar causando el problema y cómo solucionarlo, pero no he encontrado nada tangible.

En OS X, no sé cómo averiguar si ahora hay un permiso o ruta o incluso un problema de Java después de la actualización.

Se agradece cualquier ayuda, ya sea para solucionar la causa raíz u ofrecer una solución.


ACTUALIZACIÓN 1:

Escuché de Sid Steward en PDF Labs :

Hemos estado luchando con esto casi tanto tiempo como la beta ha estado fuera. Todavía estamos trabajando en eso. Parece haber una incompatibilidad con una de las bibliotecas (que no son de Apple) que utiliza pdftk y OS X 10.11. Actualmente estoy instalando otra actualización de las herramientas de desarrollo de Apple con la esperanza de que resuelva el problema. Te actualizaré con nuestro progreso.


ACTUALIZACIÓN 2:

Sid Steward en PDF Labs nuevamente:

Parece que hay dos subprocesos corriendo bajo pdftk, y que están estancados. Eso significa que cada hilo está esperando que el otro termine. No soy un experto aquí, pero esa es mi impresión. Aquí hay una captura de pantalla del Monitor de actividad de Mac para ilustrar:

ingrese la descripción de la imagen aquí

La instantánea anterior es de intentar ejecutar el binario pdftk actualmente en nuestro sitio en OS X 10.11. La biblioteca libgcj mencionada anteriormente viene con pdftk, donde las otras son bibliotecas OS X.

Como digo, acabo de instalar Xcode 7.0.1, que se lanzó ayer en la tienda de aplicaciones. Ahora intentaré usar estas herramientas para construir pdftk.


ACTUALIZACIÓN 3:

MacPorts está trabajando en el problema de compilación con PDFtk, esta es una actualización en ese hilo (Nota: esto no está relacionado con PDFtk Labs):

Esto se debe a la recompilación de libunwind en 10.11 usando Apple Clang 7 que produce nuevas optimizaciones válidas (según Apple) que hacen cosquillas a un error desconocido en FSF boehm-gc.

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

No espere ninguna solución de Apple, ya que no pueden tocar el código GPLv3 para ver el problema boehm-gc de FSF (a menos que hayan usado el paquete gcc43 que aún debería ser GPLv2). El hecho de que la sustitución de libunwind.dylib de la versión 10.10 elimina las fallas boehm-gc y gcj demuestra que este problema es provocado por la recompilación de libunwind.

Tenga en cuenta que se archivó como radr: // 21372179, "la biblioteca FSF boehm-gc construida en 10.10 no pasa sus pruebas en 10.11" pero se cerró como un error FSF boehm-gc.


ACTUALIZACIÓN 4:

MacPorts encontró una manera de resolver el problema de compilación, esta es una actualización en ese hilo

El Portfile.diff adjunto (cuando se usa con la actualización propuesta de gcc5 en # 49227 que corrige gcj) resuelve el problema de compilación con pdftk.


ACTUALIZACIÓN 5:

Sid Steward en PDF Labs tiene una construcción exitosa, sus comentarios:

Una solución para MacPorts gcc5 me permitió crear un pdftk funcional que combina archivos PDF en El Capitan. La corrección se agregó al ticket que había publicado en:

MacPorts

Procederé a probar completamente este pdftk antes de empaquetarlo en un instalador. Este proceso puede llevar un par de días.


Aaron
fuente
1
El soporte pagado puede obtener una respuesta más rápida de PDF Labs.
hrbrmstr
2
homebrewes el 25% del camino a través de una compilación. Te diré cómo va.
hrbrmstr
1
¿Avanzó en la construcción @hrbrmstr?
Aaron
1
Pensé en el soporte pagado de PDF Labs. Si recibo un correo electrónico de respuesta, intentaré preguntar al respecto.
Aaron
2
Gran pregunta @AlexWood. Hasta donde sé, los laboratorios de PDF están resolviendo el problema, pero no tienen un rastreador de errores público. Si descubre lo contrario, actualizaré el texto principal en consecuencia.
Aaron

Respuestas:

254

Gracias por su paciencia. He probado con éxito este instalador pdftk y binario en 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

Actualizaré nuestro sitio de PDF Labs pronto para reflejar esta actualización.

Si ya tiene pdftk instalado desde el instalador anterior, esto debería instalarse justo encima de él sin ningún problema; no debería ser necesario eliminar el pdftk anterior antes de instalar este.

Tenga en cuenta que este instalador / binario aún no se ha probado en versiones anteriores de OS X.

Por favor, hágame saber cómo funciona esto para usted.

Quiero agradecer a Aaron por abrir este hilo y por prestar atención útil al problema que teníamos con las herramientas de compilación. ¡También quiero agradecer al equipo de MacPorts por su trabajo profesional y oportuno!

Atentamente-

Sid Steward, PDF Labs

Sid Steward
fuente
13
¿Hay un toque casero que podamos usar para obtener esto?
Dan2552
1
Gracias por hacer esto disponible. Solucionó el problema que estaba teniendo con pdftk. FWIW, dos problemas con su instalador, primero (menor) es que no está firmado. El segundo es que instala un enlace en /usr/share/man/man1. De hecho, estoy un poco sorprendido de que la Protección de integridad del sistema de El Capitan lo permita, ya que lo consideraría un directorio del sistema. El lugar correcto para colocar el enlace de la página del manual (para reflejar el /usr/local/binenlace del ejecutable) es /usr/local/share/man/man1.
Charphacy el
10
Debe tenerse en cuenta que la pdftkpágina de inicio aún no está actualizada, por lo que incluso si ha instalado la versión 2.02 desde la página web, deberá volver a instalarla utilizando el archivo en esta respuesta.
nip3o
10
Esta es una gran actualización! ¿Puedes actualizar tu sitio web para incluirlo?
Blairg23
12
Gracias por la solución y por responder a este hilo. Descargué PDFtk de su sitio web hoy para OSX El Capitan y se colgó tal como se describe en este hilo. La versión informada por pdftk --version de la descarga fue 2.02. Acabo de descargar la referencia vinculada en esta respuesta que también informa la versión 2.02 y no se bloqueó. Es posible que desee consultar la versión de OSX que está proporcionando en pdflabs.com/tools/pdftk-server
Alexander Rolek
48

Gracias a github.com/quantiverge, pdftk debería instalarse en brew. Este está probado en OSX Sierra.

Ejecute lo siguiente en la terminal.

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

Actualizado con correcciones de github.com/zph - ¡gracias!

obh
fuente
Si va a la ruta Homebrew, lo anterior no funcionó completamente. Eliminar depends_on :macos => :liony reemplazar @tarball_pathcon la ruta descargada. Después de la secuencia de comandos se estrelló, la descarga debe estar en: $HOME/Library/Caches/Homebrew/downloads/. Después de los ajustes, debería funcionar bien en High Sierra 10.13.6.
Robert Brisita
11

Actualización 2020

TRABAJÓ:

Tenga en cuenta que para instalarlo en macOS High Sierra (10.13.5) o en Mac OS Catalina (10.15) (como lo menciona Ivan Kurmanov en los comentarios), tuve que descargar el paquete desde:

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

Por supuesto, no le permitirá instalar normalmente, ya que no se ha descargado de "App Store", así que use las siguientes instrucciones:

  1. En el Finder, busque la aplicación que desea abrir.

  2. No use Launchpad para hacer esto. Launchpad no le permite acceder al menú contextual.

  3. Mantenga presionada la tecla Control y haga clic en el icono de la aplicación, luego elija Abrir en el menú contextual.

  4. Haz clic en Abrir.

  5. La aplicación se guarda como una excepción a su configuración de seguridad, y puede abrirla en el futuro haciendo doble clic en ella al igual que cualquier aplicación registrada.

Después de eso, simplemente siga el proceso de instalación, que es prácticamente NEXT - NEXT y disfrute :)

NO FUNCIONÓ:

El siguiente comando de preparación NO funcionó para mí:

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

Dio el siguiente error:

Falla durante la ejecución; /usr/bin/xar -xf /xxxx/Library/Caches/Homebrew/downloads/\#\{url_sha256\}--\*salió con 1.

¡Buena suerte!

Aprendiz
fuente
2
El enlace anterior, pdflabs.com/tools/pdftk-the-pdf-toolkit/… parece producir un pdftk que funciona en Mac OS Catalina (10.15).
Ivan Kurmanov
1
@IvanKurmanov gracias por el aporte, lo agregaré a la respuesta
Estudiante
¡¡Excelente!! Esto realmente me salvó. Estuve cerca de renunciar a la gema pdf_forms y busqué otra solución.
Killerkiara
7

Pdftk actualmente no funciona para mí en OSX Sierra.

Si tiene Docker instalado en su sistema, puede usar mi imagen de Docker ligero en su lugar:

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

Aún mejor, simplemente use la siguiente secuencia de comandos como un reemplazo directo:

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

Ahora puede usar pdftk como se esperaba: ./pdftk --help

jottr
fuente
La respuesta de @ obh me funcionó en Sierra, pero también agradezco tener una solución acoplable. Especialmente como el hecho de que usaste alpine :)
Henry Schreiner
¿Qué sucede si quiero ejecutar esa imagen dentro de un contenedor, tendría que actualizar el Dockerfile?
Steven Aguilar
3

trabaja para mí, instala el nuevo, https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/pdftk_server-2.02-mac_osx-10.11-setup.pkg

eliminar la versión anterior de pdftk; busque el pdftk desde el buscador, muévase a la papelera y también pdftk_uninstall.sh hecho.

$ pdftk -version

pdftk 2.02, una herramienta útil para manipular documentos PDF Copyright (c) 2003-13 Steward and Lee, LLC - Visite: www.pdftk.com Este es un software gratuito; vea el código fuente para las condiciones de copia. NO hay garantía, ni siquiera para COMERCIABILIDAD o APTITUD PARA UN PROPÓSITO EN PARTICULAR.

tralala
fuente
en OS X Sierra pdftkda 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

Tercera edición: Las siguientes no son soluciones, sino soluciones alternativas (`porque a veces no es factible esperar meses para que lleguen las soluciones).


Segunda edición: Coherente PDF Command Line Tools (aka cpdf) es gratuito para uso no comercial, y se puede licenciar para uso comercial. Proporciona una funcionalidad comparable pdtky (al menos en mi MacBook Pro) parece funcionar bien con El Capitan.


Editar: esta respuesta de StackOverflow le dice cómo usar ghostscriptpara concatenar archivos, proporcionando así (torpemente) una funcionalidad similar a la de "pdftk ... cat output out.pdf".


Para algunos propósitos, el paquete ghostscript--- que se distribuye con distribuciones LaTeX como texlive--- ofrece una capacidad similar (pero menos fácil de usar) parapdftk .

Por ejemplo, para extraer las páginas 6-7 de un documento pdf de varias páginas:

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

Lo anterior funcionó para mí ... ¡su millaje puede variar!

No hace falta decir que restaurar pdftkuna funcionalidad completa bajo El Capitán sería mucho mejor ... pdftkrealmente es una excelente utilidad.

John Sidles
fuente
1

Soluciones: le planteamos esto a Sid en agosto y todavía no lo ha solucionado, así que creo que es justo decir que es una buena idea buscar alternativas. Debido a esto, hemos tomado la iniciativa de presentar algunas primeras herramientas que las personas pueden disfrutar de forma gratuita en el siguiente repositorio:

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

Contiene scripts fáciles de usar para CAT y BURST. Tenemos la intención de agregar más herramientas en el futuro. Siéntase libre de contribuir

Estas nuevas herramientas están utilizando las bibliotecas OSX nativas y no se necesitan dependencias de terceros. ¡Hurra!

Editar: se agregó información sobre esto como una solución alternativa

Equipo FlowPaper
fuente
1
Le invitamos a enviar esas herramientas al repositorio. No debería ser difícil agregar marcas de agua y concatenación agregando y quitando al mismo tiempo.
Equipo FlowPaper
1

Puede acceder a un servidor PDFTK en ejecución bajo El Capitán si usa el manual de parchear puertos junto con los cuatro parches provistos en los boletos de Macports # 48528 y # 49227.

La compilación de GCC5 parcheado tomó mucho tiempo en mi máquina. Además, parece una buena idea nombrar los puertos locales de forma idéntica a los originales (es decir, gcc5 y pdftk), de lo contrario, deberá ajustar los Portfiles.

También es posible agrupar el binario pdftk resultante junto con sus bibliotecas dinámicas usando install_name_tool en el binario y las bibliotecas dinámicas. Logré ejecutar pdftk de esta manera en otras dos máquinas.

Frank P.
fuente