[erledigt] Komponente für PDF

Rund um die LCL und andere Komponenten
Benutzeravatar
juelin
Lazarusforum e. V.
Beiträge: 362
Registriert: Sa 24. Jul 2021, 18:03
OS, Lazarus, FPC: Linux Ubuntu 22. Windows 10 Delphi 11.3 (L 0.9.xy FPC 2.2.z)
CPU-Target: 64Bit
Wohnort: Mannheim

[erledigt] Komponente für PDF

Beitrag von juelin »

Hallo zusammen,
ich möchte was neues machen, was ich noch nie in Lazarus gemacht habe.
Ich denke das seid Ihr schon 1000mal gefragt worden.
Blicke aber im Forum bei den vielen Eintägen nicht durch. SORRY!!!
Ich möchte im Lazarus Programm eine PDF-Datei lesen und
eventuell auch nach einem Wort in der PDF-Datei suchen.
Habe in Packages PowerPDF gefunden, weiss aber nicht, ob das
das gelbe vom Ei ist.
Hat da Jemand Erfahrung von Euch und lönnte mir mit
Demoprogrammcode helfen?
Das wäre toll.
Danke und Gruß
Jürgen
Zuletzt geändert von juelin am Sa 21. Mär 2026, 15:51, insgesamt 1-mal geändert.

Benutzeravatar
theo
Beiträge: 11247
Registriert: Mo 11. Sep 2006, 19:01

Re: Komponente für PDF

Beitrag von theo »

Man muss unterscheiden.
Ein PDF Betrachter ist etwas komplett anderes als ein PDF Erzeuger und um einen reinen Text zu suchen, reicht ein PDF Konverter.
Auf Linux gibt es pdftotext, wahrscheinlich auf Windows auch.
Das kann man als externes Programm aufrufen und im konvertierten Text nach Wörtern suchen.

Joh
Lazarusforum e. V.
Beiträge: 348
Registriert: Sa 26. Mai 2012, 17:31
OS, Lazarus, FPC: Win 10 (L 2.2.6 x64 FPC 3.2.2)
CPU-Target: 64Bit

Re: Komponente für PDF

Beitrag von Joh »

Moin,

also ich nutze für das ganze unter Windows SumatraPDF. Ich suche innerhalb einer Datei nach dem Begriff Version (Parameter -search "Version") und lasse mir die Datei mit SumatraPDF in einem Lazarus-Panel anzeigen.
Der Suchbegriff wird dann hervorgehoben.

Code: Alles auswählen

    PanelPDFEdit.Visible := false;
    // Hilfe zu Sumatra Kommandozeile: https://www.sumatrapdfreader.org/docs/Command-line-arguments
    PDFProcess.CommandLine := 'pdf\SumatraPDF.exe'
                            + ' -plugin ' + IntToStr(PanelPDFEdit.Handle)
                            + ' "' + Datei + '"'
                            + ' -search "Version"'
                            + ' -zoom "fit page"'
                            + ' -view "single page"';
    if PDFProcess <> nil then
      PDFProcess.CommandLine := PDFProcess.CommandLine
                              + ' -reuse-instance';
    PDFProcess.Execute;

    PanelPDFEdit.Visible := true;
just my two Beer

Benutzeravatar
juelin
Lazarusforum e. V.
Beiträge: 362
Registriert: Sa 24. Jul 2021, 18:03
OS, Lazarus, FPC: Linux Ubuntu 22. Windows 10 Delphi 11.3 (L 0.9.xy FPC 2.2.z)
CPU-Target: 64Bit
Wohnort: Mannheim

Re: Komponente für PDF

Beitrag von juelin »

Hallo Joh,
danke für Deine Hilfe.
Finde ich sehr interessant.
Nun noch einige Fragen.
Ich möchte, das das Fenster von Simatra.exe NICHT angezeigt wird
und nur den Text hinter dem Rufzeichen "DG5UAP" = Suchbefriff
in mein Programm laden (also die Asresse). In eine Variable.
Siehe Anhang.
Hast Du da mal ein Beispiel?
Danke und Gruß
Jürgen
Dateianhänge
sumatra.jpg
(355.67 KiB) Noch nie heruntergeladen

Benutzeravatar
theo
Beiträge: 11247
Registriert: Mo 11. Sep 2006, 19:01

Re: Komponente für PDF

Beitrag von theo »

juelin hat geschrieben: Fr 20. Mär 2026, 13:36 Ich möchte, das das Fenster von Simatra.exe NICHT angezeigt wird
und nur den Text hinter dem Rufzeichen "DG5UAP" = Suchbefriff
in mein Programm laden (also die Asresse). In eine Variable.
Wenn du es nicht angezeigt haben willst, warum machst du es nicht so, wie ich es dir oben beschrieben habe?

https://linux.die.net/man/1/pdftotext

Mathias
Beiträge: 7246
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Komponente für PDF

Beitrag von Mathias »

Wen man ein wenig Aufwand nicht scheut, gibt es libpoppler, mit dem kann man fast alles aus einer PDF auslesen.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Benutzeravatar
theo
Beiträge: 11247
Registriert: Mo 11. Sep 2006, 19:01

Re: Komponente für PDF

Beitrag von theo »

Mathias hat geschrieben: Fr 20. Mär 2026, 17:49 Wen man ein wenig Aufwand nicht scheut, gibt es libpoppler, mit dem kann man fast alles aus einer PDF auslesen.
Gibt es dazu Pascal Bindungen?

Joh
Lazarusforum e. V.
Beiträge: 348
Registriert: Sa 26. Mai 2012, 17:31
OS, Lazarus, FPC: Win 10 (L 2.2.6 x64 FPC 3.2.2)
CPU-Target: 64Bit

