Chrome-pdf / Phantom-pdf en raspberry pi 3 ó OS Raspbian
-
Hola a todos!
Como puedo configurar la dependencia chrome-pdf o phantom-pdf en un sistema operativo raspbian / raspberry pi 3?
He seguido las indicaciones siguientes https://jsreport.net/learn/ubuntu, pero aun no me ha funcionado, tengo la salidad HTML.
-
Hola! puedes especificar como intentaste generar un reporte? estas llamando a jsreport desde la http API? o iniciaste jsreport y desde la UI (studio) intentaste generar un reporte? más detalles sobre como intentaste generar el reporte van a ayudar a saber si algo que estas haciendo esta mal.
Nota: Como puedes apreciar en otros posts del foro, el lenguaje usado es Ingles por lo que sería conveniente y de ser posible si las preguntas y respuestas que formules lo hicieras en este idioma. Esto ayuda a que otros miembros del equipo puedan entender el contenido del post y ayudar de ser necesario.
-
Hola! instale jsreport en una raspberry para generar unos reportes en pdf, los templates de ejemplo vienen con chrome-pdf, hice un template sencillo para probar con Phantom-pdf ya que no pude instalar google-chrome-unstable. tengo habilitado web server y accedo a este mediante http por el puerto 5488 y entro a http://host:5488/studio/template, instale la dependencia para usar phantomjs para renderizar pdf y me sale el siguiente error.
Error: Command failed: /home/pi/jsreportapp2/node_modules/phantomjs/lib/phantom/bin/phantomjs --ignore-ssl-errors=yes --web-security=false --ssl-protocol=any /home/pi/jsreportapp2/node_modules/phantom-html-to-pdf/lib/scripts/standaloneScript.js /tmp/jsreport/autocleanup/3b2c5ee5-76e8-4a09-8c50-d0de439d69ecsettings.html
/home/pi/jsreportapp2/node_modules/phantomjs/lib/phantom/bin/phantomjs: 1: /home/pi/jsreportapp2/node_modules/phantomjs/lib/phantom/bin/phantomjs: Syntax error: word unexpected (expecting ")")at ChildProcess.exithandler (child_process.js:275:12) at emitTwo (events.js:126:13) at ChildProcess.emit (events.js:214:7) at maybeClose (internal/child_process.js:925:16) at Socket.stream.socket.on (internal/child_process.js:346:11) at emitOne (events.js:116:13) at Socket.emit (events.js:211:7) at Pipe._handle.close [as _onclose] (net.js:567:12)
-
parece que tanto los ejecutable de chrome and phantomjs tienen problemas con raspberry pi debido a que usan otra arquitectura (ARM) y requieren binarios por separado, por lo que no estoy seguro si vas a poder ejecutar jsreport normalmente debido a esto.
parece que phantomjs no soporta raspberry pi por defecto, por lo que no vas a poder usarlo. existen distribuciones no oficiales que soportan raspberry pero nunca las he probabo por lo que no sabría decirte si funciona, si gustas puedes intentar instalar esa distribucion y luego en tu archivo
jsreport.config.json
agregar esto a la configuracion con la ruta hacia el binario que descargaste dephantomjs-on-raspberry
:{ "extensions": { "phantom-pdf": { "phantomPath": "/ruta/al/binario-de-phantom-que-soporta-raspberry } } }
por que no pudiste instalar
google-chrome-unstable
? cual fue el error? tambien puedes probar saltando este comando:sudo apt-get install -y google-chrome-unstable
de los pasos, y probar ya que por defecto una version de chrome se instala cuando instalas jsreport, probablemente esta instalación detecte que estas usando raspberry y te descargue el binario correcto para tu maquina.
-
Hola, no pude instalar google-chrome-unstable porque no tiene un candidato para la instalación
// Chrome dependency Entrada :: sudo apt-get install -y libgconf-2-4 Entrada :: sudo wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add - Entrada :: sudo sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list' Entrada :: sudo apt-get update Entrada :: sudo apt-get install -y google-chrome-unstable Salida :: Leyendo lista de paquetes... Hecho Salida :: Creando árbol de dependencias Salida :: Leyendo la información de estado... Hecho Salida :: E: No se ha podido localizar el paquete google-chrome-unstable
-
Ya veo, lamentablemente no tengo mas ayuda que dar ya que el proceso en si no esta 100% soportado por el propio Chrome o Phantom. Pero encontre este issue en donde puedes ver todas las discusiones de personas que han intentado usar Chrome en Raspberry, en ese link hay diferentes soluciones y cosas que intentar, por lo que te recomendaria intentarlo, una ves logres instalar el ejecutable Chrome solo necesitas especificarle a jsreport que quieres usar ese ejecutable, puedes hacerlo con la siguiente configuración:
{ "extensions": { "chrome-pdf": { "launchOptions": { "executablePath": './ruta/al-ejecutable/de-chrome-que-funciona-en-raspberry' } } } }
-
Hola, ya me funcionó con chromium-browser
sudo apt-get install chromium-browser
Adicional a esto, seguirá saliendo un error, pero este se soluciona agregando esto en la configuración
{ "extensions": { "chrome-pdf": { "launchOptions": { "executablePath": './ruta/al-ejecutable/de-chrome-que-funciona-en-raspberry' }, "args": ["--no-sandbox"] } } }
Agregando la linea "args": ["--no-sandbox"] en la configuración chrome-pdf.