Seite 1 von 1
Multipage TIFF elegenat in 2 teile aufteilen
Verfasst: Dienstag 21. Mai 2024, 16:40
von drnicolas
ich suche eine elegante Möglichkeit ein Multipage-TIFF aufzuteilen.
Ich ahbe schonmal die Methode angewendet, das TIFF in je eine Datei pro Seite aufzuteilen.
ich suche nun aber etwas um das Quell-TIF in 2 Teile aufzuteilen (Seite 1-n und dann Seite n+1 bis Ende)
Das habe ich schonmal probiert und es könnte funktionieren:
Code: Alles auswählen
convert /quell.tif -delete 3--1 /tmp/test.tif
root@asteriskFAX:~# convert /quell.tif[0-2] /tmp/test1-3.tid
Der 2. Befehl packt die Seiten 1-3 (index 0-2) in eine Datei. Der ersteLÖSCHT die Seiten 4- Ende
Ist also noch nicht ganz das ws ich suche.
convert /quell.tif -delete 0-2 /tmp/test2.tif würde dann die Seiten 3-n erhalten
Gibt es da was eleganteres?
Re: Multipage TIFF elegenat in 2 teile aufteilen
Verfasst: Dienstag 21. Mai 2024, 17:49
von sparrow
Wo genau ist der Bezug zu Python?
Re: Multipage TIFF elegenat in 2 teile aufteilen
Verfasst: Dienstag 21. Mai 2024, 18:27
von __blackjack__
@drnicolas: Ist jetzt nicht so *wirklich* eine Python-Frage. Mit ``convert`` wird man wohl zwei Schritte/Aufrufe brauchen.
Re: Multipage TIFF elegenat in 2 teile aufteilen
Verfasst: Dienstag 21. Mai 2024, 18:57
von nezzcarth
Ich würde mir dafür ein simples Shellskript schreiben, das die Grafik mit 'tiffsplit' (oder convert) erst zerlegt und dann mit 'tiffcp' wieder so zusammensetzt, wie ich es brauche (über einen temporären Ordner). Alternativ kann man sich sicher auch mit Pillow oder so etwas in Python basteln.
Andere Frage: Ist es notwendig, dass das als Root läuft? Das macht man normalerweise bei solchen "Anweder-nahen" Aufgaben eigentlich eher nicht, wenn es sich nicht vermeiden lässt.
Re: Multipage TIFF elegenat in 2 teile aufteilen
Verfasst: Dienstag 21. Mai 2024, 19:30
von __blackjack__
@nezzcarth: ``convert`` muss das nicht in Einzelbilder zerlegen, da kommt man also ohne temporäre Dateien aus.
Re: Multipage TIFF elegenat in 2 teile aufteilen
Verfasst: Dienstag 21. Mai 2024, 21:23
von DeaD_EyE
Pillow [PIL nachfolger] unterstützt auch TIFF:
https://pillow.readthedocs.io/en/stable ... .html#tiff
Man sollte Abhängigkeiten des Betriebssystems vermeiden oder gibt es
convert auch unter Mac und Windows?
So hat man nur die Python-Abhängigkeit zu PIL.
Re: Multipage TIFF elegenat in 2 teile aufteilen
Verfasst: Donnerstag 23. Mai 2024, 06:31
von drnicolas
In der Tat ist der Bezug zu Python nicht deutlich geworden.
Ich hätte es besser so formuliert:
"Gibt es eine super-tolle Python-Library, die für mich ein Multi-Page in 2 Dateien aufteilt; Seite 1-n in Datei1 speichert und Seite (n+1) bis Ende in Datei 2.
Ich habe mit convert probiert und bin noch nicht ganz happy. Ich finde immer nur Lösungen, die aus dem TIFF n-Dateien erzeugen, jeweils einzelne Seite
Re: Multipage TIFF elegenat in 2 teile aufteilen
Verfasst: Donnerstag 23. Mai 2024, 12:31
von __blackjack__
@drnicolas: DeaD_EyE hat doch auf Pillow hingewiesen. Das wird damit eine Funktion mit ein paar Zeilen werden. Aber überschaubar.
Ansonsten könnte man sich auch libtiff und das `ctypes`-Modul anschauen und es auf der Ebene selbst schreiben. Mehr Kontrolle, aber auch mehr Aufwand.
Re: Multipage TIFF elegenat in 2 teile aufteilen
Verfasst: Freitag 24. Mai 2024, 14:48
von drnicolas
Das werde ich am WoE mal ausprobieren
Re: Multipage TIFF elegenat in 2 teile aufteilen
Verfasst: Freitag 24. Mai 2024, 15:42
von nezzcarth
TIFF ist halt ein relativ komplexes Format. Und wenn man sich etwas selbst programmiert, kommt man – auch mit Pillow, das ich ja auch genannt hatte – nicht darum herum, sich ein Stück weit mit dieser Komplexität auseinander zu setzen, da man zumindest ein bisschen verstehen muss, wie TIFFs aufgebaut sind. Die genannten Kommandozeilen-Tools, sowohl die aus ImageMagick (convert) als auch aus libtiff (tiffsplit/tiffcp), nehmen das einem weitestgehend ab.