Re: Komponente für PDF

Beitrag von Joh »

wenn es um das reine Auslesen von Texten aus pdf-Dateien geht:
pdftotext erzeugt eine ziemlich getreue lesbare Textdatei.

Aufruf:

Code: Alles auswählen

pdftotext -layout pdfDatei.pdf textDatei.txt
In der Textdatei lässt sich wunderbar lesen. Wichtig ist hier der Parameter -layout.

pdftotext gibts für linux und Windows
just my two Beer

Mathias
Beiträge: 7246
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Komponente für PDF

Beitrag von Mathias »

theo hat geschrieben: Fr 20. Mär 2026, 18:06
Mathias hat geschrieben: Fr 20. Mär 2026, 17:49 Wen man ein wenig Aufwand nicht scheut, gibt es libpoppler, mit dem kann man fast alles aus einer PDF auslesen.
Gibt es dazu Pascal Bindungen?
https://github.com/sechshelme/Lazarus-G ... er_24_02_0
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

kirchfritz
Beiträge: 266
Registriert: Mo 3. Jan 2011, 13:34
OS, Lazarus, FPC: Win11 (L 4.0 FPC 3.2.2)
CPU-Target: 64Bit
Wohnort: Nürnberg

Re: Komponente für PDF

Beitrag von kirchfritz »

Wo gibt's pdftotext für Windows?

Benutzeravatar
juelin
Lazarusforum e. V.
Beiträge: 362
Registriert: Sa 24. Jul 2021, 18:03
OS, Lazarus, FPC: Linux Ubuntu 22. Windows 10 Delphi 11.3 (L 0.9.xy FPC 2.2.z)
CPU-Target: 64Bit
Wohnort: Mannheim

Re: Komponente für PDF

Beitrag von juelin »

Habe pfdtotext genommen.
Danke an Alle.
Gruß
Jürgen
PS: Kirchfritz
pdftotext gibt es frei im Internet.
Sieh dir mal die Posts von Joh an.

kirchfritz
Beiträge: 266
Registriert: Mo 3. Jan 2011, 13:34
OS, Lazarus, FPC: Win11 (L 4.0 FPC 3.2.2)
CPU-Target: 64Bit
Wohnort: Nürnberg

Re: [erledigt] Komponente für PDF

Beitrag von kirchfritz »

Sorry, aber die Posts von joh erwähnen nur die Linux Version von pdftotext.
Für Windows bin ich aber noch nicht fündig geworden.

kirchfritz
Beiträge: 266
Registriert: Mo 3. Jan 2011, 13:34
OS, Lazarus, FPC: Win11 (L 4.0 FPC 3.2.2)
CPU-Target: 64Bit
Wohnort: Nürnberg

Re: [erledigt] Komponente für PDF

Beitrag von kirchfritz »

Ich würde das hier für Windows-User nehmen:
https://www.xpdfreader.com/download.html

kirchfritz
Beiträge: 266
Registriert: Mo 3. Jan 2011, 13:34
OS, Lazarus, FPC: Win11 (L 4.0 FPC 3.2.2)
CPU-Target: 64Bit
Wohnort: Nürnberg

Re: [erledigt] Komponente für PDF

Beitrag von kirchfritz »

Mit pdftotext erhält man folgende Textdatei:

Code: Alles auswählen

DA1AA, A, Norman Czora; Leipziger Str.        DA1IO, A, Walter James Andersen             DA1RS, A, Richard Steward
212, 38124 Braunschweig
                                              DA1JH, A, Jennifer Heinen                   DA1RUL, A, Dr. Tolga Arul; Kurt-
DA1AC, A, Robert Barlow Scaife                                                            Schumacher-Ring 15, 63303 Dreieich
                                              DA1JO, A, Joachim Friebel
DA1AD, A, Miriam Diana Albrecht;                                                          DA1RZT, A, Peter Arzt
Abteihofstr. 27, 40221 Düsseldorf             DA1JR, A, Jens Heinrich Hermann
                                              Rebettge; Hainbuchenring 24, 28790          DA1SB, A, Dr. Stefan Bunzel; Liederbacher
DA1AF, A, Robert T. Crockett                  Schwanewede                                 Str. 3, 65795 Hattersheim am Main

DA1AM, A, Markus Alexander Lanzrath           DA1JS, A, Jan Starke; Seerenteichstr. 4 b,  DA1SCT, A, Charles Burley Huffman
                                              01737 Tharandt
DA1AP, A, Manuel Reckenbeil; Hotzelgasse                                                  DA1SI, A, Simeon Achija Völkel
18 a, 36456 Barchfeld-Immelborn,              DA1KK, A, Dr. Kilian Koepsell
Diakonissenweg 1, 36456 Barchfeld-                                                        DA1SIM, A, Simeon Heribert Hiertz;
Immelborn                                     DA1LEX, A, Alexander Dolling                Wilmannsberg 9, 28757 Bremen
Ob das einfach zu parsen ist? Da habe ich arge Bedenken.

Benutzeravatar
theo
Beiträge: 11247
Registriert: Mo 11. Sep 2006, 19:01

Re: [erledigt] Komponente für PDF

Beitrag von theo »

kirchfritz hat geschrieben: Sa 21. Mär 2026, 16:27 Ob das einfach zu parsen ist? Da habe ich arge Bedenken.
Das kann sein, aber mit einem anderen Lösungsansatz wird es wahrscheinlich auch nicht besser, jedenfalls nicht mit vertretbarem Aufwand.
PDF ist nun mal auf Layout ausgelegt. HTML wäre z.B. strukturierter.
Als "Datenquelle" à la Excel ist PDF eigentlich ungeeignet.

Antworten