Python: Erstellen, lesen oder aktualisieren Sie ein Word-Dokument

2023-12-18 03:10:42

Das Erstellen, Lesen und Aktualisieren von Word-Dokumenten ist für viele Entwickler, die mit der Programmiersprache Python arbeiten, ein häufiger Bedarf. Ganz gleich, ob es darum geht, Berichte zu erstellen, vorhandene Dokumente zu bearbeiten oder Dokumenterstellungsprozesse zu automatisieren: Die Möglichkeit, programmgesteuert mit Word-Dokumenten zu arbeiten, kann die Produktivität und Effizienz erheblich steigern. In diesem Artikel erfahren Sie, wie das geht Erstellen, lesen oder aktualisieren Sie Word-Dokumente in Python mit Spire.Doc for Python.

Installieren Sie Spire.Doc for Python

Dieses Szenario erfordert Spire.Doc for Python und plum-dispatch v1.7.4. Sie können mit dem folgenden pip-Befehl einfach in Ihrem VS-Code installiert werden.

pip install Spire.Doc

Wenn Sie sich bei der Installation nicht sicher sind, lesen Sie bitte dieses Tutorial: So installieren Sie Spire.Doc for Python in VS Code

Erstellen Sie ein Word-Dokument von Grund auf in Python

Spire.Doc for Python bietet die Document-Klasse zur Darstellung eines Word-Dokumentmodells. Ein Dokument muss mindestens einen Abschnitt enthalten (dargestellt durch die Section-Klasse) und jeder Abschnitt ist ein Container für verschiedene Elemente wie Absätze, Tabellen, Diagramme und Bilder. Dieses Beispiel zeigt Ihnen, wie Sie mit Spire.Doc für Python ein einfaches Word-Dokument mit mehreren Absätzen erstellen.

  • Erstellen Sie ein Document-Objekt.
  • Fügen Sie einen Abschnitt mit der Methode Document.AddSection() hinzu.
  • Legen Sie die Seitenränder über die Section.PageSetUp.Margins-Eigenschaft fest.
  • Fügen Sie dem Abschnitt mit der Methode Section.AddParagraph() mehrere Absätze hinzu.
  • Fügen Sie mit der Methode Paragraph.AppendText() Text zu den Absätzen hinzu.
  • Erstellen Sie ein ParagraphStyle-Objekt und wenden Sie es mit der Paragraph.ApplyStyle()-Methode auf einen bestimmten Absatz an.
  • Speichern Sie das Dokument mit der Methode Document.SaveToFile() in einer Word-Datei.
  • Python
from spire.doc import *
    from spire.doc.common import *
    
    # Create a Document object
    doc = Document()
    
    # Add a section
    section = doc.AddSection()
    
    # Set the page margins
    section.PageSetup.Margins.All = 40
    
    # Add a title
    titleParagraph = section.AddParagraph()
    titleParagraph.AppendText("Introduction of Spire.Doc for Python")
    
    # Add two paragraphs
    bodyParagraph_1 = section.AddParagraph()
    bodyParagraph_1.AppendText("Spire.Doc for Python is a professional Python library designed for developers to " +
                               "create, read, write, convert, compare and print Word documents in any Python application " +
                               "with fast and high-quality performance.")
    
    bodyParagraph_2 = section.AddParagraph()
    bodyParagraph_2.AppendText("As an independent Word Python API, Spire.Doc for Python doesn't need Microsoft Word to " +
                               "be installed on neither the development nor target systems. However, it can incorporate Microsoft Word " +
                               "document creation capabilities into any developers' Python applications.")
    
    # Apply heading1 to the title
    titleParagraph.ApplyStyle(BuiltinStyle.Heading1)
    
    # Create a style for the paragraphs
    style2 = ParagraphStyle(doc)
    style2.Name = "paraStyle"
    style2.CharacterFormat.FontName = "Arial"
    style2.CharacterFormat.FontSize = 13
    doc.Styles.Add(style2)
    bodyParagraph_1.ApplyStyle("paraStyle")
    bodyParagraph_2.ApplyStyle("paraStyle")
    
    # Set the horizontal alignment of the paragraphs
    titleParagraph.Format.HorizontalAlignment = HorizontalAlignment.Center
    bodyParagraph_1.Format.HorizontalAlignment = HorizontalAlignment.Left
    bodyParagraph_2.Format.HorizontalAlignment = HorizontalAlignment.Left
    
    # Set the after spacing
    titleParagraph.Format.AfterSpacing = 10
    bodyParagraph_1.Format.AfterSpacing = 10
    
    # Save to file
    doc.SaveToFile("output/WordDocument.docx", FileFormat.Docx2019)

Python: Create, Read, or Update a Word Document

Lesen Sie den Text eines Word-Dokuments in Python

Um den Text eines gesamten Word-Dokuments abzurufen, können Sie einfach die Methode Document.GetText() verwenden. Im Folgenden finden Sie die detaillierten Schritte.

  • Erstellen Sie ein Document-Objekt.
  • Laden Sie ein Word-Dokument mit der Methode Document.LoadFromFile().
  • Rufen Sie mit der Methode Document.GetText() Text aus dem gesamten Dokument ab..
  • Python
from spire.doc import *
    from spire.doc.common import *
    
    # Create a Document object
    doc = Document()
    
    # Load a Word file
    doc.LoadFromFile("C:\\Users\\Administrator\\Desktop\\WordDocument.docx")
    
    # Get text from the entire document
    text = doc.GetText()
    
    # Print text
    print(text)

Python: Create, Read, or Update a Word Document

Aktualisieren Sie ein Word-Dokument in Python

Um auf einen bestimmten Absatz zuzugreifen, können Sie die Eigenschaft Section.Paragraphs[index] verwenden. Wenn Sie den Text des Absatzes ändern möchten, können Sie dem Absatz über die Eigenschaft Paragraph.Text Text neu zuweisen. Im Folgenden finden Sie die detaillierten Schritte.

  • Erstellen Sie ein Document-Objekt.
  • Laden Sie ein Word-Dokument mit der Methode Document.LoadFromFile().
  • Rufen Sie einen bestimmten Abschnitt über die Eigenschaft Document.Sections[index] ab.
  • Rufen Sie einen bestimmten Absatz über die Section.Paragraphs[index]-Eigenschaft ab.
  • Ändern Sie den Text des Absatzes über die Paragraph.Text-Eigenschaft.
  • Speichern Sie das Dokument mit der Methode Document.SaveToFile() in einer anderen Word-Datei.
  • Python
from spire.doc import *
    from spire.doc.common import *
    
    # Create a Document object
    doc = Document()
    
    # Load a Word file
    doc.LoadFromFile("C:\\Users\\Administrator\\Desktop\\WordDocument.docx")
    
    # Get a specific section
    section = doc.Sections[0]
    
    # Get a specific paragraph
    paragraph = section.Paragraphs[1]
    
    # Change the text of the paragraph
    paragraph.Text = "The title has been changed"
    
    # Save to file
    doc.SaveToFile("output/Updated.docx", FileFormat.Docx2019)

Python: Create, Read, or Update a Word Document

Beantragen Sie eine temporäre Lizenz

Wenn Sie die Bewertungsmeldung aus den generierten Dokumenten entfernen oder die Funktionseinschränkungen beseitigen möchten, wenden Sie sich bitte an uns Fordern Sie eine 30-Tage-Testlizenz an für sich selbst.

Siehe auch