SumatraPDF-Reader
(github.com/sumatrapdfreader)- SumatraPDF ist ein Dokumentenreader für Windows, der mehrere Formate unterstützt, darunter PDF, EPUB, MOBI, CBZ, CBR, FB2, CHM, XPS und DjVu
- Die Lizenz ist (A)GPLv3; Teile des Codes stehen unter der BSD-Lizenz
- Weitere Informationen gibt es auf der Website, im Manual und in den Developer Information
1 Kommentare
Meinungen auf Hacker News
Da Adobe die Monetarisierung von Acrobat aggressiver vorantreibt, stelle ich einige PDF-Arbeiten auf Open-Source-Tools um. SumatraPDF ist eines der Tools, die ich nutze; qpdf verwende ich zum Entfernen von Passwörtern, Entsperren und Konvertieren, und unter WSL lässt es sich mit
apt-get install qpdfinstallieren.Mit
qpdf --decrypt --password="" input.pdf output.pdfkann man das Passwort entfernen. PDF4QT ist ein Open-Source-PDF-Editor zum Löschen, Sortieren und Extrahieren von Seiten, hat aber noch kein Chocolatey-Release und muss daher manuell installiert werden.Inkscape und LibreOffice Draw eignen sich zum Bearbeiten von PDFs und Hinzufügen von Text; MuPDF als Kommandozeilen-Tool und Python-Paket zum Parsen, Ausfüllen von Formularen und Hinzufügen von Text; SumatraPDF zum Anzeigen; pdfplumber ist zusammen mit Jupyter Lab nützlich, um PDF-Tabellen in Daten-Pipelines zu extrahieren.
Ein hervorragender Rückblick des Autors von SumatraPDF: https://blog.kowalczyk.info/article/2f72237a4230410a888acbfc...
Gemeint ist wohl nicht, dass Tests oder Code-Reviews unnötig seien, sondern eher, dass man die Tests den Nutzern überlassen kann.
Der Autor testet seinen Code vermutlich auch. Schließlich ist schon das Starten der App eine Form von Test. Wahrscheinlich aber nicht in einer so strengen oder systematischen Weise, dass man von der Sicherheit sprechen könnte, die Regressionstests geben.
Kaum jemand behauptet ernsthaft, es sei unmöglich, komplexen Code ohne automatisierte Tests zu schreiben. Ich bin ein starker Befürworter automatisierter Tests, habe aber Ende der 90er und Anfang der 2000er einmal einen recht großen Cross-Platform-Renderer ganz ohne automatisierte Tests gebaut; das dauerte lange, und mit jeder Änderung wurde es immer beängstigender.
Diskussion zum erneuten Post desselben Artikels 2023: https://news.ycombinator.com/item?id=35065785 – März 2023, 173 Kommentare
Ich wünschte, alle Entwickler von PDF-Readern würden sioyeks Overview-Funktion[0] implementieren. Wenn man mit der Maus über einen Querverweis fährt, wird der referenzierte Inhalt in einem kleinen Vorschaufenster geöffnet.
Beim Lesen von Lehrbüchern und technischen Papers ist das ein echter Gamechanger; man kann gar nicht genug betonen, wie nützlich das ist.
[0] https://github.com/ahrm/sioyek#overview
Außerdem wäre es doch ein erhebliches Risiko, wenn ein PDF-Reader wegen dieser Funktion beliebigen Remote-Code ausführen würde.
https://en.m.wikipedia.org/wiki/Transclusion
Habe es gerade zum ersten Mal installiert, und die Performance übertrifft nicht nur Adobe Reader, sondern sogar Foxit deutlich. Adobe Reader zu schlagen ist keine große Sache, aber Foxit zu schlagen ist ziemlich beeindruckend.
Die Installationsgröße beträgt auch nur etwa 10 % dieser Programme. Ich frage mich, was Adobe eigentlich treibt, dass deren Software so unerträglich langsam und mühsam zu benutzen ist.
Sumatra ist großartig und unter Windows praktisch der einzige PDF-Reader, den ich nutze, hat aber vielleicht nur rund 10 % der Funktionen von Adobe Acrobat. Allerdings sind diese 10 % genau die Funktionen, die fast alle brauchen.
Segen über alle, die sich die PDF-Spezifikation angesehen und gedacht haben: „Schön, dafür würde ich gern einen Parser schreiben.“
Früher habe ich poppler verwendet und bin dann auf MuPDF umgestiegen. Damals war MuPDF aktiver, und später scheint auch poppler an Tempo gewonnen zu haben.
Der Kernbestand an PDF-Funktionen ist an sich gar nicht so schlecht zu implementieren. Nach dem, was ich gesehen habe, sind die schlimmen und komplexen Teile die später hinzugefügten XML-artigen Dinge, JavaScript in Formularen, komplexe Vektorgrafikfunktionen wie Vektormaskierung, Unterstützung mehrerer Farbräume und CMYK-Separationen, Font-Handling und Text-Rendering.
Schwierig ist auch, fehlerhaft erstellte PDFs schnell rendern zu müssen. PDFs lassen sich beim Erstellen leicht kaputtmachen, und Leute machen sie auf jede nur vorstellbare Weise kaputt. Wenn Adobe oder Chrome sie öffnen können, kann man nicht einfach sagen „ungültiges PDF“, daher haben die MuPDF-Entwickler viele Heuristiken hinzugefügt, damit auch beschädigte PDF-Dokumente angezeigt werden.
https://tcpdf.org/examples/example_014/
Ich habe keine Ahnung, wie das überhaupt funktionieren soll.
Die ursprüngliche Spezifikation ist etwas hässlich, weil sie im Format Bytes sparen wollte und dafür etwa einbuchstabige Dictionary-Keys verwendet, aber es gibt auch wirklich gut durchdachte Teile. Appearance Streams sind hervorragend für Vorwärts- und Rückwärtskompatibilität und wahrscheinlich einer der Hauptgründe, warum nichts PDF ersetzt hat.
Da sich viele PDF-Dateien aber nicht an die Spezifikation halten, muss man fehlerhafte PDFs genauso tolerant akzeptieren wie Adobes Parser.
Gestern ist ein großes Update für SumatraPDF erschienen [1]. Die Backlog-Liste [2] enthält viele Bugfixes und Verbesserungen.
[1] https://github.com/sumatrapdfreader/sumatrapdf/releases/tag/...
[2] https://github.com/sumatrapdfreader/sumatrapdf/issues/3672
MainWindowBackground = #191919FixedPageUI [TextColor = #282828BackgroundColor = #ebdbb2SelectionColor = #2d938f...Bisher habe ich mit AutoHotkey
SumatraPDF-settings.txtüberschrieben, um zwischen verschiedenen Modi zu wechseln. Ich würde das kleine Skript gern teilen, aber vor Kurzem ist es plötzlich kaputtgegangen.Wie andere schon gesagt haben, ist Sumatra eines der wenigen reinen Windows-Utilities, die man ständig vermisst, wenn man einen Mac oder Linux nutzt. Besonders beim Ansehen von Schaltplänen, mechanischen und technischen Zeichnungen sowie Datenblättern gibt es zwei einfache Bedienaktionen, die ich täglich vermisse:
Alt + Scrollen zum Vergrößern/Verkleinern, Rechtsklick + Ziehen zum Verschieben. Ich frage mich, ob es unter Mac oder Linux einen Viewer gibt, der diese beiden Funktionen bietet. Skim auf dem Mac unterstützt Option + Scrollen und Linksklick + Ziehen zum Verschieben, lässt sich aber nicht auf andere Tasten oder Maustasten umstellen.
Eine Funktion, die ich wirklich mag: Page Down springt an den oberen Rand der nächsten Seite. Das ist sehr praktisch, wenn man mit einem Zoomfaktor, der nicht exakt zur Seitengröße passt, schnell etwas überfliegen möchte.
Das ist vermutlich ähnlich genug. Wenn man es wirklich erzwingen will, gibt es wahrscheinlich Shareware-Apps, die pro Anwendung Tastatur-Emulation und Input-Remapping on the fly erledigen.
https://www.keyboardmaestro.com/main/ kenne ich als Standardlösung dafür.
Was an SumatraPDF sehr praktisch ist: Wenn eine normale Bilddatei geändert wird, wird sie automatisch neu geladen. Dadurch ist es einfach, grafische Ausgaben in einem Fenster anzuzeigen, indem man sie als Bilddatei speichert.
Ich mag SumatraPDF wirklich sehr. Ich nutze es seit Jahren, und es ist großartig. Wenn ich LaTeX in vim verwende und das Dokument daneben in Sumatra geöffnet habe, wird es beim Kompilieren sofort aktualisiert.
Dadurch, dass die Seite sofort neu geladen wird, ist der Workflow sehr reibungslos.
Vermutlich nutzt du genau das. Es integriert sich standardmäßig mit Sumatra und auch mit MuPDF, Skim und anderen. Das ist daran so schön.
Bevor ich zu Linux gewechselt bin, habe ich Sumatra kurz ausprobiert; es war ziemlich gut und flott.
Während meiner Promotion habe ich Sumatra PDF als Hauptwerkzeug genutzt, um beim Schreiben von Manuskripten und Papers PDF-Änderungen in Echtzeit zu sehen. Die kostenpflichtige Version von Acrobat und die kostenlose Version von Foxit haben zwar mehr Funktionen, sperren aber Dateien, die gerade geändert werden.