pdfium4laz

Zur Vorstellung von Komponenten und Units für Lazarus
Antworten
paweld
Beiträge: 131
Registriert: So 11. Jun 2023, 16:01
OS, Lazarus, FPC: Lazarus trunk, FPC fixes

pdfium4laz

Beitrag von paweld »

Object Pascal-Bindings und visuelle Komponenten für die PDFium-Bibliothek, für Free Pascal und Lazarus. Es ermöglicht das Anzeigen, Durchsuchen, Extrahieren von Inhalten aus und Bearbeiten von PDF-Dateien ohne externe Tools – nur die PDFium-Shared-Library wird benötigt: https://github.com/paweld/pdfium4laz

Funktionen
Das Paket enthält 2 visuelle Komponenten (installiert auf der Registerkarte PDFium der Komponentenpalette):
  • TPdfViewer – ein scrollbarer Einzelseiten-Viewer mit Hintergrund-(Threaded-)Rendering, Zoom-Modi (manuell, Breite anpassen, Höhe anpassen, Seite anpassen), Textauswahl mit Maus und Tastatur (Strg+A, Strg+C), anklickbaren Links, Lesezeichen-Navigation, einem optionalen Farbschema (z. B. Dunkelmodus) und Bildfarbinvertierung.
  • TPdfThumbnailPanel – ein Seitenminiaturstreifen (vertikal oder horizontal), der in einem Hintergrundthread gerendert wird, mit Seitenbeschriftungen, Auswahl- und Klickereignissen.
Lesen von PDF-Dateien
  • Öffnen von Dokumenten aus einer Datei oder einem Stream, einschließlich passwortgeschützter Dokumente
  • Dokumentinformationen: Metadaten (Titel, Autor, ...), Berechtigungen, Verschlüsselung, PDF-Version, Dateiidentifikator, Formulartyp, Sprache, Seitenbeschriftungen
  • Rendern von Seiten in ein TBitmap (auch mit einem benutzerdefinierten Farbschema)
  • Textextraktion in 3 Formaten (einfach, natürliche Lesereihenfolge, layouterhaltend), Textsuche, Textauswahl, Text aus einem Rechteck
  • Links (URI, Gehe zu Seite, Remote-Gehe zu, Starten)
  • Lesezeichen (Gliederungsbaum mit Zielseite, Position und Farbe)
  • Eingebettete Bilder – Auflisten, Metadaten (Pixelgröße, DPI), Export nach PNG, JPEG oder BMP
  • Dateianhänge – Auflisten, Metadaten, Extrahieren
  • Drucken (synchron oder in einem Hintergrundthread), mit Seitenbereichen wie 1-3,5,8
Bearbeiten von PDF-Dateien
  • Zusammenführen mehrerer PDF-Dateien zu einer
  • Aufteilen eines Dokuments – jede Seite in eine eigene Datei, ein Seitenbereich oder eine beliebige Auswahl von Seiten
  • Verschieben (Neuordnen) von Seiten
  • Drehen von Seiten
  • Hinzufügen und Löschen von Dateianhängen
  • Speichern des Dokuments, optional als andere PDF-Version (1.4, 1.5, 1.6, 1.7, 2.0)
Anforderungen
BetriebssystemeWindows 32-Bit, Windows 64-Bit, Linux 64-Bit
CompilerFPC 3.0.4 oder neuer
IDELazarus 2.0 oder neuer
PDFiumBuild 6036 oder neuer
Vorkompilierte PDFium-Bibliotheken können von https://github.com/bblanchon/pdfium-binaries/releases heruntergeladen werden.

Bild
Grüße / Pozdrawiam
paweld

Benutzeravatar
fliegermichl
Lazarusforum e. V.
Beiträge: 1852
Registriert: Do 9. Jun 2011, 09:42
OS, Lazarus, FPC: Lazarus Fixes FPC Stable
CPU-Target: 32/64Bit
Wohnort: Echzell

Re: pdfium4laz

Beitrag von fliegermichl »

Ich hab natürlich erstmal ohne Readme zu lesen das Package installiert, die Demo geöffnet und festgestellt, daß die Bibliothek fehlt.
Das dann nachgeholt, funktioniert das wirklich einwandfrei.

Klasse!

shokwave
Beiträge: 494
Registriert: Do 15. Nov 2007, 16:58
OS, Lazarus, FPC: Win11/Ubuntu Budgie/macOS (Laz 4.x FPC 3.2.x)
CPU-Target: i386, x64, arm64
Wohnort: Gera

Re: pdfium4laz

Beitrag von shokwave »

Wow,

funktioniert sogar auf 'nem Mac.
Hab gerade die View-Demo ohne Probleme kompilieren und starten können. Nur die lib wollte noch ein "xattr -cr libpdfium.dylib", dann konnte ich auch ein PDF anschauen. :D

Find ich super! Vielen Dank!
mfg Ingo

paweld
Beiträge: 131
Registriert: So 11. Jun 2023, 16:01
OS, Lazarus, FPC: Lazarus trunk, FPC fixes

Re: pdfium4laz

Beitrag von paweld »

shokwave hat geschrieben: Di 13. Okt 2026, 18:59 funktioniert sogar auf 'nem Mac.
Hab gerade die View-Demo ohne Probleme kompilieren und starten können. Nur die lib wollte noch ein "xattr -cr libpdfium.dylib", dann konnte ich auch ein PDF anschauen. :D
Vielen Dank für die Information. Ich habe keinen Zugang zu einem Mac, daher konnte ich das nicht überprüfen.
Könntest du mir noch mitteilen, auf welchem Betriebssystem und welcher Plattform (Intel, Apple M*) du das überprüft hast?
Grüße / Pozdrawiam
paweld

shokwave
Beiträge: 494
Registriert: Do 15. Nov 2007, 16:58
OS, Lazarus, FPC: Win11/Ubuntu Budgie/macOS (Laz 4.x FPC 3.2.x)
CPU-Target: i386, x64, arm64
Wohnort: Gera

Re: pdfium4laz

Beitrag von shokwave »

Ich habe es auf einem MacBook Air M4, mit macOS 27.0.1, FPC 3.2.3 und Lazarus 5.99, probiert.
Lazarus 5.99 (rev main_4_99-5679-g0263f8d05e) FPC 3.2.3 aarch64-darwin-cocoa
mfg Ingo

paweld
Beiträge: 131
Registriert: So 11. Jun 2023, 16:01
OS, Lazarus, FPC: Lazarus trunk, FPC fixes

Re: pdfium4laz

Beitrag von paweld »

Vielen Dank
Grüße / Pozdrawiam
paweld

Antworten