staging.inyokaproject.org

Servicemenü: Befehle verbinden?

Status: Gelöst | Ubuntu-Version: Kubuntu 18.04 (Bionic Beaver)
Antworten |

Chip88

Anmeldungsdatum:
16. Juni 2008

Beiträge: 568

Hey zusammen,

ich würde gern ein klitzekleines ServiceMenü programmieren, mit dem ich eine PDF zunächst drehen & die so erstellte Datei auf einem Blatt anordnen kann.

Einzeln führe ich hierfür folgende Schritte aus:

1. mit der urspünglichen Datei:

pdftk-kdialog left %f

2. mit der soeben erstellen neuen Datei:

pdfnup --nup 1x2 --suffix '1x2' %f

Wie kann ich diese beiden Befehle so miteinander verbinden, dass ich mit der neu erstellten Datei weiterarbeiten kann?

Irgendwie steh ich grad extrem auf dem Schlauch...

Vielen Dank im Voraus!

Chipy

trollsportverein

Avatar von trollsportverein

Anmeldungsdatum:
21. Oktober 2010

Beiträge: 5232

Was kommt den als Namen der Datei raus, wenn der erste Teil durchgelaufen ist? Angenommen, die PDF-Datei würde vor Beginn der Prozedur BEISPIEL.pdf heißen.

Chip88

(Themenstarter)

Anmeldungsdatum:
16. Juni 2008

Beiträge: 568

Hi trollsportverein, danke für Deine Rückmeldung.

Wenn der erste Teil durchgelaufen ist, lautet der Name der Datei: BEISPIEL (links gedreht).pdf.

trollsportverein

Avatar von trollsportverein

Anmeldungsdatum:
21. Oktober 2010

Beiträge: 5232

Wenn "%f" zunächst "BEISPIEL.pdf" ist, braucht es um "BEISPIEL (links gedreht).pdf" zu greifen dann diesen Ausdruck:

"`echo "%f" | sed -e s/\\.[^.]*$/\\ \\(links\\ gedreht\\).pdf/I`"

Chip88

(Themenstarter)

Anmeldungsdatum:
16. Juni 2008

Beiträge: 568

trollsportverein schrieb:

Wenn "%f" zunächst "BEISPIEL.pdf" ist, braucht es um "BEISPIEL (links gedreht).pdf" zu greifen dann diesen Ausdruck:

"`echo "%f" | sed -e s/\\.[^.]*$/\\ \\(links\\ gedreht\\).pdf/I`"

Ausgezeichnet! Einfach genial!!! Das war natürlich der entscheidende Hinweis!

Habe es noch etwas perfektioniert, indem alle unnötigen Dateien per rm gelöscht werden.

Exec=pdftk-kdialog left %f && pdfnup --nup 2x1 --suffix '2x1_A5' "`echo "%f" | sed -e s/\\.[^.]*$/\\ \\(links\\ gedreht\\).pdf/I`" && rm "`echo "%f" | sed -e s/\\.[^.]*$/\\ \\(links\\ gedreht\\).pdf/I`" && pdftk-kdialog right "`echo "%f" | sed -e s/\\.[^.]*$/\\ \\(links\\ gedreht\\)_2x1_A5.pdf/I`" && rm "`echo "%f" | sed -e s/\\.[^.]*$/\\ \\(links\\ gedreht\\)_2x1_A5.pdf/I`" 

Wie kann ich es erreichen, dass die letzte Datei noch umbenannt wird? Wenn jetzt alles durchgelaufen ist, lautet der Name der Datei: BEISPIEL (links gedreht)_2x1_A5 (rechts gedreht).pdf Toll wäre es, wenn er in den ursprünglichen Dateinamen + Suffix umbenannt werden könnte: BEISPIEL_2x1.pdf

Danke für Deine weitere Unterstützung!

trollsportverein

Avatar von trollsportverein

Anmeldungsdatum:
21. Oktober 2010

Beiträge: 5232

Dies hier hinten dran hängen sollte es dann tun:

&& mv  "`echo "%f" | sed -e s/\\.[^.]*$/\\ \\(links\\ gedreht\\)_2x1_A5\\ \\(rechts\\ gedreht\\).pdf/I`" "`echo "%f" | sed -e s/\\.[^.]*$/_2x1.pdf/I`"

Chip88

(Themenstarter)

Anmeldungsdatum:
16. Juni 2008

Beiträge: 568

trollsportverein schrieb:

Dies hier hinten dran hängen sollte es dann tun:

&& mv  "`echo "%f" | sed -e s/\\.[^.]*$/\\ \\(links\\ gedreht\\)_2x1_A5\\ \\(rechts\\ gedreht\\).pdf/I`" "`echo "%f" | sed -e s/\\.[^.]*$/_2x1.pdf/I`"

Wunderbar! Danke!

So sieht es vollständig aus. Bestimmt könnte es jemand noch eleganter machen, aber aufs Ergebnis kommt's drauf an! 😛

1
2
3
4
[Desktop Action nup_2x1_A5]
Icon=page-2sides
Name[de]=umwandeln zu 2 Seiten pro Blatt (oben & unten)
Exec=pdftk-kdialog left %f && pdfnup --nup 2x1 --suffix '2x1' "`echo "%f" | sed -e s/\\.[^.]*$/\\ \\(links\\ gedreht\\).pdf/I`" && rm "`echo "%f" | sed -e s/\\.[^.]*$/\\ \\(links\\ gedreht\\).pdf/I`" && pdftk-kdialog right "`echo "%f" | sed -e s/\\.[^.]*$/\\ \\(links\\ gedreht\\)_2x1.pdf/I`" && rm "`echo "%f" | sed -e s/\\.[^.]*$/\\ \\(links\\ gedreht\\)_2x1.pdf/I`" && mv "`echo "%f" | sed -e s/\\.[^.]*$/\\ \\(links\\ gedreht\\)_2x1\\ \\(rechts\\ gedreht\\).pdf/I`" "`echo "%f" | sed -e s/\\.[^.]*$/_2x1.pdf/I`"

Arbeitsblätter zeitsparend zu erstellen macht unheimlich viel Spaß! 😎

Antworten |