Zum Inhalt

Stapelverarbeitung

dsstools ermöglicht das schnelle Verarbeiten von mehreren ImageGeneratoren mit der Bezeichnung ImageCollection. In einem solchen Objekt können mehrere ImageGenerator-Objekte wie in einer Liste hinzugefügt werden. Damit sind mehrere Dinge möglich:

Erzeugung eines Daumenkinos

Ein Daumenkino in Form eines PDFs oder einer Powerpoint lässt sich mit einem ImageCollection-Objekt erzeugen. Dazu erst ein paar Vorarbeiten, um einen einfachen Graphen zu erhalten:

import pathlib
import dsstools as dts
import networkx as nx

g = nx.DiGraph()
g.add_nodes_from([1, 2, 3, 4, 5])
g.add_edges_from([(1, 2), (2, 3), (3, 4), (4, 5)])

pathlib ermöglicht die einfache Verwendung von Pfaden zu Ordnern und Dateien.

Wir erzeugen einen ImageGenerator mit diesem Graphen und weisen selbst gewählte Positionen zu:

image_generator = ImageGenerator(graph)
positions = {
    1: [-0.64773329, -0.61381879],
    2: [-0.08689388, -0.64267512],
    3: [0.11388331, -0.15139483],
    4: [0.13119441, 0.40788873],
    5: [0.48954945, 1.0],
}
image_generator.nodes.set_positions(positions)

Wir erzeugen einen ImageCollection mit einem ImageGenerator und fügen einen weiteren IG hinzu.

image_stack = dsstools.ImageCollection([image_generator])
image_stack.append(image_generator)

Jetzt können wir mit dem Objekt image_stack zeichnen, in diesem Fall eine Powerpoint-Präsentation:

path = pathlib.Path("meinePräsentation.pptx")
image_stack.create_flipbook(path)

Um ein PDF mit allen ImageGeneratoren zu zeichnen, müsste man das so schreiben :

path = pathlib.Path("meinPDF.pdf")
image_stack.create_flipbook(path)

Hinweis

Beachte die unterschiedliche Endung der Datei! Daran erkennt dsstools, ob ein PDF oder eine PPTX exportiert werden soll.