evince GNOME viwer

Programmierung für GNOME und GTK+, GUI-Erstellung mit Glade.
TryToLearn
User
Beiträge: 39
Registriert: Freitag 6. Juni 2014, 13:44

Dienstag 10. Juni 2014, 16:00

Hi,
ich habe ein Problem mit dem evince Viwer von GNOME.
Ich öffne ein Dokument mit einem Subprocess hier der Aufruf:
process=subprocess.Popen([evince, '-l', 'Suchwort', Dokument.pdf])
So mein Problem ist nun, dass das Dokuemnt zwar geöffnet wird aber die Suche nicht direkt durchgeführt, sonder auf der ersten Seite geöffnet wird.
Sobald ich die Tastenkombination CTRL+F klicke wird die richtige Suche durchgeführt, jedoch kann ich leider kein weiteres Tool installieren um Tastatureingaben zu simulieren.
Mache ich einen Fehler im Aufruf oder gibt mir dieser Kommadozeilenoption nicht die Möglichkeit eine direkte Suche durchzuführen? :K
Vielleicht kennt sich ja jemand mit dem evince viwer aus :D

Oder es gibt die Möglichkeit den Tastaturbefehl CTRL+F an den subprocess zu schicken ohne ein weiteres Tool installieren zu müssen? :? :?:
Zuletzt geändert von TryToLearn am Dienstag 10. Juni 2014, 16:49, insgesamt 1-mal geändert.
BlackJack

Dienstag 10. Juni 2014, 16:17

@TryToLearn: Also wenn ich das mache dann wird die erste Seite angezeigt auf der das Suchwort gefunden wird. Es wird allerdings visuell nicht hervorgehoben wie bei einer Suche per Strg+F und man kann auch nicht mit den entsprechenden Tasten zu den nächsten Treffern weiter springen.
TryToLearn
User
Beiträge: 39
Registriert: Freitag 6. Juni 2014, 13:44

Dienstag 10. Juni 2014, 16:47

@BlackJack: hast du exakt meinen Aufruf genommen ??
Also bei mir wird damit das Dokument leider nur auf der Ersten Seite geöffnet hmmm :?:
BlackJack

Dienstag 10. Juni 2014, 17:16

@TryToLearn: Nein nicht exakt, ich habe beim ersten und letzten Element der Liste Zeichenketten übergeben und statt 'Suchwort' ein Wort was auch tatsächlich in dem PDF vorkommt das ich als letztes Element in der Liste angegeben habe. Und das Suchwort tauchte auch nicht auf der Startseite auf, um sicherzugehen, dass ich auch tatsächlich eine andere als die Startseite angezeigt bekomme.
TryToLearn
User
Beiträge: 39
Registriert: Freitag 6. Juni 2014, 13:44

Dienstag 10. Juni 2014, 17:30

ja so hab ich es auch gemacht nur nicht als letztes Element übergeben.
Nur dass wir uns richtig verstehen:
aufruf = 'envince'
path = '/mnt/Verzeichnis/Dokument.pdf'
process=subprocess.Popen([aufruf, '-l', path, 'Suchwort'])
meinst du so ? :D
Ich kann es heute leider nichtmehr ausprobieren :cry:
BlackJack

Dienstag 10. Juni 2014, 18:32

@TryToLearn: Nein, so natürlich nicht. Nach dem '-l' muss das Suchwort stehen.
TryToLearn
User
Beiträge: 39
Registriert: Freitag 6. Juni 2014, 13:44

Montag 30. Juni 2014, 11:13

