Nagłówek i stopka są powszechnie używane w dokumentach do wyświetlania ważnych informacji, takich jak numer strony, temat, rozdział itp. Możesz dodawać, wstawiać, usuwać lub usuwać nagłówki i stopki w dokumentach programu Word DOCX DOC za pomocą swoje aplikacje Java. W tym artykule nauczymy się dodawać lub usuwać nagłówki i stopki. Oto tematy, które szczegółowo omówimy:

Wstaw lub usuń interfejs API stopki nagłówka — instalacja

Do pracy z nagłówkami i stopkami w dokumentach Word będziemy używać API Aspose.Words for Java, w którym proste wywołania API pomogą nam spełnić wymagania. Możesz pobrać plik JAR z releasessection lub skopiować poniższe konfiguracje Mavena do swojego projektu. Interfejs API zostanie skonfigurowany za pośrednictwem repozytorium Maven i będziesz mógł przejść do dalszych kroków wyjaśnionych w tym artykule.

Magazyn:

<repositories>
    <repository>
        <id>AsposeJavaAPI</id>
        <name>Aspose Java API</name>
        <url>https://repository.aspose.com/repo/</url>
    </repository>
</repositories>

Zależność:

<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>

Dodaj nagłówek i stopkę w dokumencie programu Word (DOCX/DOC) przy użyciu języka Java

Dodawanie nagłówka i stopki w dokumentach programu Word (DOCX/DOC) to podstawowy, ale ważny przypadek użycia podczas pracy z dokumentami edytora tekstu. Możliwe są jednak różne scenariusze. Na przykład może być konieczne dodanie obrazu, tabeli lub tylko tekstu w sekcji nagłówka i stopki. Co więcej, czasami nagłówek i stopka na stronie tytułowej są inne niż na innych stronach. Czasami nagłówek i stopka różnią się na stronach parzystych, a inne na stronach nieparzystych. Dlatego stworzyliśmy zwięzły i podstawowy przykład dodawania nagłówka i stopki w dokumentach Word.

Tutaj wstawimy inną stopkę nagłówka na stronie tytułowej (na pierwszej stronie) i inną stopkę nagłówka na następnej stronie. Podczas gdy druga strona będzie miała niestandardową stopkę nagłówka zawierającą obraz, tekst i element tabeli. Musisz wykonać poniższe kroki, aby dodać lub wstawić nagłówek i stopkę w dokumentach Word (DOCX/DOC) przy użyciu Javy.

  1. Zainicjuj obiekty klas Document i DocumentBuilder.
  2. Określ, że chcesz inną stopkę nagłówka dla strony tytułowej
  3. Ustaw właściwości czcionki dla tekstu nagłówka
  4. Utwórz nagłówek i dla kolejnych stron
  5. Wstaw tabelę i ustaw format numeracji stron
  6. Zapisz wyjściowy plik DOCX

Poniższy kod jest oparty na tych krokach, które pokazują, jak programowo dodawać nagłówek i stopkę w dokumentach Word (DOCX/DOC) przy użyciu Javy:

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

Section currentSection = builder.getCurrentSection();
PageSetup pageSetup = currentSection.getPageSetup();

// Określ, czy chcemy, aby nagłówki/stopki pierwszej strony różniły się od pozostałych stron.
// Do określenia można również użyć właściwości PageSetup.OddAndEvenPagesHeaderFooter
// różne nagłówki/stopki dla stron parzystych i nieparzystych.
pageSetup.setDifferentFirstPageHeaderFooter(true);

// --- Utwórz nagłówek dla pierwszej strony. ---
pageSetup.setHeaderDistance(20);
builder.moveToHeaderFooter(HeaderFooterType.HEADER_FIRST);
builder.getParagraphFormat().setAlignment(ParagraphAlignment.CENTER);

// Ustaw właściwości czcionki dla tekstu nagłówka.
builder.getFont().setName("Arial");
builder.getFont().setBold(true);
builder.getFont().setSize(14);
// Określ tytuł nagłówka dla pierwszej strony.
builder.write("Aspose.Words Header/Footer Creation - Title Page.");

