ubuntuusers.de

Welche Programmiersprache/-Umgebung für einfache grafische Helferlein?

Status: Ungelöst | Ubuntu-Version: Ubuntu 20.04 (Focal Fossa)
Antworten |

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

Avatar von 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

1
evince file.pdf

oder

1
gio open file.pdf

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 Team-Icon

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

Avatar von 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

1
#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).

Antworten |