banause
Anmeldungsdatum: 17. November 2009
Beiträge: 301
|
Hallo Forum, ich möchte mir ein paar wiederkehrende Arbeitsschritte erleichtern, indem ich mir ein grafisches Helferlein programmiere (Auswahllisten, Radiobuttons, Eingabefelder etc.). Mein Problem: ich finde keine geeignete Umgebung. Eine frühere Empfehlung war Gambas, leider funktionieren nicht alle angebotenen Komponenten, sodass ich wieder bei Null stehe. Mein Netzwerkscanner schiebt unseren gesamten Posteingang als PDF-Dateien mit OCR-Layer in ein definiertes Verzeichnis. Dort müssen die Dateien gesichtet, geeignet umbenannt und dann in entsprechende Ablageverzeichnisse verschoben werden.
Das mit Nemo oder Files zu machen ist extrem nervig. Mir würde eine Umgebung wie Gambas genügen, nur müsste ein funktionierender PDF-Viewer dabei sein. Hättet Ihr vielleicht einen Tipp für mich. Danke und Gruß, banause
|
juribel
Anmeldungsdatum: 20. April 2014
Beiträge: 1253
|
Für Skriptsprachen ist zenity bzw. dessen erweiterter Form yad hervorragend geeignet. Damit sind kleine grafische Anwendungen schnell programmiert. Ein schönes Tutorial gibt es hier: http://smokey01.com/yad/.
|
banause
(Themenstarter)
Anmeldungsdatum: 17. November 2009
Beiträge: 301
|
juribel schrieb: Damit sind kleine grafische Anwendungen schnell programmiert.
Stimmt! Nur PDFs kann es nicht anzeigen.
|
voxxell99
Anmeldungsdatum: 23. September 2009
Beiträge: 3931
Wohnort: da, wo andere Urlaub machen. :)
|
Ist ja auch nicht die Aufgabe so eines Tools, das stellt nur die GUI bereit. Zur PDF Anzeige musst du geeignete CLI Programme aufrufen.
|
banause
(Themenstarter)
Anmeldungsdatum: 17. November 2009
Beiträge: 301
|
voxxell99 schrieb: Zur PDF Anzeige musst du geeignete CLI Programme aufrufen.
Im Terminal kann ich mit
oder mir eine Datei anzeigen lassen. Die Anzeige ist die, die man vom Doppelklick auf die Datei in Nemo/Nautilus her kennt. Ist es das, was Du meinst? Wenn nicht, was wären geeignete CLI-Programme? Ich kenne keinen Weg, eine PDF-Datei innerhalb eines selbstgestrickten GUIs anzuzeigen. Das wäre aber genau das, was ich brauche.
|
juribel
Anmeldungsdatum: 20. April 2014
Beiträge: 1253
|
In einem Skript (Shell, Perl, Python oder was immer) kannst du jedes grafisches Programm unter seinem Namen aufrufen. Wie das geht, hast du doch mit evince gerade selber beschrieben. Was du ins Terminal tippst, kannst du auch in ein Skript schreiben. Dafür sind Skripte ja da.
|
banause
(Themenstarter)
Anmeldungsdatum: 17. November 2009
Beiträge: 301
|
Ich möchte gerne so etwas programmieren: Die graue Fläche soll den PDF-Viewer darstellen.
- Bilder
|
sh4711
Anmeldungsdatum: 13. Februar 2011
Beiträge: 1181
|
banause schrieb: ...
Die graue Fläche soll den PDF-Viewer darstellen.
Ich gehe davon aus, dass alles andere funktioniert und dir nur die passende Formular-Komponente für die Lieblingsprogrammiersprache deiner Wahl fehlt. Dann versuche nicht das PDF anzuzeigen sondern konvertiere die PDF (z.B. poppler-utils (Abschnitt „pdftoppm“)), nach Auswahl in der Listbox, im tmp-Verzeichnis um in eine Bilddatei, für welche du eine passende Formular-Komponente hast und zeige das Bild an. banause schrieb: ...
Mein Problem: ich finde keine geeignete Umgebung. Eine frühere Empfehlung war Gambas, leider funktionieren nicht alle angebotenen Komponenten, sodass ich wieder bei Null stehe. ...
Mir würde eine Umgebung wie Gambas genügen, nur müsste ein funktionierender PDF-Viewer dabei sein.
Nutze die Sprache die du am besten kannst und konvertiere die PDF wie oben beschrieben. ... Hättet Ihr vielleicht einen Tipp für mich.
Eine Tipp für eine Programmiersprache ? ... klar ... nutze Lazarus ... und konvertiere die PDF wie oben beschrieben und zeige das Bild an 😢
|
sh4711
Anmeldungsdatum: 13. Februar 2011
Beiträge: 1181
|
Wenn in deiner Lieblingsprogrammiersprache eine Browser-Formular-Komponente existiert könntest du auch diese ausprobieren, da die meisten Browser, auf welche da zurückgegriffen werden, auch PDF-Dateien anzeigen können.
|
coolwalda
Anmeldungsdatum: 24. Januar 2017
Beiträge: 110
|
Mit pdftotext aus den poppler-utils lässt sich der pdf-Text sogar in der "schlichten" Terminal-Umgebung anzeigen. Für die Zuordnungsentscheidung könnte das ausreichend sein ...
|
shiro
Supporter
Anmeldungsdatum: 20. Juli 2020
Beiträge: 1276
|
Ich kenne keinen Weg, eine PDF-Datei innerhalb eines selbstgestrickten GUIs anzuzeigen. Das wäre aber genau das, was ich brauche.
Warum? Ja, über "yad" gibt es auch die "--html" Option. Man könnte über den "<object> Tag oder WASM den "mupdf" und ein wenig javascript das Anzeigen der pdf Datei in einer Webseite von "yad" realisieren. Ich glaube aber, dass Canonical das "yad" kit ohne webkit für html compiliert hat. Dann müsstest du auch noch das "yad" kit aus dem git für dich erzeugen. Also: Es geht schon, wenn du das unbedingt brauchst. Wenn du EINE Seite haben willst, wie in deinem Beispiel "Download Bildschirmfoto_vom_2023-09-21_12-50-32.png", dann ist die aus meiner Sicht einfachste Lösung, eine Webseite zu erstellen, die so aussieht (mit Pushbuttons und File-Selectorbox), wie du willst. Die ausgewählte pdf Datei stellst du mit einem
<object data="datei.pdf" width="600" height="600"></object>
dar und kannst darin auch agieren. Was du allerdings brauchst, ist ein kleiner lokaler "WebServer", der auf die Events deiner Buttons in der Form reagiert, dass Aktionen auf deinem lokalen Filesystem ausgeführt werden (pdf Datei moven, löschen usw). Dies kann man mit einem kleinen gawk Script realisieren (habe ich schon mehrfach gepostet, wie man das macht). Aber wozu deine Forderung? Du kannst doch die pdf Files, die im definierten Verzeichnis liegen durch ein Script lesen, den von dir präferierten pdf Viewer starten und über "yad" dir ein paar Buttons anzeigen lassen. Wird ein Button gedrückt, so wird die gewünschte Funktion (kopieren, löschen usw) durch das Script ausgeführt. Die gemerkte pid des pdf Viewers nutzt du, um die pdf Anzeige zu killen. Fertig.
|
juribel
Anmeldungsdatum: 20. April 2014
Beiträge: 1253
|
Das ist aber jetzt eine andere Nummer als ein "kleines grafisches Helferlein" ☺
|
user_unknown
Anmeldungsdatum: 10. August 2005
Beiträge: 17625
Wohnort: Berlin
|
Beim MidnightCommander ist ein PDF-Viewer dabei, aber keine Radiobuttons. Ein programmierbares Menü ist aber dabei, und mit der Einfg.-Taste kann man Dateien gezielt markieren - vielleicht hilft das ja weiter.
|
banause
(Themenstarter)
Anmeldungsdatum: 17. November 2009
Beiträge: 301
|
Danke für die vielen neuen Vorschläge! sh4711 schrieb: versuche nicht das PDF anzuzeigen sondern konvertiere die PDF (z.B. poppler-utils (Abschnitt „pdftoppm“)), nach Auswahl in der Listbox, im tmp-Verzeichnis um in eine Bilddatei, für welche du eine passende Formular-Komponente hast und zeige das Bild an.
Clevere Idee! Ist zwar nicht so elegant, wie eine direkte PDF-Anzeige, aber es hilft mir weiter. Schön ist auch, dass mehrseitige PDFs gleich in Einzelseiten zerlegt, ich hätte erwartet, dass ich das erst noch machen muss (convert). coolwalda schrieb: Mit pdftotext aus den poppler-utils lässt sich der pdf-Text sogar in der "schlichten" Terminal-Umgebung anzeigen. Für die Zuordnungsentscheidung könnte das ausreichend sein ...
Zunächst genügt es, wenn ich die erste Seite sehe. Aber mit einer Auswertung des OCR-Layers (einfache Suche nach bestimmten Schlüsselbegriffen) kann ich versuchen, eine automatische Zuordnung und Benennung zur Bestätigung oder Korrektur durch den Anwender anzubieten. shiro schrieb: Ich kenne keinen Weg, eine PDF-Datei innerhalb eines selbstgestrickten GUIs anzuzeigen. Das wäre aber genau das, was ich brauche.
Warum?
Na, weil ich auch noch keinen Weg gefunden habe, Wissenslücken vorausschauend zu schließen. Interessantes Thema! Aber dafür sollten wir besser einen eigenen Thread aufmachen. 😉 Danke nochmal, es geht vorwärts. Gruß, der banause
|
verdooft
Anmeldungsdatum: 15. September 2012
Beiträge: 4436
|
PDFs anschauen geht z.B. mit poppler-qt5.h aus dem Paket libpoppler-qt5-dev in C++. Hab mir einen PDF-Viewer per Phind basteln lassen. Die Includedatei wurde zwar erst nicht gefunden, nach
| #include "/usr/include/poppler/qt5/poppler-qt5.h"
|
in der cpp-Datei und LIBS += -lpoppler-qt5 in der qmake-pro Datei, lief es aber. Ich musste in der pro-Datei noch das ergänzen, hatte Phind wohl vergessen:
QT += core gui widgets Hast du den Anspruch, PDF-Dateien in deinen Anwendungen direkt darzustellen, kannst du im Web ja mal rechechiern (direkt bezogen auf deine gewählte Programmiersprache).
|