// --- Utwórz nagłówek dla stron innych niż pierwsza. ---
pageSetup.setHeaderDistance(20);
builder.moveToHeaderFooter(HeaderFooterType.HEADER_PRIMARY);

// Wstaw obraz pozycjonowany bezwzględnie w górnym/lewym rogu nagłówka.
// Odległość od górnej/lewej krawędzi strony jest ustawiona na 10 punktów.
String imageFileName = dataDir + "Aspose.Words.gif";
builder.insertImage(imageFileName, RelativeHorizontalPosition.PAGE, 10, RelativeVerticalPosition.PAGE, 10, 50, 50, WrapType.THROUGH);

builder.getParagraphFormat().setAlignment(ParagraphAlignment.RIGHT);
// Określ inny tytuł nagłówka dla innych stron.
builder.write("Aspose.Words Header/Footer Creation");

// --- Utwórz stopkę dla stron innych niż pierwsza. ---
builder.moveToHeaderFooter(HeaderFooterType.FOOTER_PRIMARY);

// Używamy tabeli z dwiema komórkami, aby jedna część tekstu znajdowała się w wierszu (z numeracją stron)
// wyrównać do lewej, a pozostałą część tekstu (z prawami autorskimi) wyrównać do prawej.
builder.startTable();

// Wyczyść granice tabeli
builder.getCellFormat().clearFormatting();

builder.insertCell();
// Ustaw pierwszą komórkę na 1/3 szerokości strony.
builder.getCellFormat().setPreferredWidth(PreferredWidth.fromPercent(100 / 3));

// Tutaj wstaw tekst numeracji stron.
// Używa pól PAGE i NUMPAGES do automatycznego obliczania numeru bieżącej strony i całkowitej liczby stron.
builder.write("Page ");
builder.insertField("PAGE", "");
builder.write(" of ");
builder.insertField("NUMPAGES", "");

// Wyrównaj ten tekst do lewej.
builder.getCurrentParagraph().getParagraphFormat().setAlignment(ParagraphAlignment.LEFT);

builder.insertCell();
// Ustaw drugą komórkę na 2/3 szerokości strony.
builder.getCellFormat().setPreferredWidth(PreferredWidth.fromPercent(100 * 2 / 3));

builder.write("(C) 2020 Aspose Pty Ltd. All rights reserved.");

// Wyrównaj ten tekst do prawej.
builder.getCurrentParagraph().getParagraphFormat().setAlignment(ParagraphAlignment.RIGHT);

builder.endRow();
builder.endTable();

builder.moveToDocumentEnd();
// Zrób podział strony, aby utworzyć drugą stronę, na której będą widoczne główne nagłówki/stopki.
builder.insertBreak(BreakType.PAGE_BREAK);

// Zapisz wynikowy dokument.
doc.save(dataDir + "HeaderFooter_Out.docx");

Do tej pory nauczyliśmy się, jak dodawać lub wstawiać nagłówek i stopkę w plikach Word. Poniżej znajduje się zrzut ekranu pokazujący, jak wygląda wydruk, gdy widzisz go za pomocą opcji Podgląd wydruku.

Ta funkcja może bardzo pomóc, gdy różne dokumenty DOC/DOCX są przetwarzane przez twoje aplikacje, w których chcesz dodać trochę treści jako stopki nagłówka dokumentów wyjściowych.

Dodaj lub usuń stopkę nagłówka

Przejdźmy do sprawdzenia usuwania nagłówka i stopki z plików MS Word (DOCX/DOC).

Usuń nagłówek i stopkę dokumentu programu Word (DOCX/DOC) za pomocą języka Java

Możesz usunąć nagłówek i stopkę dokumentów tekstowych za pomocą Aspose.Words for Java API. Jak omówiono powyżej, w dokumencie można dodać trzy różne typy nagłówka i stopki. Na przykład na stronie tytułowej, na stronach parzystych i numerach stron nieparzystych. Możesz usunąć wszystkie nagłówki i stopki w pliku tekstowym, po prostu wykonując poniższe czynności:

  1. Załaduj źródłowy plik DOCX/DOC
  2. Znajdź nagłówek i stopkę na stronie tytułowej, numery stron parzystych i nieparzystych
  3. Po znalezieniu usuń wymaganą sekcję
  4. Zapisz wyjściowy plik DOCX