@BlackJack: sry dass ich mich jetzt erst wieder melde aber hattle viel anderes um die Ohren :(

Also ich habe jetzt nochmal alles ausprobiert aber bei mir wird das Dokument immer auf der ersten Seite geöffnet, doch sobald ich die Suche öffne ist mein Suchwort bereits eingegeben aber die Suche wurde nicht ausgeführt...

Es wäre nett wenn du mir mal deinen gesammten Aufruf schicken könntest.

Ich halte mich eigentlich mit meinem Aufruf nur an diese http://manpages.ubuntu.com/manpages/rar ... nce.1.html Anleitung

Hier nochmal mein Aufruf:

Code: Alles auswählen

evince=r'evince'
full_path= '/mnt/Verzeichnis/Dokument.pdf'
key='Suchwort' #Das Suchwort existiert und befindet sich nicht auf der ersten Seite
process=subprocess.Popen([evince, '-f', '--find=%s'%key, full_path])
BlackJack

Montag 30. Juni 2014, 13:27

@TryToLearn: Hm, der Version die ich gerade auf meinem Laptop installiert habe scheint diese Option auch völlig egal zu sein. Das ist aber kein Python-Problem, denn auch wenn ich das Programm direkt im Terminal ausführe bekomme ich es nicht zum Suchen der Seite. Funktioniert es bei Dir denn direkt?
TryToLearn
User
Beiträge: 39
Registriert: Freitag 6. Juni 2014, 13:44

Dienstag 1. Juli 2014, 07:10

@BlackJack: Hmm ok danke das wird wohl das Problem sein. Es funktioniert direkt leider auch nicht...
Dann muss ich wohl doch ein Keybord-simulator verwenden...
mutetella
User
Beiträge: 1690
Registriert: Donnerstag 5. März 2009, 17:10
Kontaktdaten:

Dienstag 1. Juli 2014, 07:40

@TryToLearn
Falls Du nicht auf eine Anzeige des PDF in einem PDF-Viewer angewiesen bist, wäre auch zu überlegen, ob Du das PDF z. B. mit `pdftotext` aus dem Xpdf Projekt zuerst in ein Textfile konvertierst, das Du dann durchsuchen kannst. Ich habe das jetzt nicht ausprobiert, aber eventuell sind in einem so konvertiertem Textfile ja auch die Seitennummern angegeben, über die Du dann wiederum den PDF-Viewer aufrufen kannst, falls nötig...

Eher ein Hack als 'ne Lösung, aber PDF ist halt auch so 'ne Sache... :)

mutetella

EDIT: Unter Debian oder einem -derivat ist pdftotext innerhalb der `poppler-utils` enthalten...
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit ;-) )
TryToLearn
User
Beiträge: 39
Registriert: Freitag 6. Juni 2014, 13:44

Dienstag 1. Juli 2014, 08:36

@mutetella: Ja darüber habe ich mir auch schon Gedanken gemacht und auch schon einiges ausprobiert, da ich am Anfang auf die Seite springen wollte und nicht nach Schlüsselwörtern suchen, jedoch bekomme ich die Seitenzahl leider nicht zurück, zumindest nicht mithilfe der Programme die mir generell zur Verfügung stehen.
Sirius3
User
Beiträge: 7776
Registriert: Sonntag 21. Oktober 2012, 17:20

Dienstag 1. Juli 2014, 10:27

@TryToLearn: pdftotext schreibt Seitenvorschubzeichen in die Text-Datei, die man zum Zählen der Seiten benutzen kann.
TryToLearn
User
Beiträge: 39
Registriert: Freitag 6. Juni 2014, 13:44

Dienstag 1. Juli 2014, 12:05

@Sirius3: Ah ok vielen Dank, das schau ich mir an sobald ich Zeit habe.
TryToLearn
User
Beiträge: 39
Registriert: Freitag 6. Juni 2014, 13:44

Dienstag 1. Juli 2014, 13:53

@all:

Also ich habe das Problem jetzt so gelöst:
Ich habe ein Modul gefunden, dass Tastaureingabeb simuliert und leicht einzubinden ist.
Damit kann ich einfach Control + F und den Suchbegriff simulieren.

Nochmal vielen Dank an alle die mir geholfen haben
mutetella
User
Beiträge: 1690
Registriert: Donnerstag 5. März 2009, 17:10
Kontaktdaten:

Dienstag 1. Juli 2014, 14:21

@TryToLearn
Wenn Du jetzt noch kurz den Namen/Link des Moduls angibst, wäre damit vielleicht künftigen Threadlesern geholfen... Wobei ich diesen "Tastendruck-Simulations-Lösungen" immer ein wenig skeptisch gegenübersteh'. Da halte ich den Ansatz von Sirius3, über die Seitenvorschubzeichen die Seitenzahl zu ermitteln, für weniger fehleranfällig.

mutetella
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit ;-) )
Antworten