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 nagłówka i stopki — instalacja
- Dodaj nagłówek i stopkę w dokumencie programu Word (DOCX/DOC) przy użyciu języka Java
- Usuń nagłówek i stopkę dokumentu programu Word (DOCX/DOC) za pomocą języka Java
- Usuń stopkę z dokumentu Word (DOCX/DOC) przy użyciu języka Java
- Usuń nagłówek z dokumentu Word (DOCX/DOC) przy użyciu języka Java
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.
- Zainicjuj obiekty klas Document i DocumentBuilder.
- Określ, że chcesz inną stopkę nagłówka dla strony tytułowej
- Ustaw właściwości czcionki dla tekstu nagłówka
- Utwórz nagłówek i dla kolejnych stron
- Wstaw tabelę i ustaw format numeracji stron
- 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.
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:
- Załaduj źródłowy plik DOCX/DOC
- Znajdź nagłówek i stopkę na stronie tytułowej, numery stron parzystych i nieparzystych
- Po znalezieniu usuń wymaganą sekcję
- 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:
- Załaduj źródłowy plik tekstowy (DOCX/DOC)
- Przejrzyj każdą sekcję dokumentu tekstowego
- Zainicjuj obiekt HeaderFooter.
- Usuń stopkę z pliku wejściowego
- 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:
- Załaduj wejściowy plik Word (DOCX/DOC)
- Zainicjuj instancję klasy HeaderFooter.
- Usuń nagłówki ze wszystkich sekcji dokumentu wejściowego
- 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.