Multipage TIFF elegenat in 2 teile aufteilen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
drnicolas
User
Beiträge: 92
Registriert: Sonntag 24. Juli 2016, 10:32

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?
Benutzeravatar
sparrow
User
Beiträge: 4244
Registriert: Freitag 17. April 2009, 10:28

Wo genau ist der Bezug zu Python?
Benutzeravatar
__blackjack__
User
Beiträge: 13268
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@drnicolas: Ist jetzt nicht so *wirklich* eine Python-Frage. Mit ``convert`` wird man wohl zwei Schritte/Aufrufe brauchen.
Please call it what it is: copyright infringement, not piracy. Piracy takes place in international waters, and involves one or more of theft, murder, rape and kidnapping. Making an unauthorized copy of a piece of software is not piracy, it is an infringement of a government-granted monopoly.
nezzcarth
User
Beiträge: 1650
Registriert: Samstag 16. April 2011, 12:47

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.
Benutzeravatar
__blackjack__
User
Beiträge: 13268
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@nezzcarth: ``convert`` muss das nicht in Einzelbilder zerlegen, da kommt man also ohne temporäre Dateien aus.
Please call it what it is: copyright infringement, not piracy. Piracy takes place in international waters, and involves one or more of theft, murder, rape and kidnapping. Making an unauthorized copy of a piece of software is not piracy, it is an infringement of a government-granted monopoly.
Benutzeravatar
DeaD_EyE
User
Beiträge: 1038
Registriert: Sonntag 19. September 2010, 13:45
Wohnort: Hagen
Kontaktdaten:

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.
sourceserver.info - sourceserver.info/wiki/ - ausgestorbener Support für HL2-Server
drnicolas
User
Beiträge: 92
Registriert: Sonntag 24. Juli 2016, 10:32

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
Benutzeravatar
__blackjack__
User
Beiträge: 13268
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@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.
Please call it what it is: copyright infringement, not piracy. Piracy takes place in international waters, and involves one or more of theft, murder, rape and kidnapping. Making an unauthorized copy of a piece of software is not piracy, it is an infringement of a government-granted monopoly.
drnicolas
User
Beiträge: 92
Registriert: Sonntag 24. Juli 2016, 10:32

Das werde ich am WoE mal ausprobieren
nezzcarth
User
Beiträge: 1650
Registriert: Samstag 16. April 2011, 12:47

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.
Antworten