- O Stirling PDF é uma plataforma open source de edição de PDFs que permite editar, assinar, ocultar, converter e automatizar PDFs sem enviar documentos para serviços externos
- Suporta app desktop pessoal, UI no navegador, implantação em servidor próprio e API privada, permitindo rodar conforme o ambiente de trabalho
- Oferece mais de 50 ferramentas para PDF, incluindo recursos como mesclar, dividir, OCR e compressão, além de pipelines no-code baseados em UI e automação via API
- Para uso empresarial, oferece SSO, auditoria e implantação on-premises; a maioria das ferramentas tem REST API, permitindo integração com sistemas existentes
- O início rápido é feito com Docker: execute
docker run -p 8080:8080 docker.stirlingpdf.com/stirlingtools/stirling-pdf e depois abra http://localhost:8080
O que o Stirling PDF oferece
- Stirling PDF é uma plataforma open source de edição de PDFs que pode ser executada como app desktop pessoal, UI no navegador ou servidor auto-hospedado
- Ao implantar em servidor próprio, é possível usar uma API privada e processar operações em PDFs sem enviar documentos para serviços externos
- As principais operações são edição, assinatura, ocultação, conversão e automação
Escopo das principais funcionalidades
- Oferece mais de 50 ferramentas para PDF
- Edição
- Mesclagem
- Divisão
- Assinatura
- Ocultação
- Conversão
- OCR
- Compressão
- Suporta automação e workflows
- É possível criar pipelines no-code pela UI
- É possível processar milhões de PDFs via API
- Também inclui características de plataforma para desenvolvedores
- Quase todas as ferramentas oferecem REST API
- Pode ser integrado a sistemas existentes
- A UI está disponível em mais de 40 idiomas
- A lista completa de funcionalidades pode ser consultada na Documentation
Formas de implantação e execução
- Os ambientes de execução suportados são cliente desktop, UI no navegador e servidor auto-hospedado
- O início rápido pode ser feito com um comando Docker
docker run -p 8080:8080 docker.stirlingpdf.com/stirlingtools/stirling-pdf
Recursos empresariais e operacionais
- Como recursos de nível empresarial, oferece SSO, auditoria e implantação on-premises flexível
- Informações sobre Server Plan e Enterprise estão em Server Plan & Enterprise
Desenvolvimento, contribuição e suporte
- Principais recursos
- Canais de suporte
- O guia de contribuição segue
CONTRIBUTING.md
- Os comandos de build, desenvolvimento e teste usam Task como executor unificado de comandos
- Inicie a execução do editor com
task dev
- Veja comandos usados com frequência com
task
- O conteúdo completo está em
DeveloperGuide.md
- Para adicionar traduções, consulte
devGuide/HowToAddNewLanguage.md
- A licença é open-core, e os detalhes estão em
LICENSE
1 comentários
Comentários do Hacker News
O que realmente falta no ecossistema de PDF, na minha opinião, são ferramentas open source relacionadas a assinaturas.
Assinaturas em PDF são juridicamente importantes em várias partes do mundo por causa de regulamentações como o eIDAS, mas, fora a Adobe ou ferramentas proprietárias suspeitas, é difícil demais assinar documentos PDF criptograficamente. Mesmo que você descubra como assinar com LibreOffice ou poppler, é difícil obter certificados verificáveis sem gastar muito dinheiro.
Se alguém fizesse para PDFs e certificados S/MIME algo como o Let's Encrypt, acho que a confiança pública melhoraria muito.
Uma excelente biblioteca open source que lida com PDF, assinaturas digitais e até assinaturas em PDF: https://github.com/MatthiasValvekens/pyHanko
A DSS Tool da European Commission também é útil. Basta enviar um único PDF; não é preciso incluir tanto o original quanto a versão assinada: https://ec.europa.eu/digital-building-blocks/DSS/webapp-demo...
A empresa é https://www.zealid.com/en/, e em https://my.zealid.com/en você pode fazer onboarding remoto gratuitamente, baixar e enviar um certificado qualificado, assinar com QES e baixar o PDF, tudo de graça. Também é possível integrar via API.
Estou hospedando isso em casa. Eu mesmo não uso; basta usar as ferramentas CLI do Linux que servem de base.
Mas acho melhor minha esposa fazer conversões ou divisões de PDF com isso do que enviar para qualquer site ou app. Afinal, esses sites muitas vezes usam as mesmas ferramentas de linha de comando.
Ela também não se importa muito de um jeito ou de outro, e parece atender bem ao caso de uso dela.
PDFBox é uma aplicação Java, então deveria funcionar de forma multiplataforma, não só no Linux. Se você estava falando de outra coisa, seria bom saber.
No README está escrito que “o Stirling PDF não inicia chamadas externas para fins de registro ou rastreamento”, então parece que a conclusão já está dada.
No começo, no ano passado, eu quis testar como era o ChatGPT 3.0 e comecei como um desafio de 24 horas para criar o app inteiro com ChatGPT dentro desse limite de tempo.
Publiquei no Reddit, houve muita demanda, então transformei em um app completo; só nas primeiras 24 horas foi totalmente com ChatGPT. Agora já se passou mais de um ano.
Não é como se alguém escrevesse no README “desenvolvido usando IntelliSense”.
Então, pelos meus critérios, a utilidade cai bastante.
Seria bom se esse recurso fosse integrado ao Paperless. Às vezes um documento escaneado entra de cabeça para baixo e preciso escanear de novo.
Seria ótimo poder apertar um botão de rotação, mudar a ordem se necessário e mandar processar novamente.
Fonte: https://docs.paperless-ngx.com/changelog/#paperless-ngx-270
Uma atualização relativamente recente do Firefox adicionou um editor de PDF.
Acho que muita gente ainda tem uma percepção do Firefox baseada em algumas versões atrás. Como alguém que o usa diariamente ao longo de toda a sua história, acho que o Firefox evoluiu bastante ao longo dos anos.
Se você não usa há algum tempo, vale tentar de novo.
Ao ler no README a frase “Stirling PDF does not initiate any outbound calls for record-keeping or tracking purposes”, fiquei curioso se haveria alguma forma de um usuário em potencial verificar isso de antemão, sem fazer uma auditoria do código.
Em especial, alguns requests web são necessários para o app funcionar, mas como um app baseado na web poderia sustentar uma afirmação dessas se, por exemplo, ele tivesse que fazer requests apenas para uma lista limitada de URLs descrita em um manifesto como uma Content-Security-Policy?
É uma questão bem concreta ao implantar um app em que o usuário precisa “fazer upload” de conteúdo sensível.
https://www.obdev.at/products/littlesnitch/index.html
O Little Snitch é uma ferramenta focada em macOS. Deve haver outras, mas não conheço bem. Sinto que esse tipo de coisa deveria ser um recurso no nível do sistema operacional.
Você pode fornecer acesso ao app por meio de um proxy HTTP e filtrar as solicitações externas do web app, ou simplesmente não configurar roteamento de rede no servidor que hospeda esse app. Nesse caso, o que sobra são apenas as solicitações iniciadas por JavaScript dentro da página renderizada.
O open source funciona sobre um nível considerável de confiança, e todos nós participamos dessa estrutura.
Estou trabalhando em um produto que pode ser descrito de forma parecida.
CxReports: ferramenta web auto-hospedada para relatórios em PDF
https://www.cx-reports.com
Vi esse projeto alguns meses atrás e gostei de imediato. Instalei e comecei a usar de verdade, mas ele tinha muitos bugs, e algumas ferramentas eram praticamente inutilizáveis.
Espero que tenha melhorado agora.
Já usei isso para tentar aumentar o contraste de um arquivo PDF que continha um formulário de texto escaneado. A digitalização mal aparecia, então eu basicamente precisava escurecer ainda mais as partes escuras e, se possível, deixá-las um pouco mais grossas para ficarem mais legíveis.
Mesmo uma tarefa que parecia tão simples não foi bem atendida pela ferramenta, e a melhoria foi muito pequena. Tentei repetir várias vezes, mas depois da segunda vez não havia mais diferença visual, enquanto o tamanho do arquivo continuava mudando.
Você pode extrair a imagem, aumentar o contraste com GIMP ou ImageMagick e criar um novo PDF. Se houver muitos arquivos, também dá para processar por script.
Estou olhando a lista e tentando descobrir se há uma API para extrair texto de PDFs.
Ou também me pergunto se dá para obter isso em forma de vetores ou embeddings.