Konvertieren eines Word-Dokuments in ein Bild mit Python
Tags: word, image, converter, python
Published: 2023-09-15 08:01:58

Ein Word-Dokument ist ein vielseitiges Format zur Bearbeitung von Text, Bildern, Tabellen und anderen Inhalten. Allerdings ist es nicht immer praktisch, ein Word-Dokument anzuzeigen, da dies bestimmte Anforderungen an das Anzeigegerät und das System stellt. Um dieses Problem zu lösen, ist eine gängige Methode, ein Word-Dokument in ein Bildformat umzuwandeln. Dadurch bleiben der Inhalt und das Layout des Dokuments erhalten, und eine konsistente Anzeige auf verschiedenen Plattformen und Geräten wird gewährleistet. In diesem Artikel wird beschrieben, wie man **ein Word-Dokument in ein Bild umwandelt**, um es anzeigen und teilen zu können.
Für diese Methode verwenden wir die [Spire.Doc for Python](https://www.e-iceblue.com/Introduce/doc-for-python.html)-Bibliothek.

Die Spire.Doc for Python-Bibliothek kann von der [offiziellen Website](https://www.e-iceblue.com/Download/Spire-Doc-Python.html) heruntergeladen oder über pip installiert werden:
```PowerShell
pip install Spire.Doc
```

## Konvertieren jeder Seite eines Word-Dokuments in ein PNG-Bild
Wir können die Methode **Document.SaveImageToStreams(ImageType.Bitmap)** verwenden, um jede Seite des Dokuments in ein PNG-Bild umzuwandeln und eine Liste zurückzugeben. Wir haben die Möglichkeit, entweder die Bilder in der Liste als PNG-Dateien zu speichern oder alle Bilder zu speichern.
Es werden Formate wie Doc, Docx, Docm, Dot, Dotx, Dot, Odt unterstützt. Weitere Informationen zur Verwendung der Klasse FileFormat finden Sie beim Laden des Dokuments mit der Methode **Document.LoadFromFile(fileName: str, fileFormat: FileFormat, password: str)**.
Hier sind die Schritte:

1. Erstellen Sie ein Objekt der Klasse **Document**.
2. Verwenden Sie die Methode **Document.LoadFromFile()**, um das Word-Dokument zu laden.
3. Verwenden Sie die Methode **Document.SaveImageToStreams(ImageType.Bitmap)**, um das Dokument in PNG-Bilder umzuwandeln und eine Liste zurückzugeben.
4. Speichern Sie die Bilder in der Liste als PNG-Dateien.

**Python**
```Python
from spire.doc import *
from spire.doc.common import *

inputFile = "G:/Dokumente/Beispiel.docx"

# Erstellen eines Objekts der Klasse Document
doc = Document()

# Laden des Word-Dokuments
doc.LoadFromFile(inputFile)

# Konvertieren jeder Seite des Dokuments in eine Bitmap und eine Liste zurückgeben
imageStream = doc.SaveImageToStreams(ImageType.Metafile)

# Die Bitmaps in der Liste in Dateien speichern
for i, image in enumerate(imageStream):
    outputFile = f"output/Bilder/Bild_{i}.png"
    with open(outputFile, "wb") as f:
        f.write(image.ToArray())

doc.Close()
```

**Dokument**

![Word in Bilder umwandeln](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/w8pf1k62jqh9wdikor5c.png)

**Ergebnis der Konvertierung**

![Word in PNG umwandeln](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7uocnclki6m1pbnbxtas.png)

## Konvertieren eines Word-Dokuments in ein JPG-Bild
Die Methode **Document.SaveImageToStreams** kann Bilder nicht direkt im JPEG-Format speichern. Um die Bilder in der Liste als JPEG-Dateien zu speichern, können wir die Pillow-Bibliothek verwenden, um die Bitmaps in der Liste in das JPEG-Format umzuwandeln und in eine Datei zu speichern.
```PowerShell
pip install Pillow
```

Hier sind die Schritte:

1. Erstellen Sie ein Objekt der Klasse **Document**.
2. Verwenden Sie die Methode **Document.LoadFromFile()**, um das Word-Dokument zu laden.
3. Verwenden Sie die Methode **Document.SaveImageToStreams(ImageType.Bitmap)**, um das Dokument in PNG-Bilder umzuwandeln und eine Liste zurückzugeben.
4. Konvertieren Sie die Bitmaps in der Liste in das JPEG-Format und speichern Sie sie in einer Datei.

**Python**
```Python
from spire.doc import *
from spire.doc.common import *
from PIL import Image
import io

inputFile = "G:/Dokumente/Beispiel.docx"

# Erstellen eines Objekts der Klasse Document
doc = Document()

# Laden des Word-Dokuments
doc.LoadFromFile(inputFile)

# Konvertieren jeder Seite des Dokuments in eine Bitmap und als PNG speichern
imageStream = doc.SaveImageToStreams(ImageType.Metafile)

# Verwenden von Pillow, um die PNG-Bilddaten in das JPEG-Format umzuwandeln und zu speichern
for i, image in enumerate(imageStream):
    img = Image.open(io.BytesIO(image.ToArray()))
    jpg_file = f"output/Bilder/Bild_{i}.jpg"
    img.convert("RGB").save(jpg_file, "JPEG")

doc.Close()
```

**Ergebnis der Konvertierung**

![Word in JPG umwandeln](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8wyhovspqatxx1co1fdx.png)

Es ist auch möglich, andere Formate festzulegen, während Sie speichern.

## Konvertieren eines Word-Dokuments in ein langes Bild
Nachdem Sie das Dokument mit Spire.Doc for Python in Bilder konvertiert haben, können Sie die Bilddaten mit Pillow zu einem langen Bild kombinieren. Hier sind die Schritte:

1. Erstellen Sie ein Objekt der Klasse **Document**.
2. Verwenden Sie die Methode **Document.LoadFromFile()**, um das Word-Dokument zu laden.
3. Verwenden Sie die Methode **Document.SaveImageToStreams(ImageType.Bitmap)**, um das Dokument in PNG-Bilder umzuwandeln und eine Liste zurückzugeben.
4. Kombinieren Sie die Bilddaten zu einem langen Bild.
5. Speichern Sie das kombinierte Bild.

**Python**
```Python
from spire.doc import *
from spire.doc.common import *
from PIL import Image
import io

inputFile = "G:/Dokumente/Beispiel.docx"

# Erstellen eines Objekts der Klasse Document
doc = Document()

# Laden des Word-Dokuments
doc.LoadFromFile(inputFile)

# Konvertieren jeder Seite des Dokuments in eine Bitmap und eine Liste zurückgeben
imageStream = doc.SaveImageToStreams(ImageType.Metafile)

# Verwenden von Pillow, um die Bilddaten zu einer langen Bild zusammenzufügen
images = []
for image in imageStream:
    img = Image.open(io.BytesIO(image.ToArray()))
    images.append(img)

combined_image = Image.new("RGB", (images[0].width, sum(img.height for img in images)))
y_offset = 0
for img in images:
    combined_image.paste(img, (0, y_offset))
    y_offset += img.height

# Speichern des kombinierten Bildes als eine lange Bild
combined_image.save("output/Bilder/kombiniertes_Bild.jpg", "JPEG")

doc.Close()
```

**Ergebnis der Konvertierung**

![Word in ein langes Bild umwandeln](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/miaesa47cndb195xrosm.png)

In diesem Artikel wurde beschrieben, wie man mit Spire.Doc for Python ein Word-Dokument in ein Bild umwandelt. Spire.Doc for Python bietet auch viele andere Funktionen. Weitere Informationen finden Sie im [Spire.Doc for Python-Tutorial](https://www.e-iceblue.com/Tutorials/Python/Spire.Doc-for-Python/Program-Guide/Spire.Doc-for-Python-Program-Guide-Content.html). Wenn Sie Fragen haben, können Sie auch im [Spire.Doc-Forum](https://www.e-iceblue.com/forum/spire-doc-f6.html) nach Antworten suchen.