Chip88
Anmeldungsdatum: 16. Juni 2008
Beiträge: 563
|
Guten Abend, zusammen! Ich versuche gerade ein Service Menu umzuprogrammieren.
Konkret geht es mir um folgende zwei Zeilen, die ja miteinander in Verbindung stehen: 1. msg_options="Optionen für die Umwandlung von \"${file_name}\" auswählen:" 2. options=$("${kdialog_bin}" --title "${msg_options_title}" --icon configure --checklist "${msg_options}" _layout "${msg_options_layout}" on _htmlmeta "${msg_options_html}" off _nopgbrk "${msg_options_no_breaks}" off --separate-output) || exit 0
options=$(echo ${options} | sed 'y/_/-/') Obwohl mir ja in dem sich öffnenden KDialog - Fenster anhand von \"${file_name}\" der Dateiname ausgegeben werden sollte, passiert an dieser Stelle nichts.
Es steht dort lediglich der Satz: Optionen für die Umwandlung von "" auswählen: An einer späteren Stelle im selben Service Menu folgt eine Ausgabe per --passivepopup, bei der tatsächlich per \"${file_name}\" der Dateiname ausgegeben wird.
Die entsprechenden beiden Codezeilen dazu lauten:
1. msg_finish_title="Konvertierung des Dokuments \"${file_name}\""
2. [ ! -f "${work_dir}/${file_name}" ] && shift && "${kdialog_bin}" --title "${msg_finish_title}" --passivepopup "${msg_file_not_found}" 5 && continue
"${pdftotext_bin}" ${password} ${options} ${range} "${work_dir}/${file_name}" "${output_file_name}" && \
"${kdialog_bin}" --title "${msg_finish_title}" --passivepopup "${msg_finish_ok}" 5 || \
"${kdialog_bin}" --title "${msg_finish_title}" --passivepopup "${msg_finish_error}" 5 Wie kann ich erreichen, dass im ersten KDialog - Fenster per \"${file_name}\" der Dateiname korrekt ausgegeben wird? Vielen Dank im Voraus für Eure Hilfe! Gute Nacht! Chipy
|
ChickenLipsRfun2eat
Anmeldungsdatum: 6. Dezember 2009
Beiträge: 12067
|
Hallo! Kannst du den Inhalt des zugehörigen desktop-files posten? Je nachdem, was da an Argumenten wie übergeben wird, kannst du diese abgreifen. Ein einfaches Beispiel findest du hier.
|
Chip88
(Themenstarter)
Anmeldungsdatum: 16. Juni 2008
Beiträge: 563
|
Danke für Deine Rückmeldung, ChickenLipsRfun2eat. In der von mir angelegten Datei mymenu_pdf.desktop steht u. a. folgendes:
[Desktop Entry]
Type=Service
ServiceTypes=KonqPopupMenu/Plugin
MimeType=application/pdf;
X-KDE-Priority=TopLevel
InitialPreference=2
Actions=_SEPARATOR_;extract_all_images;extract_pages;txtallpages;txtselectpages;_SEPARATOR_;
[Desktop Action txtallpages]
Icon=text-plain
Name[de]=in Text umwandeln (alle Seiten)
Exec=pdftotext-kdialog allpages %f
[Desktop Action txtselectpages]
Icon=text-plain
Name[de]=in Text umwandeln (von bestimmten Seiten)
Exec=pdftotext-kdialog selectpages %f Der dazugehörige komplette Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165 | if [ ${#} -eq 0 ] || [ "${1}" = "-h" ] || [ "${1}" = "--help" ]; then
echo
echo "USE:\t\t${0##*/} pages files"
echo
echo "pages:\t\tallpages, selectpages"
echo "files:\t\tfile1 file2 ..."
echo
echo "example:\t${0##*/} allpages /home/user/file1.pdf /home/user/file2.pdf"
echo
exit 0
fi
action="${1}"
shift
#### languages strings messages #################
# Syntax for strings name is: msg_[$action]_$window_[$section]
# For languages as sr@Latn use srLatn
load_language_de () {
msg_alert_gs_not_found_title="Komponente wurde nicht gefunden"
msg_alert_gs_not_found_text="Die gs Software wurde nicht gefunden! Bitte installieren Sie Ghostscript."
msg_alert_pdftotext_not_found_title="Komponente wurde nicht gefunden"
msg_alert_pdftotext_not_found_text="Die pdftotext Software wurde nicht gefunden! Bitte installieren Sie pdftotext."
msg_insert_password_title="Passwort eingeben"
msg_insert_password_usr="Bitte das Benutzerpasswort für \"${file_name}\" eingeben:"
msg_insert_password_own="Bitte das Masterpasswort für \"${file_name}\" eingeben:"
msg_input_pages_range_title="Seitenbereich eingeben"
msg_input_pages_range="Beachte: Das Schlüsselwort \"end\" kann für die letzte Seite benutzt werden, anstatt deren Seitenzahl anzugeben. Bitte Seitenbereich von \"${file_name}\" angeben, der umgewandelt werden soll:"
msg_options_title="Eigenschaften"
msg_options="Optionen für die Umwandlung von \"${file_name}\" auswählen:"
msg_options_layout="urprüngliches Seitenlayout beibehalten"
msg_options_html="eine einfache HTML-Datei erzeugen"
msg_options_no_breaks="keine Seitenumbrüche erstellen (alles auf einer Seite)"
msg_alert_overwrite_title="Alles überschreiben?"
msg_alert_overwrite_text="Eine oder mehrere Zieldateien existieren! Alles überschreiben?"
msg_save_file_title="Dokument speichern"
msg_finish_title="Konvertierung des Dokuments \"${file_name}\""
msg_finish_ok="Fertig."
msg_finish_error="Ein Fehler ist aufgetreten."
msg_file_not_found="Datei nicht gefunden."
}
load_language () {
## Load localized strings AFTER english strings
## - if localized strings not found use english for default
## - if localized strings are incomplete use english only fot missing strings :-)
load_language_de && [ "${lang}" != "en" ] && load_language_${lang}
}
lang=${LANGUAGE%%:*}
type load_language_${lang} > /dev/null || lang='en'
load_language
################################################
kdialog_bin=$(which kdialog)
[ -z "${kdialog_bin}" ] && echo "kdialog not found!" && exit 1
gs_bin=$(which gs)
[ -z "${gs_bin}" ] && "${kdialog_bin}" --title "${msg_alert_gs_not_found_title}" --icon configure --error "${msg_alert_gs_not_found_text}" && exit 2
pdftotext_bin=$(which pdftotext)
[ -z "${pdftotext_bin}" ] && "${kdialog_bin}" --title "${msg_alert_pdftotext_not_found_title}" --icon configure --error "${msg_alert_pdftotext_not_found_text}" && exit 2
################################################
checkIfProtected () {
output=$("${gs_bin}" -dBATCH -sNODISPLAY "${1}" 2>&1)
gsexit=$?
if [ "$gsexit" = "0" ]; then
is_protected=0;
else
found=$(echo "$output" | grep -o "This file requires a password")
if [ -n "$found" ]; then
is_protected=1;
else
"${kdialog_bin}" --title "${msg_finish_title}" --passivepopup "${msg_finish_error}" 5
exit $gsexit
fi
fi
}
selectpages () {
checkIfProtected $1
if [ ${is_protected} = 1 ]; then
password=$("${kdialog_bin}" --title "${msg_insert_password_title}" --password "${msg_insert_password_usr}") || exit 0
password=$(echo ${password} |grep '^.' |sed 's/^/-upw /')
if [ -z "${password}" ]; then
password=$("${kdialog_bin}" --title "${msg_insert_password_title}" --password "${msg_insert_password_own}") || exit 0
password=$(echo ${password} |grep '^.' |sed 's/^/-opw /')
fi
[ -z "${password}" ] && password=''
fi
if [ -z "${range}" ]; then
range=$("${kdialog_bin}" --title "${msg_input_pages_range_title}" --icon edit-copy --inputbox "${msg_input_pages_range}" "1-end") || exit 0
range=$(echo "${range}" | sed 's/[[:blank:]]*//g' | sed 's/-end//' | sed 's/\(^[0-9][0-9]*\)/-f \1/' | sed 's/\(^-f [0-9][0-9]*\)-\([0-9][0-9]*\)/\1 -l \2/'| sed 's/^-\([0-9][0-9]*\)/-l \1/')
else
range=''
fi
options=$("${kdialog_bin}" --title "${msg_options_title}" --icon configure --checklist "${msg_options}" _layout "${msg_options_layout}" on _htmlmeta "${msg_options_html}" off _nopgbrk "${msg_options_no_breaks}" off --separate-output) || exit 0
options=$(echo ${options} | sed 'y/_/-/')
if [ $# -gt 1 ]; then
multi_selection="true"
else
unset multi_selection
fi
while [ $# -ne 0 ]; do
work_dir="${1%/*}"; [ ! -d "${work_dir}" ] && work_dir="$(pwd)"
file_name="${1##*/}"
base_file_name="${file_name%.*}"
## Reload language strings with current variables
load_language
output_file_name="${work_dir}/${base_file_name}.txt"
if [ -e "${output_file_name}" ]; then
if [ "$multi_selection" ]; then # if you selected multiple files
if [ ! "$overwrite_all" ]; then # if $overwrite_all is unset
"${kdialog_bin}" --title "${msg_alert_overwrite_title}" --icon document-save-all --yesnocancel "${msg_alert_overwrite_text}"
case "$?" in
0) overwrite_all="true";; # click on Yes
1) overwrite_all="false";; # click on No
2) exit 0;; # click on Cancel
esac
fi
if [ "${overwrite_all}" = "false" ]; then
output_file_name=$("${kdialog_bin}" --title "${msg_save_file_title}" --icon document-save --getsavefilename "${output_file_name}" text/plain) || exit 0
fi
else
output_file_name=$("${kdialog_bin}" --title "${msg_save_file_title}" --icon document-save --getsavefilename "${output_file_name}" text/plain) || exit 0
fi
fi
[ ! -f "${work_dir}/${file_name}" ] && shift && "${kdialog_bin}" --title "${msg_finish_title}" --passivepopup "${msg_file_not_found}" 5 && continue
"${pdftotext_bin}" ${password} ${options} ${range} "${work_dir}/${file_name}" "${output_file_name}" && \
"${kdialog_bin}" --title "${msg_finish_title}" --passivepopup "${msg_finish_ok}" 5 || \
"${kdialog_bin}" --title "${msg_finish_title}" --passivepopup "${msg_finish_error}" 5
shift
done
}
allpages () {
range='all'
selectpages "${@}"
}
#### main
"${action}" "${@}" && exit 0
|
Danke im Voraus für Deine weitere Unterstützung! Chipy
|
ChickenLipsRfun2eat
Anmeldungsdatum: 6. Dezember 2009
Beiträge: 12067
|
Hab mal den Codeblock um die Zeilennummern ergänzt. Die Variable $file_name wird innerhalb der Schleife ab Zeile 122 definiert, in Zeile 124. Falls du mehrere Dateinamen übergibst, kann sich der Inhalt dieser Variablen auch ändern. Diese ist aber innerhalb der Schleife definiert und außerhalb undefiniert - existiert da also nicht. Stichwort "Scope". Zudem wird keine Variable an die Funktion load_language übergeben. Diese kann also nur auf globale Variablen zugreifen, wenn es welche gibt. Als einfacher - ungesicherter Workaround wäre sowas möglich: | #Anfang des Scripts:
DateiName="###${2%%*/}###" # DateiName global definieren
# innerhalb der Funktion load_language_de:
msg_options="Optionen für die Umwandlung von $DateiName:"
#ergibt dann für lalelu.pdf
Optionen für die Umwandlung von ###lalelu.pdf###:
|
Du kannst die Variable DateiName ja mal an unterschiedlichen Stellen definieren und/oder an die load_language-Funktion übergeben und die Auswirkungen beobachten.
In deinem Desktop-File fehlen auch zwei Definitionen - oder sind unter Actions zu viel angegeben.
|
Chip88
(Themenstarter)
Anmeldungsdatum: 16. Juni 2008
Beiträge: 563
|
Danke für Deine Hilfe!
Das war der entscheidende Tipp! Hab den Dateinamen jetzt mal so definiert, wie Du vorgeschlagen hast:
| DateiName="${2%%*/}" # DateiName global definieren
|
Allerdings ergibt das jetzt für lalelu.pdf:
| Optionen für die Umwandlung von "/home/chipy/lalelu.pdf"
|
EDIT: Verstehe nicht so ganz, wie ich die Ausgabe nur auf den reinen Dateinamen reduzieren kann.
Um die Ausgabe nur auf den reinen Dateinamen zu reduzieren, sollte man folgendes eingeben:
| DateiName="${2##*/}" # DateiName global definieren
|
Was meinst Du hiermit: In deinem Desktop-File fehlen auch zwei Definitionen - oder sind unter Actions zu viel angegeben.
EDIT 2: Dateien, die ein Leerzeichen enthalten, können mit dem obigen Code derzeit nicht bearbeitet werden.
Wie kann ich bewirken, dass das Skript Dateien mit Leerzeichen im Namen bzw. im Pfad, d. h., wenn die Ordnerbezeichnung Leerzeichen enthält, trotzdem bearbeitet und nicht abbricht? Vielen Dank im Voraus für Deine weitere Hilfe! Chipy
|
ChickenLipsRfun2eat
Anmeldungsdatum: 6. Dezember 2009
Beiträge: 12067
|
Chip88 schrieb: Hab den Dateinamen jetzt mal so definiert, wie Du vorgeschlagen hast:
Ist keine schöne Lösung, aber solange du die Funktion nutzt wie gedacht, sollte es klappen. Eigentlich™ sollte das in den Code integriert und dann als Parameter an die Funktion übergeben werden, inklusive Behandlung bei Mehrfach-Dateinennungen.
Was meinst Du hiermit: In deinem Desktop-File fehlen auch zwei Definitionen - oder sind unter Actions zu viel angegeben.
Du kündigst 4 Aktionen an, definierst aber nur zwei: Actions: extract_all_images;extract_pages;txtallpages;txtselectpages Definiert: txtallpages, txtselectpages
Dateien, die ein Leerzeichen enthalten, können mit dem obigen Code derzeit nicht bearbeitet werden.
Wie kann ich bewirken, dass das Skript Dateien mit Leerzeichen im Namen bzw. im Pfad, d. h., wenn die Ordnerbezeichnung Leerzeichen enthält, trotzdem bearbeitet und nicht abbricht?
Grundlegend: Dateinamen mit Leerzeichen in Anführungszeichen schreiben oder mit Escape-Sequenzen kenntlich machen. Also sowas wie nm="Mein Datei Name Mit Leerzeichen"
nm=Mein\ Datei\ Name\ Mit\ Leerzeichen In deinem Fall wäre mein erster Versuch den Platzhalter %f (einzelne Datei) in der .desktop-Datei durch ein '%U' (Liste von URLS) zu ersetzen. Siehe dazu freedesktop:exec-variables 🇬🇧 Also | Exec=pdftotext-kdialog allpages '%U'
|
Achrung: ist aber ungetestet. Es kann ungewollt sein eine Dateiliste zu haben! Falls du aber mehr als nur Theorie brauchst, müsste ich selbst mal ausprobieren, wie das funktioniert - oder wir warten auf nen Shell-Spezi. Innerhalb des Scriptes wird alles als Array behandelt, da sollten die Dateinamen korrekt weiterverarbeitet werden. Als Nachschlagewerk schau dir mal die BashFAQ 🇬🇧 an (konkret zu Array hier 🇬🇧 ), dort gibt es jede Menge Probleme und Lösungen, wie u.a. auch das von dir bereits herausgefundene Parameter-Expansion 🇬🇧
|
Chip88
(Themenstarter)
Anmeldungsdatum: 16. Juni 2008
Beiträge: 563
|
Hi ChickenLipsRfun2eat,
danke für Deine erneut ausführliche Antwort. ChickenLipsRfun2eat schrieb: Du kündigst 4 Aktionen an, definierst aber nur zwei: Actions: extract_all_images;extract_pages;txtallpages;txtselectpages Definiert: txtallpages, txtselectpages
Ich hatte in meinem ersten Post nur die das vermeintliche Problem betreffenden Codezeilen angegeben.
In meinem Desktop-File finden sich natürlich die beiden anderen Actions:
1. | [Desktop Action extract_all_images]
Exec=pdfimages -png "%n" "`echo "%n" | sed s/.pdf/_ext/`"
Icon=image
Name[de]=alle Bilder extrahieren
|
und 2.
| [Desktop Action extract_pages]
Exec=which pdftk; if [ "$?" != "0" ];then kdialog --icon=ks-error --title="Extract Select Pages" --passivepopup="[Error] Please install pdftk command and try again."; exit 1; else PAGES=$(kdialog --icon=ks-pdf --title="PDF Tools" --inputbox="Enter pages number for extract (single: 1 7 12 | range: 3-12 | multi-range: 1-3 6-8 10-end)"); DBUSREF=$(kdialog --icon=ks-pdf --title="PDF Tools" --progressbar "\t\t\t\t\t\t\t" /ProgressDialog); qdbus $DBUSREF setLabelText "Extracting Select Pages: $(basename %f)"; pdftk %f cat $PAGES output "`echo %f | perl -pe 's/\\.[^.]+$//'` (extrahierte Seiten).pdf"; qdbus $DBUSREF close; kdialog --icon=ks-pdf --title="PDF Tools - Extract select pages" --passivepopup="[Finished]";fi
Icon=ks-pdf
Name[de]=ausgewählte Seiten extrahieren
|
In deinem Fall wäre mein erster Versuch den Platzhalter %f (einzelne Datei) in der .desktop-Datei durch ein '%U' (Liste von URLS) zu ersetzen.
Also | Exec=pdftotext-kdialog allpages '%U'
|
Leider hat es nicht geklappt, %f durch '%U' zu ersetzen.
Ich erhalte dann prompt eine Fehlermeldung. Hast Du vll. noch eine weitere Idee?! Vielen Dank im Voraus für Deine Unterstützung! Chipy
|
ChickenLipsRfun2eat
Anmeldungsdatum: 6. Dezember 2009
Beiträge: 12067
|
Chip88 schrieb: Ich hatte in meinem ersten Post nur die das vermeintliche Problem betreffenden Codezeilen angegeben.
Ach so. Ist auch nicht schlimm, wenn man mehr definiert - funktioniert dann nur nicht ☺ Leider hat es nicht geklappt, %f durch '%U' zu ersetzen.
Ich erhalte dann prompt eine Fehlermeldung.
Wenn du Fehlermeldungen erhälst, bitte mit angeben 😉 Aber… Hast Du vll. noch eine weitere Idee?!
…ich bastel mir für sowas mal ein Grundgerüst und gucke, wie sich das Quoting bei den Parametern genau verhält. Weiß ich so schlicht nicht und muss mir dafür ein Service-Menü basteln und ein wenig damit rumspielen ☺
|
Chip88
(Themenstarter)
Anmeldungsdatum: 16. Juni 2008
Beiträge: 563
|
ChickenLipsRfun2eat schrieb: Leider hat es nicht geklappt, %f durch '%U' zu ersetzen.
Ich erhalte dann prompt eine Fehlermeldung.
Wenn du Fehlermeldungen erhälst, bitte mit angeben 😉
Na ja, die Fehlermeldung ist das Pop Up, das ja im obigen Skript ebenfalls definiert ist.
| Konvertierung des Dokuments XYZ
Ein Fehler ist aufgetreten.
|
Übrigens: Wenn ich den Befehl
| pdftotext-kdialog allpages XYZ.pdf
|
direkt in der Konsole eingebe, funktioniert alles einwandfrei.
…ich bastel mir für sowas mal ein Grundgerüst und gucke, wie sich das Quoting bei den Parametern genau verhält. Weiß ich so schlicht nicht und muss mir dafür ein Service-Menü basteln und ein wenig damit rumspielen ☺
Vielen, vielen Dank für Deine weitere Hilfe!
|
ChickenLipsRfun2eat
Anmeldungsdatum: 6. Dezember 2009
Beiträge: 12067
|
Na, so ganz uneigennützig mache ich das ja nicht. Je nachdem, wie gut das umsetzbar ist, schweben mir auch ein paar Servicemenüs vor ☺ Habe auch nur ein steinaltes von früher, daher muss ich auch neu lernen. Bisher habe ich es noch nicht geschafft eine Dateiliste so zu übergeben, dass Dateien mit Leerzeichen irgendwie gequotet werden. Theoretisch werden %U und %F als einzelne Argumente übergeben, allerdings bekomme ich das so nicht angezeigt. Schade. Das Problem bei %f ist, dass das Script dann für jede Datei einmal aufgerufen wird, wenn man mehrere markiert, was durchaus gewollt sein kann - in dem Fall aber nicht. //edit: Kaum macht mans richtig, schon gehts ☺ 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 | # Exec-Zeile in der desktop-Datei
Exec=/path/to/script.bash Funktionsname %F
# Script:
#!/bin/bash
for input in "${@}"; do
file_name="${input##*/}" # Pfad extrahieren
base_file_name="${file_name%.*}" # Endung abschneiden
# Variable nicht leer? Dann häng ein Komma an:
[ -n "${base_file_name_list}" ] && base_file_name_list="${base_file_name_list}, "
# aktuellen Namen an die Liste anhängen
base_file_name_list="${base_file_name_list}${base_file_name}"
done
echo "Dateiliste: $base_file_name_list"
|
Funktioniert auch mit Leerzeichen in Dateinamen. Als nächstes kopiere ich mal dein Script und vergleiche. Dauert aber etwas.
|
Chip88
(Themenstarter)
Anmeldungsdatum: 16. Juni 2008
Beiträge: 563
|
ChickenLipsRfun2eat schrieb: 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 | # Exec-Zeile in der desktop-Datei
Exec=/path/to/script.bash Funktionsname %F
# Script:
#!/bin/bash
for input in "${@}"; do
file_name="${input##*/}" # Pfad extrahieren
base_file_name="${file_name%.*}" # Endung abschneiden
# Variable nicht leer? Dann häng ein Komma an:
[ -n "${base_file_name_list}" ] && base_file_name_list="${base_file_name_list}, "
# aktuellen Namen an die Liste anhängen
base_file_name_list="${base_file_name_list}${base_file_name}"
done
echo "Dateiliste: $base_file_name_list"
|
Sieht vielversprechend aus...
So wie Dir hat es mir aber auch keine Ruhe gelassen. ChickenLipsRfun2eat schrieb: //edit: Kaum macht mans richtig, schon gehts ☺
Genau so sieht's nämlich aus!
Auch ich habe noch mal recherchiert, gecodet und bin zu folgendem Ergebnis gekommen: 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 | [Desktop Entry]
Type=Service
ServiceTypes=KonqPopupMenu/Plugin
MimeType=application/pdf;
X-KDE-Priority=TopLevel
InitialPreference=2
Actions=_SEPARATOR_;pdftotxt;pdftotxt_layout;txtallpages;pdftotxt_selectpages;_SEPARATOR_;
[Desktop Action pdftotxt]
Icon=text-plain
Name[de]=in Text umwandeln (alle Seiten)
Exec=pdftotext %f
[Desktop Action pdftotxt_layout]
Icon=text-plain
Name[de]=in Text umwandeln (alle Seiten mit Layout)
Exec=pdftotext -layout %f
[Desktop Action pdftotxt_selectpages]
Icon=text-plain
Name[de]=in Text umwandeln (von bestimmten Seiten)
Exec=which pdftotext; range_f=$(kdialog --title "Seitenbereich eingeben" --icon=edit-copy --inputbox="Bitte gib die erste Seite an, die umgewandelt werden soll:"); range_l=$(kdialog --title "Seitenbereich eingeben" --icon=edit-copy --inputbox="Bitte gib die letzte Seite an, die umgewandelt werden soll:"); qdbus $DBUSREF; pdftotext %f -f $range_f -l $range_l ; qdbus $DBUSREF close; fi
|
Die Actions erfüllen voll und ganz ihren Zweck.
Vor allem funktioniert es endlich auch mit Leerzeichen - sowohl im Dateinamen als auch beim Pfad. Allerdings musste ich mir bei pdftotxt_selectpages mit einem kleinen Workaround helfen, da pdftotext für das Umwandeln eines Seitenbereichs durch zwei Variablen angegeben wird: -f und -l.
Meine Exec führt momentan zu zwei einzelnen Abfragen ($range_f & $range_l), in den jeweils Beginn und Ende des Seitenbereichs eingegeben werden müssen.
|
ChickenLipsRfun2eat
Anmeldungsdatum: 6. Dezember 2009
Beiträge: 12067
|
Chip88 schrieb: So wie Dir hat es mir aber auch keine Ruhe gelassen.
Ja. Ist manchmal so 😉 Aber jetzt ist Wochenende und da du mit deinem zufrieden bist, kann ich meins basteln. Mein Hauptanliegen war wirklich mehrere urls auf einmal übergeben zu bekommen. Ist deine ursprüngliche Frage geklärt?
|