Kopf und Fußzeilen werden häufig in Dokumenten verwendet, um wichtige Informationen wie Seitenzahl, Thema, Kapitel usw. anzuzeigen. Sie können Kopf und Fußzeilen in Word Dokumenten mit DOCX DOC hinzufügen, einfügen, löschen oder entfernen Ihre Java Anwendungen. In diesem Artikel erfahren Sie, wie Sie Kopf und Fußzeilen hinzufügen oder entfernen. Folgende Themen werden wir im Detail untersuchen:
- Kopf und Fußzeilen-API einfügen oder entfernen – Installation
- Kopf und Fußzeile in Word Dokument (DOCX/DOC) mit Java hinzufügen
- Kopf und Fußzeile des Word Dokuments (DOCX/DOC) mit Java löschen
- Fußzeile aus Word Dokument (DOCX/DOC) mit Java entfernen
- Header aus Word Dokument (DOCX/DOC) mit Java entfernen
Header Footer API einfügen oder entfernen – Installation
Für die Arbeit mit Kopf und Fußzeilen in Word Dokumenten verwenden wir die Aspose.Words for Java-API, bei der einfache API-Aufrufe uns helfen, die Anforderungen zu erfüllen. Sie können die JAR Datei aus dem releases section herunterladen oder die folgenden Maven konfigurationen in Ihr Projekt kopieren. Die API wird über das Maven-Repository konfiguriert und Sie können mit den weiteren in diesem Artikel erläuterten Schritten fortfahren.
Repository:
<repositories>
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
</repositories>
Abhängigkeit:
<dependencies>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-words</artifactId>
<version>20.8</version>
<classifier>jdk17</classifier>
</dependency>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-words</artifactId>
<version>20.8</version>
<classifier>javadoc</classifier>
</dependency>
</dependencies>
Kopf und Fußzeile in Word Dokument (DOCX/DOC) mit Java hinzufügen
Das Hinzufügen von Kopf und Fußzeilen in Word Dokumenten (DOCX/DOC) ist ein grundlegender, aber wichtiger Anwendungsfall bei der Arbeit mit Textverarbeitungsdokumenten. Es sind jedoch verschiedene Szenarien möglich. Beispielsweise müssen Sie möglicherweise ein Bild, eine Tabelle oder nur Text in den Kopf und Fußzeilenbereich einfügen. Außerdem sind Kopf und Fußzeile auf der Titelseite manchmal anders als auf anderen Seiten. Manchmal sind Kopf und Fußzeile bei geraden Seitenzahlen unterschiedlich und bei ungeraden Seitenzahlen unterschiedlich. Daher haben wir ein prägnantes und grundlegendes Beispiel zum Hinzufügen von Kopf und Fußzeilen in Word Dokumenten erstellt.
Hier fügen wir auf der Titelseite (allererste Seite) eine andere Kopfzeile und auf der Folgeseite eine andere Kopfzeile und Fußzeile ein. Während die zweite Seite eine benutzerdefinierte Kopfzeile mit Bild, Text und Tabellenelement enthält. Sie müssen die folgenden Schritte ausführen, um Kopf und Fußzeilen in Word Dokumenten (DOCX/DOC) mit Java hinzuzufügen oder einzufügen.
- Initialisieren Sie die Klassenobjekte Document und DocumentBuilder.
- Geben Sie an, dass Sie für die Titelseite eine andere Kopfzeile und Fußzeile wünschen
- Schrifteigenschaften für Kopfzeilentext festlegen
- Kopfzeile und für Folgeseiten erstellen
- Tabelle einfügen und Seitenzahlenformat festlegen
- Speichern Sie die ausgegebene DOCX Datei
Der folgende Code basiert auf diesen Schritten, die zeigen, wie Kopf und Fußzeilen in Word Dokumenten (DOCX/DOC) programmgesteuert mit Java hinzugefügt werden:
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Section currentSection = builder.getCurrentSection();
PageSetup pageSetup = currentSection.getPageSetup();
// Geben Sie an, ob sich die Kopf-/Fußzeilen der ersten Seite von anderen Seiten unterscheiden sollen.
// Sie können zur Angabe auch die PageSetup.OddAndEvenPagesHeaderFooter-Eigenschaft verwenden
// unterschiedliche Kopf-/Fußzeilen für ungerade und gerade Seiten.
pageSetup.setDifferentFirstPageHeaderFooter(true);
// --- Kopfzeile für die erste Seite erstellen. ---
pageSetup.setHeaderDistance(20);
builder.moveToHeaderFooter(HeaderFooterType.HEADER_FIRST);
builder.getParagraphFormat().setAlignment(ParagraphAlignment.CENTER);
// Schrifteigenschaften für Kopfzeilentext festlegen.
builder.getFont().setName("Arial");
builder.getFont().setBold(true);
builder.getFont().setSize(14);
// Kopfzeilentitel für die erste Seite angeben.
builder.write("Aspose.Words Header/Footer Creation - Title Page.");
// --- Kopfzeile für andere Seiten als die erste erstellen. ---
pageSetup.setHeaderDistance(20);
builder.moveToHeaderFooter(HeaderFooterType.HEADER_PRIMARY);
// Absolut positioniertes Bild in die obere/linke Ecke der Kopfzeile einfügen.
// Der Abstand vom oberen/linken Rand der Seite ist auf 10 Punkt eingestellt.
String imageFileName = dataDir + "Aspose.Words.gif";
builder.insertImage(imageFileName, RelativeHorizontalPosition.PAGE, 10, RelativeVerticalPosition.PAGE, 10, 50, 50, WrapType.THROUGH);
builder.getParagraphFormat().setAlignment(ParagraphAlignment.RIGHT);
// Geben Sie für andere Seiten einen anderen Kopfzeilentitel an.
builder.write("Aspose.Words Header/Footer Creation");
// --- Erstellen Sie eine Fußzeile für andere Seiten als die erste. ---
builder.moveToHeaderFooter(HeaderFooterType.FOOTER_PRIMARY);
// Wir verwenden eine Tabelle mit zwei Zellen, um einen Teil des Textes in der Zeile zu erstellen (mit Seitennummerierung).
// linksbündig, der andere Teil des Textes (mit Copyright) rechtsbündig.
builder.startTable();
// Klare Tabellengrenzen
builder.getCellFormat().clearFormatting();
builder.insertCell();
// Legen Sie die erste Zelle auf 1/3 der Seitenbreite fest.
builder.getCellFormat().setPreferredWidth(PreferredWidth.fromPercent(100 / 3));
// Fügen Sie hier den Seitennummerierungstext ein.
// Es verwendet die Felder PAGE und NUMPAGES, um die aktuelle Seitenzahl und die Gesamtzahl der Seiten automatisch zu berechnen.
builder.write("Page ");
builder.insertField("PAGE", "");
builder.write(" of ");
builder.insertField("NUMPAGES", "");
// Richten Sie diesen Text linksbündig aus.
builder.getCurrentParagraph().getParagraphFormat().setAlignment(ParagraphAlignment.LEFT);
builder.insertCell();
// Stellen Sie die zweite Zelle auf 2/3 der Seitenbreite ein.
builder.getCellFormat().setPreferredWidth(PreferredWidth.fromPercent(100 * 2 / 3));
builder.write("(C) 2020 Aspose Pty Ltd. All rights reserved.");
// Richten Sie diesen Text rechtsbündig aus.
builder.getCurrentParagraph().getParagraphFormat().setAlignment(ParagraphAlignment.RIGHT);
builder.endRow();
builder.endTable();
builder.moveToDocumentEnd();
// Machen Sie einen Seitenumbruch, um eine zweite Seite zu erstellen, auf der die primären Kopf-/Fußzeilen zu sehen sind.
builder.insertBreak(BreakType.PAGE_BREAK);
// Speichern Sie das resultierende Dokument.
doc.save(dataDir + "HeaderFooter_Out.docx");
Bisher haben wir gelernt, wie man Kopf und Fußzeilen in Word Dateien hinzufügt oder einfügt. Unten ist ein Screenshot, wie die Ausgabe aussieht, wenn Sie sie über die Option Druckvorschau sehen.
Diese Funktion kann sehr hilfreich sein, wenn verschiedene DOC/DOCX Dokumente von Ihren Anwendungen verarbeitet werden, wenn Sie Inhalt als Kopfzeile der Ausgabedokumente hinzufügen möchten.
Lassen Sie uns mit dem Löschen der Kopf und Fußzeile aus MS Word Dateien (DOCX/DOC) fortfahren.
Kopf und Fußzeile des Word Dokuments (DOCX/DOC) mit Java löschen
Sie können sowohl die Kopf- als auch die Fußzeile von Word Dokumenten mit Aspose.Words for Java API löschen. Wie oben besprochen, können einem Dokument drei verschiedene Arten von Kopf und Fußzeilen hinzugefügt werden. Zum Beispiel auf der Titelseite, auf geraden Seiten und ungeraden Seitenzahlen. Sie können alle Kopf und Fußzeilen in einer Word Datei löschen, indem Sie einfach die folgenden Schritte ausführen:
- Quell-DOCX/DOC Datei laden
- Finden Sie Kopf und Fußzeilen auf der Titelseite, gerade Seitenzahlen und ungerade Seitenzahlen
- Löschen Sie den erforderlichen Abschnitt, wenn Sie ihn gefunden haben
- Speichern Sie die ausgegebene DOCX Datei
Der folgende Code folgt diesen Schritten und zeigt, wie Kopf und Fußzeilen in Word Dokumenten mit Java gelöscht werden:
Document doc = new Document(dataDir + "HeaderFooter.doc");
for (Section section : doc.getSections()) {
// In einem Abschnitt sind bis zu drei verschiedene Kopfzeilen möglich (für erste, gerade und ungerade Seite).
// Wir prüfen und löschen alle.
HeaderFooter footer;
HeaderFooter header;
footer = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.FOOTER_FIRST);
header = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.HEADER_FIRST);
if (footer != null)
footer.remove();
if (header != null)
header.remove();
// Primäre Kopfzeile Fußzeile wird für ungerade Seiten verwendet.
footer = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.FOOTER_PRIMARY);
if (footer != null)
footer.remove();
header = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.HEADER_PRIMARY);
if (header != null)
header.remove();
footer = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.FOOTER_EVEN);
if (footer != null)
footer.remove();
header = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.HEADER_EVEN);
if (header != null)
header.remove();
}
doc.save(dataDir + "RemoveHeaderFooter_Out.docx");
Fußzeile aus Word Dokument (DOCX/DOC) mit Java entfernen
Wir haben bereits besprochen, wie Sie Kopf und Fußzeilen aus Word Dateien entfernen oder löschen. Möglicherweise möchten Sie jedoch nur die Fußzeilen eines Word Dokuments entfernen, während die Kopfzeile intakt bleibt. Diese Anforderungen sind mit den folgenden Schritten problemlos möglich:
- Quellwortdatei laden (DOCX/DOC)
- Durchlaufen Sie jeden Abschnitt des Word Dokuments
- Initialisiert das Objekt HeaderFooter.
- Fußzeile aus der Eingabedatei löschen
- Aktualisierte DOCX/DOC Datei speichern
Das folgende code snippet erklärt, wie man mit Java die Fußzeile aus einem Word Dokument entfernt:
Document doc = new Document(dataDir + "HeaderFooter.doc");
for (Section section : doc.getSections()) {
// In einem Abschnitt sind bis zu drei verschiedene Fußzeilen möglich (für erste, gerade und ungerade Seite).
// Wir prüfen und löschen alle.
HeaderFooter footer;
footer = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.FOOTER_FIRST);
if (footer != null)
footer.remove();
// Primäre Fußzeile ist die Fußzeile, die für ungerade Seiten verwendet wird.
footer = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.FOOTER_PRIMARY);
if (footer != null)
footer.remove();
footer = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.FOOTER_EVEN);
if (footer != null)
footer.remove();
}
doc.save(dataDir + "RemoveFooters.docx");
Header aus Word Dokument (DOCX/DOC) mit Java entfernen
Da wir gelernt haben, nur die Fußzeile aus MS Word Dateien zu entfernen oder zu löschen. Lassen Sie uns dies einen weiteren Schritt weiter untersuchen, wo Sie möglicherweise nur die Kopfzeilen aus Word Dokumenten entfernen müssen. Die Fußzeilen bleiben gleich und unbeeinflusst, da wir uns hier darauf konzentrieren, nur die Kopfzeilen zu löschen. Die folgenden Schritte geben einen Überblick über das Verfahren, das zu diesem Zweck anzuwenden ist:
- Eingabe-Word Datei laden (DOCX/DOC)
- Initialisieren Sie eine Instanz der Klasse HeaderFooter.
- Kopfzeilen aus allen Abschnitten des Eingabedokuments entfernen
- Update-DOCX Datei speichern
Der folgende Code zeigt, wie Sie den Header aus Word Dokumenten mit Java löschen oder entfernen:
Document doc = new Document(dataDir + "HeaderFooter.doc");
for (Section section : doc.getSections()) {
// In einem Abschnitt sind bis zu drei verschiedene Fußzeilen möglich (für erste, gerade und ungerade Seite).
// Wir prüfen und löschen alle.
HeaderFooter header;
header = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.HEADER_FIRST);
if (header != null)
header.remove();
// Primäre Fußzeile ist die Fußzeile, die für ungerade Seiten verwendet wird.
header = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.HEADER_PRIMARY);
if (header != null)
header.remove();
header = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.HEADER_EVEN);
if (header != null)
header.remove();
}
doc.save(dataDir + "RemoveHeader.docx");
Fazit
Das Hinzufügen, Einfügen, Entfernen oder Löschen von Kopf und Fußzeilen in Word Dokumenten ist ein sehr wichtiger und häufiger Anwendungsfall der Textverarbeitung. Fast alle Dokumente enthalten Kopf und Fußzeilen, die mit Aspose.Words for Java API gemäß Ihren Anforderungen bearbeitet werden können. Dieser Artikel ist eine Übersicht über verwandte Funktionen, in denen Sie alle benutzerdefinierten Anwendungsfälle und Anforderungen mit uns über die kostenlosen Support-Foren diskutieren können. Wenden Sie sich bei Fragen und Bedenken gerne an uns.