Poniższy kod wykonuje następujące kroki i pokazuje, jak usunąć nagłówek i stopkę w dokumentach Word za pomocą Javy:

Document doc = new Document(dataDir + "HeaderFooter.doc");
for (Section section : doc.getSections()) {
	// W sekcji możliwe są do trzech różnych stopek nagłówka (dla stron pierwszych, parzystych i nieparzystych).
	// Sprawdzamy i usuwamy je wszystkie.
	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();

	// Podstawowa stopka nagłówka jest używana dla stron nieparzystych.
	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");

Usuń stopkę z dokumentu Word (DOCX/DOC) przy użyciu języka Java

Omówiliśmy już, jak usunąć lub usunąć nagłówek i stopkę z plików tekstowych. Możesz jednak chcieć usunąć tylko stopki dokumentu Word, pozostawiając nienaruszony nagłówek. Te wymagania są łatwo możliwe dzięki następującym krokom:

  1. Załaduj źródłowy plik tekstowy (DOCX/DOC)
  2. Przejrzyj każdą sekcję dokumentu tekstowego
  3. Zainicjuj obiekt HeaderFooter.
  4. Usuń stopkę z pliku wejściowego
  5. Zapisz zaktualizowany plik DOCX/DOC

Poniższy fragment kodu wyjaśnia, jak usunąć stopkę z dokumentu Word za pomocą Javy:

Document doc = new Document(dataDir + "HeaderFooter.doc");
for (Section section : doc.getSections()) {
	// W sekcji możliwe są do trzech różnych stopek (dla stron pierwszych, parzystych i nieparzystych).
	// Sprawdzamy i usuwamy je wszystkie.
	HeaderFooter footer;

	footer = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.FOOTER_FIRST);
	if (footer != null)
		footer.remove();

	// Podstawowa stopka to stopka używana dla stron nieparzystych.
	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");

Usuń nagłówek z dokumentu Word (DOCX/DOC) przy użyciu języka Java

Odkąd nauczyliśmy się usuwać lub usuwać tylko stopkę z plików MS Word. Przeanalizujmy ten krok dalej, w którym może być konieczne usunięcie tylko nagłówków z dokumentów programu Word. Stopki pozostaną takie same i nienaruszone, ponieważ skupiamy się tutaj na usuwaniu tylko nagłówków. Poniższe kroki przedstawiają zarys procedury, którą należy przyjąć w tym celu:

  1. Załaduj wejściowy plik Word (DOCX/DOC)
  2. Zainicjuj instancję klasy HeaderFooter.
  3. Usuń nagłówki ze wszystkich sekcji dokumentu wejściowego
  4. Zapisz aktualizację pliku DOCX

Poniższy kod pokazuje, jak usunąć lub usunąć nagłówek z dokumentów Word za pomocą Java:

Document doc = new Document(dataDir + "HeaderFooter.doc");
for (Section section : doc.getSections()) {
	// W sekcji możliwe są do trzech różnych stopek (dla stron pierwszych, parzystych i nieparzystych).
	// Sprawdzamy i usuwamy je wszystkie.
	HeaderFooter header;

	header = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.HEADER_FIRST);
	if (header != null)
		header.remove();

	// Podstawowa stopka to stopka używana dla stron nieparzystych.
	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");

Wniosek

Dodawanie, wstawianie, usuwanie lub usuwanie nagłówka i stopki w dokumentach programu Word to bardzo ważny i częsty przypadek użycia edytora tekstu. Prawie wszystkie dokumenty zawierają nagłówki i stopki, którymi można manipulować za pomocą Aspose.Words for Java API zgodnie z własnymi wymaganiami. Ten artykuł zawiera przegląd powiązanych funkcji, w którym możesz omówić z nami wszelkie niestandardowe przypadki użycia i wymagania za pośrednictwem bezpłatnych forów pomocy technicznej. Zapraszamy do kontaktu z nami w przypadku jakichkolwiek pytań i wątpliwości.

Zobacz też