Leitor SumatraPDF
(github.com/sumatrapdfreader)- SumatraPDF é um leitor de documentos multiformato para Windows, com suporte aos formatos PDF, EPUB, MOBI, CBZ, CBR, FB2, CHM, XPS e DjVu
- A licença é (A)GPLv3, e parte do código usa a licença BSD
- Mais informações estão disponíveis em Website, Manual e Developer Information
1 comentários
Opiniões no Hacker News
Com a Adobe impulsionando a monetização do Acrobat de forma mais agressiva, algumas tarefas com PDF estão sendo substituídas por ferramentas open source. O SumatraPDF é uma das ferramentas usadas; o qpdf é usado para remover senhas, desbloquear e converter, e pode ser instalado no WSL com
apt-get install qpdfÉ possível remover a senha com
qpdf --decrypt --password="" input.pdf output.pdf; o PDF4QT é um editor de PDF open source para excluir, organizar e extrair páginas, mas ainda não tem release no Chocolatey, então exige instalação manualInkscape e LibreOffice Draw são úteis para editar PDFs e adicionar texto; MuPDF, como ferramenta de linha de comando e pacote Python para parsing, preenchimento de formulários e adição de texto; SumatraPDF, para visualização; e pdfplumber, junto com o Jupyter Lab, para extrair tabelas de PDFs para pipelines de dados
Um excelente texto retrospectivo escrito pelo autor do SumatraPDF: https://blog.kowalczyk.info/article/2f72237a4230410a888acbfc...
O sentido real não é que testes ou code review sejam desnecessários, mas algo mais próximo de delegar os testes aos usuários
O autor provavelmente também testa o código. Afinal, executar o app também é um teste. Só que é muito provável que não seja uma abordagem rigorosa ou sistemática o bastante para dar aquela sensação de segurança que testes de regressão oferecem
Quase ninguém afirma seriamente que seja impossível escrever código complexo sem testes automatizados. Sou forte defensor de testes automatizados, mas no fim dos anos 90 e começo dos anos 2000 já construí um renderizador multiplataforma relativamente grande sem um único teste automatizado; o processo levou muito tempo e, quanto mais mudanças eram feitas, mais assustador ficava
Discussão do repost do mesmo texto em 2023: https://news.ycombinator.com/item?id=35065785 - março de 2023, 173 comentários
Gostaria que todos os desenvolvedores de leitores de PDF implementassem o recurso de visão geral do sioyek[0]. Ao passar o mouse sobre uma referência cruzada, o conteúdo referenciado abre em uma pequena janela de prévia
É um recurso que muda completamente o jogo ao ler livros didáticos e artigos técnicos, e não dá para enfatizar o suficiente o quanto ele é útil
[0] https://github.com/ahrm/sioyek#overview
Além disso, se esse recurso fizer o leitor de PDF executar código remoto arbitrário, não seria um risco sério?
https://en.m.wikipedia.org/wiki/Transclusion
Acabei de instalar pela primeira vez, e o desempenho supera não só o Adobe Reader, mas até o Foxit. Vencer o Adobe Reader não é grande coisa, mas vencer o Foxit é bem impressionante
O tamanho da instalação também é só cerca de 10% do desses programas. Fico me perguntando o que a Adobe faz para o software ser tão insuportavelmente lento e penoso de usar
O Sumatra é excelente e é praticamente o único leitor de PDF que uso no Windows, mas tem só uns 10% dos recursos do Adobe Acrobat. Só que esses 10% são os recursos de que quase todo mundo precisa
Bênçãos para quem olha para a especificação PDF e pensa: “legal, eu queria escrever um parser para isso”
Antigamente eu usava o poppler e depois mudei para o MuPDF. Na época, o MuPDF era mais ativo, e depois o poppler parece ter ganhado ritmo também
O conjunto principal de recursos de PDF em si não é tão ruim de implementar. Pelo que vi, as partes ruins e complexas são coisas acrescentadas depois, como XML, JavaScript em formulários, recursos complexos de gráficos vetoriais como mascaramento vetorial, suporte a vários espaços de cor e separação CMYK, tratamento de fontes e renderização de texto
Também é difícil ter de renderizar rapidamente PDFs malformados; PDF é fácil de estragar na criação, e as pessoas estragam de todas as maneiras imagináveis. Se a Adobe ou o Chrome conseguem abrir, não dá para simplesmente dizer que é um “PDF inválido”, então os desenvolvedores do MuPDF adicionaram muitas heurísticas para conseguir exibir até documentos PDF quebrados
https://tcpdf.org/examples/example_014/
Não faço ideia de como isso funciona
A especificação original é meio feia, como usar chaves de dicionário de uma letra para economizar bytes no formato, mas há partes de fato bem pensadas. Appearance Streams são excelentes para compatibilidade retroativa e futura, e possivelmente são o maior motivo pelo qual nada substituiu o PDF
Mas, como muitos arquivos PDF não seguem a especificação, é preciso aceitar arquivos PDF inválidos com tolerância, como o parser da Adobe
Uma grande atualização do SumatraPDF saiu ontem [1]. A lista de pendências [2] inclui muitas correções de bugs e melhorias
[1] https://github.com/sumatrapdfreader/sumatrapdf/releases/tag/...
[2] https://github.com/sumatrapdfreader/sumatrapdf/issues/3672
MainWindowBackground = #191919FixedPageUI [TextColor = #282828BackgroundColor = #ebdbb2SelectionColor = #2d938f...Até agora eu alternava entre outros modos sobrescrevendo o
SumatraPDF-settings.txtcom AutoHotkey. Queria compartilhar um script pequeno, mas ele quebrou de repente há pouco tempoComo outras pessoas disseram, o Sumatra é um dos poucos utilitários exclusivos do Windows dos quais sempre sinto falta quando uso Mac ou Linux. Em especial, há duas operações simples das quais sinto falta todos os dias ao visualizar esquemas de circuitos, desenhos mecânicos/técnicos e datasheets:
Alt + rolagem para ampliar/reduzir, clique direito + arrastar para mover. Fico curioso se existe algum visualizador no Mac ou no Linux que ofereça esses dois recursos. O Skim no Mac oferece Option + rolagem e clique esquerdo + arrastar para mover, mas não permite redefinir para outra tecla ou botão do mouse
Um recurso de que gosto muito é que Page Down vai para o topo da próxima página. É muito prático quando você quer passar rapidamente pelo documento com um nível de zoom que não se ajusta exatamente ao tamanho da página
Acho que é parecido o suficiente. Se você realmente quiser forçar isso, deve haver algum app shareware que faça emulação de teclado por aplicativo e remapeamento de entrada na hora
Pelo que sei, https://www.keyboardmaestro.com/main/ é a solução padrão
Algo muito conveniente no SumatraPDF é que, quando um arquivo de imagem comum é modificado, ele é recarregado automaticamente. Por isso, é fácil exibir saída gráfica dentro de uma janela salvando em um arquivo de imagem
Gosto muito do SumatraPDF. Uso há anos, e ele é excelente. Quando escrevo LaTeX no vim e mantenho o documento aberto lado a lado no Sumatra, ele é atualizado imediatamente ao compilar
O recarregamento instantâneo das páginas torna o fluxo de trabalho muito fluido
É bem provável que você esteja usando isso. Ele se integra ao Sumatra por padrão, e também ao MuPDF, Skim etc. Esse aspecto é legal
Usei o Sumatra por pouco tempo antes de migrar para Linux; ele era bem bom e ágil
Durante o doutorado, usei o Sumatra PDF como minha principal ferramenta para ver alterações em PDFs em tempo real enquanto escrevia manuscritos e artigos. A versão paga do Acrobat e a versão gratuita do Foxit têm mais recursos, mas bloqueiam o arquivo que está sendo alterado