DEV Community

SirOnly
SirOnly

Posted on

Entfernen von Leerzeilen in einem Word-Dokument in einer Java-Umgebung

Word-Dokumente, die durch Scannen oder Konvertieren erstellt wurden, können eine sehr große Anzahl von Leerzeilen aufweisen. Sie können die Formatierung der Dokumente stören und das Erscheinungsbild der Dokumente beeinträchtigen, so dass die Dokumente schwer lesbar sind. Um die Lesbarkeit und Ästhetik der Dokumente zu verbessern, müssen diese Leerzeilen daher entfernt werden. Dieser Artikel zeigt Ihnen, wie Sie mit dem kostenlosen Free Spire.Doc for Java schnell und einfach Leerzeilen aus einem Word-Dokument entfernen können.

Hinzufügen von Abhängigkeiten

Die Methode in diesem Artikel erfordert eine kostenlose Java-API zur Verarbeitung von Word-Dokumenten, Free Spire.Doc for Java. Diese API kann von der offiziellen Website heruntergeladen oder mit Maven in Ihrem Projekt eingesetzt werden. Der Maven-Code lautet wie folgt:

<repositories>
    <repository>
        <id>com.e-iceblue</id>
        <name>e-iceblue</name>
        <url>https://repo.e-iceblue.com/nexus/content/groups/public/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>e-iceblue</groupId>
        <artifactId>spire.doc.free</artifactId>
        <version>5.2.0</version>
    </dependency>
</dependencies>
Enter fullscreen mode Exit fullscreen mode

Alle Leerzeilen in einem Word-Dokument entfernen

Durch einfaches Durchlaufen der Abschnitte eines Word-Dokuments, durchlaufen der untergeordneten Objekte jedes Abschnitts und Löschen der untergeordneten Objekte, die leere Absätze sind, können alle Leerzeilen im Dokument gelöscht werden. Leerzeilen, die Leerzeichen enthalten, werden ebenfalls gelöscht. Die genaue Vorgehensweise ist wie folgt.

  • Erstellen Sie ein Objekt der Klasse Document.
  • Laden Sie ein Word-Dokument mit der Methode Document.loadFromFile().
  • Führen Sie eine Schleife durch jeden Abschnitt und durch die untergeordneten Objekte jedes Abschnitts.
  • Ermitteln Sie, ob das untergeordnete Objekt ein Absatz ist, und wenn ja, erstellen Sie ein String-Objekt mit dem Text des Absatzes.
  • Ermitteln Sie, ob das String-Objekt null ist, und wenn null, löschen Sie den entsprechenden Absatz.
  • Speichert das Dokument mit der Methode Document.saveToFile().

Ein Code-Beispiel

import com.spire.doc.*;
import com.spire.doc.documents.*;

public class removeEmptyLines {
    public static void main(String[] args) {
        //Erstellen Sie ein Objekt der Klasse Document
        Document document = new Document();

        //Laden Sie ein Word-Dokument
        document.loadFromFile("サンプル.docx");

        //Schleife durch alle Abschnitte des Dokuments
        for (Section section : (Iterable<? extends Section>) document.getSections()) {
            //Schleife durch alle untergeordneten Objekte in jedem Abschnitt
            for (int i = 0; i < section.getBody().getChildObjects().getCount(); i++) {
                //Feststellen, ob jedes untergeordnete Objekt ein Absatz ist
                if ((section.getBody().getChildObjects().get(i).getDocumentObjectType().equals(DocumentObjectType.Paragraph) )) {
                    //Erstellen Sie ein String-Objekt mit dem Text jedes Absatzobjekts
                    String s= ((Paragraph)(section.getBody().getChildObjects().get(i))).getText().trim();
                    //Ermittelt, ob ein String-Objekt NULL ist.
                    if (s.isEmpty()) {
                        //Leere Absätze löschen
                        section.getBody().getChildObjects().remove(section.getBody().getChildObjects().get(i));
                        i--;
                    }
                }
            }
        }

        //Speichern Sie das Dokument
        document.saveToFile("Leere Zeilen löschen.docx", FileFormat.Docx_2019);
    }
}
Enter fullscreen mode Exit fullscreen mode

Alle Leerzeilen in einem Word-Dokument entfernen
Dieser Artikel zeigt Ihnen, wie Sie Leerzeilen mit dem kostenlosen Spire.Doc für Java entfernen können. Wenn Sie Absätze ausblenden möchten, anstatt sie zu löschen, lesen Sie "Wie man Absätze ausblendet".

Sie können auch das Spire.Doc for Java-Tutorial lesen, um weitere Informationen zu erhalten und mit anderen Benutzern im Spire.Doc-Forum zu diskutieren.

Top comments (0)