- Stirling PDF es una plataforma de edición de PDF de código abierto que permite editar, firmar, redactar, convertir y automatizar PDF sin enviar documentos a servicios externos
- Es compatible con app de escritorio personal, interfaz de navegador, despliegue en servidor propio y API privada, por lo que puede ejecutarse según el entorno de trabajo
- Ofrece más de 50 herramientas para PDF, incluidas funciones como combinar, dividir, OCR y compresión, además de pipelines sin código basados en UI y automatización por API
- Para uso empresarial ofrece SSO, auditoría y despliegue on-premise, y la mayoría de las herramientas cuentan con REST API para integrarse con sistemas existentes
- El inicio rápido se hace con Docker ejecutando
docker run -p 8080:8080 docker.stirlingpdf.com/stirlingtools/stirling-pdf y luego abriendo http://localhost:8080
Lo que ofrece Stirling PDF
- Stirling PDF es una plataforma de edición de PDF de código abierto que puede ejecutarse como app de escritorio personal, interfaz de navegador o servidor autoalojado
- En un despliegue en servidor propio se puede usar una API privada, lo que permite procesar tareas de PDF sin enviar documentos a servicios externos
- Sus tareas principales son edición, firma, redacción, conversión y automatización
Alcance de funciones principales
- Ofrece más de 50 herramientas PDF
- edición
- combinación
- división
- firma
- redacción
- conversión
- OCR
- compresión
- Soporta automatización y flujos de trabajo
- Se pueden crear pipelines sin código desde la UI
- Con la API se pueden procesar millones de PDF
- También incluye un enfoque de plataforma para desarrolladores
- Casi todas las herramientas ofrecen REST API
- Puede integrarse con sistemas existentes
- La UI está disponible en más de 40 idiomas
- La lista completa de funciones puede consultarse en Documentation
Despliegue y ejecución
- Los entornos compatibles son cliente de escritorio, interfaz de navegador y servidor autoalojado
- El inicio rápido puede hacerse con el siguiente comando de Docker
docker run -p 8080:8080 docker.stirlingpdf.com/stirlingtools/stirling-pdf
Funciones empresariales y operativas
- Como funciones de nivel empresarial ofrece SSO, auditoría y despliegue on-premise flexible
- La información sobre Server Plan y Enterprise está en Server Plan & Enterprise
Desarrollo, contribución y soporte
- Recursos principales
- Canales de soporte
- La guía de contribución sigue
CONTRIBUTING.md
- Para compilación, desarrollo y pruebas se usa Task como ejecutor unificado de comandos
task dev inicia la ejecución en el editor
task muestra los comandos de uso frecuente
- El contenido completo está en
DeveloperGuide.md
- Para agregar traducciones, consulta
devGuide/HowToAddNewLanguage.md
- La licencia es open-core y los detalles están en
LICENSE
1 comentarios
Comentarios de Hacker News
Creo que lo que realmente falta en el ecosistema PDF son herramientas open source relacionadas con firmas.
Las firmas en PDF son legalmente importantes en muchas regiones del mundo por regulaciones como eIDAS, pero fuera de Adobe o herramientas propietarias sospechosas, es demasiado difícil firmar criptográficamente documentos PDF. Incluso si uno descubre cómo firmar con LibreOffice o poppler, es complicado obtener un certificado verificable sin gastar mucho dinero.
Si alguien cumpliera un papel tipo Let's Encrypt para certificados PDF y S/MIME, creo que la confianza pública mejoraría muchísimo.
Una excelente biblioteca open source que cubre PDF, firmas digitales e incluso firmas de PDF: https://github.com/MatthiasValvekens/pyHanko
La herramienta DSS de la European Commission también es útil. Solo hay que enviar un PDF; no hace falta incluir tanto el original como el firmado: https://ec.europa.eu/digital-building-blocks/DSS/webapp-demo...
La empresa es https://www.zealid.com/en/, y en https://my.zealid.com/en se puede hacer onboarding remoto gratis, obtener un certificado calificado, subirlo, firmar con QES y descargar el PDF, todo gratis. También se puede integrar por API.
Lo tengo alojado en casa. No lo uso directamente; uso las herramientas CLI de Linux subyacentes.
Pero prefiero que mi esposa use esto para convertir o dividir PDFs, en lugar de subirlos a cualquier sitio web o app. Al fin y al cabo, muchos de esos sitios probablemente usan las mismas herramientas de línea de comandos.
A ella tampoco le importa mucho una opción u otra, y parece encajar bastante bien con su caso de uso.
PDFBox es una aplicación Java, así que debería funcionar de forma multiplataforma, no solo en Linux. Si te referías a otra cosa, estaría bueno que lo contaras.
En el README dice: “Stirling PDF no inicia llamadas externas con fines de registro o seguimiento”, así que supongo que con eso queda resuelto.
Al principio, el año pasado, empezó como un reto de 24 horas para crear toda la app con ChatGPT dentro de un límite de tiempo, para probar qué tal era ChatGPT 3.0.
Lo publiqué en Reddit, hubo mucha demanda y lo convertí en una app completa; solo durante las primeras 24 horas usé exclusivamente ChatGPT. Ya pasó más de un año desde entonces.
No es como si uno escribiera en el README “desarrollado con IntelliSense”.
Así que, según mi criterio, su utilidad se reduce bastante.
Me gustaría que esta función se integrara en Paperless. A veces un documento escaneado entra al revés y hay que volver a escanearlo.
Estaría bueno poder presionar un botón de rotar, cambiar el orden si hace falta y luego hacer que se procese de nuevo.
Fuente: https://docs.paperless-ngx.com/changelog/#paperless-ngx-270
En una actualización relativamente reciente de Firefox se agregó un editor de PDF.
Creo que mucha gente sigue teniendo una percepción de Firefox basada en versiones de hace tiempo. Como alguien que lo ha usado a diario durante toda su historia, creo que Firefox ha avanzado bastante en los últimos años.
Si no lo has probado en un tiempo, vale la pena darle otra oportunidad.
Al leer en el README la frase “Stirling PDF does not initiate any outbound calls for record-keeping or tracking purposes”, me pregunto si habría alguna forma de que los usuarios potenciales lo verifiquen de antemano, más allá de auditar el código.
En particular, para que la app funcione se necesitan algunas solicitudes web, pero ¿cómo podría una app web respaldar una afirmación así si, por ejemplo, tuviera que hacer solicitudes solo a una lista limitada de URL indicada en un manifiesto como Content-Security-Policy?
Es un problema bastante concreto cuando se despliega una app en la que el usuario debe “subir” contenido sensible.
https://www.obdev.at/products/littlesnitch/index.html
Little Snitch es una herramienta centrada en macOS. Seguramente haya otras, pero no las conozco bien. Siento que esto debería ser una función a nivel del sistema operativo.
Puedes dar acceso a la app a través de un proxy HTTP y filtrar las solicitudes externas de la app web, o incluso no configurar el enrutamiento de red del servidor que hospeda esa app. Entonces lo único que queda son las solicitudes iniciadas por JavaScript dentro de la página renderizada.
El open source funciona sobre un nivel considerable de confianza, y todos participamos en esa estructura.
Estoy trabajando en un producto que podría describirse de forma similar.
CxReports: herramienta web autohospedada para reportes PDF
https://www.cx-reports.com
Vi este proyecto hace unos meses y me gustó de inmediato. Lo instalé y empecé a usarlo en la práctica, pero tenía muchos bugs, y algunas herramientas eran prácticamente inutilizables.
Espero que ahora haya mejorado.
Una vez usé esto para aumentar el contraste de un PDF que contenía formularios de texto escaneados. El escaneo casi no se veía, así que básicamente necesitaba oscurecer más las partes oscuras y, si era posible, engrosarlas un poco para que se vieran mejor.
Incluso una tarea que parecía tan menor no recibió buena ayuda de la herramienta, y la mejora fue muy pequeña. Lo repetí varias veces, pero después de la segunda vez ya no había ninguna diferencia visual, aunque el tamaño del archivo seguía cambiando.
Extrae la imagen, aumenta el contraste con GIMP o ImageMagick y crea un PDF nuevo. Si tienes muchos archivos, también puedes procesarlos con un script.
Estoy revisando la lista y buscando si hay una API para extraer texto de un PDF.
O también me pregunto si se puede obtener en forma de vectores o embeddings.