Záhlaví a zápatí se běžně používají v dokumentech k zobrazení důležitých informací, jako je číslo stránky, téma, kapitola atd. Záhlaví a zápatí můžete přidat, vložit, odstranit nebo odebrat v dokumentech aplikace Word DOCX DOC pomocí vaše Java aplikace. V tomto článku se naučíme přidávat nebo odebírat záhlaví a zápatí. Níže jsou uvedena témata, která budeme podrobně zkoumat:

Vložit nebo odebrat záhlaví zápatí API – instalace

Pro práci se záhlavím a zápatím v dokumentech aplikace Word budeme používat Aspose.Words for Java API, kde nám jednoduchá volání API pomohou splnit požadavky. Soubor JAR si můžete stáhnout z sekce vydání nebo zkopírovat následující konfigurace Maven ve vašem projektu. Rozhraní API bude nakonfigurováno prostřednictvím úložiště Maven a bude dobré pokračovat dalšími kroky vysvětlenými v tomto článku.

úložiště:

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

Závislost:

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

Přidejte záhlaví a zápatí do dokumentu Word (DOCX/DOC) pomocí Java

Přidání záhlaví a zápatí do dokumentů aplikace Word (DOCX/DOC) je základním, ale důležitým případem použití při práci s dokumenty pro zpracování textu. Jsou však možné různé scénáře. Můžete například potřebovat přidat obrázek, tabulku nebo jen nějaký text do sekce záhlaví a zápatí. Navíc se někdy záhlaví a zápatí na titulní stránce liší od jiných stránek. Někdy se záhlaví a zápatí liší na sudých číslech a jiné na lichých. Proto jsme vytvořili stručný a základní příklad přidávání záhlaví a zápatí do dokumentů Wordu.

Zde vložíme jiné zápatí záhlaví na titulní stránku (úplně první stránka) a jiné zápatí záhlaví na následující stránku. Zatímco druhá stránka bude mít vlastní zápatí záhlaví včetně obrázku, textu a prvku tabulky. Chcete-li přidat nebo vložit záhlaví a zápatí do dokumentů aplikace Word (DOCX/DOC) pomocí Java, musíte postupovat podle níže uvedených kroků.

  1. Inicializujte objekty třídy Document a DocumentBuilder
  2. Určete, že chcete pro titulní stránku jiné zápatí záhlaví
  3. Nastavte vlastnosti písma pro text záhlaví
  4. Vytvořte záhlaví a pro následující stránky
  5. Vložte tabulku a nastavte formát čísla stránek
  6. Uložit výstupní soubor DOCX

Následující kód je založen na těchto krocích, které ukazují, jak přidat záhlaví a zápatí do dokumentů aplikace Word (DOCX/DOC) programově pomocí Java:

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

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

// Určete, zda chceme, aby se záhlaví/zápatí první stránky lišilo od ostatních stránek.
// K určení můžete také použít vlastnost PageSetup.OddAndEvenPagesHeaderFooter
// různá záhlaví/zápatí pro liché a sudé stránky.
pageSetup.setDifferentFirstPageHeaderFooter(true);

// --- Vytvořit záhlaví pro první stránku. ---
pageSetup.setHeaderDistance(20);
builder.moveToHeaderFooter(HeaderFooterType.HEADER_FIRST);
builder.getParagraphFormat().setAlignment(ParagraphAlignment.CENTER);

// Nastavte vlastnosti písma pro text záhlaví.
builder.getFont().setName("Arial");
builder.getFont().setBold(true);
builder.getFont().setSize(14);
// Zadejte název záhlaví pro první stránku.
builder.write("Aspose.Words Header/Footer Creation - Title Page.");

// --- Vytvořit záhlaví pro jiné stránky než první. ---
pageSetup.setHeaderDistance(20);
builder.moveToHeaderFooter(HeaderFooterType.HEADER_PRIMARY);

// Vložte absolutně umístěný obrázek do horního/levého rohu záhlaví.
// Vzdálenost od horního/levého okraje stránky je nastavena na 10 bodů.
String imageFileName = dataDir + "Aspose.Words.gif";
builder.insertImage(imageFileName, RelativeHorizontalPosition.PAGE, 10, RelativeVerticalPosition.PAGE, 10, 50, 50, WrapType.THROUGH);

builder.getParagraphFormat().setAlignment(ParagraphAlignment.RIGHT);
// Pro další stránky zadejte jiný nadpis záhlaví.
builder.write("Aspose.Words Header/Footer Creation");

// --- Vytvořit zápatí pro jiné stránky než první. ---
builder.moveToHeaderFooter(HeaderFooterType.FOOTER_PRIMARY);

// Pomocí tabulky se dvěma buňkami vytvoříme jednu část textu na řádku (s číslováním stránek)
// zarovnat doleva a druhou část textu (s autorským právem) zarovnat doprava.
builder.startTable();

// Vymazat okraje tabulky
builder.getCellFormat().clearFormatting();

builder.insertCell();
// Nastavte první buňku na 1/3 šířky stránky.
builder.getCellFormat().setPreferredWidth(PreferredWidth.fromPercent(100 / 3));

// Sem vložte text číslování stránek.
// K automatickému výpočtu aktuálního čísla stránky a celkového počtu stránek používá pole PAGE a NUMPAGES.
builder.write("Page ");
builder.insertField("PAGE", "");
builder.write(" of ");
builder.insertField("NUMPAGES", "");

// Zarovnejte tento text doleva.
builder.getCurrentParagraph().getParagraphFormat().setAlignment(ParagraphAlignment.LEFT);

builder.insertCell();
// Nastavte druhou buňku na 2/3 šířky stránky.
builder.getCellFormat().setPreferredWidth(PreferredWidth.fromPercent(100 * 2 / 3));

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

// Zarovnejte tento text doprava.
builder.getCurrentParagraph().getParagraphFormat().setAlignment(ParagraphAlignment.RIGHT);

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

builder.moveToDocumentEnd();
// Zalomením stránky vytvoříte druhou stránku, na které budou vidět primární záhlaví/zápatí.
builder.insertBreak(BreakType.PAGE_BREAK);

// Uložte výsledný dokument.
doc.save(dataDir + "HeaderFooter_Out.docx");

Zatím jsme se naučili, jak přidat nebo vložit záhlaví a zápatí do souborů aplikace Word. Níže je snímek obrazovky, jak výstup vypadá, když jej vidíte pomocí možnosti Náhled tisku.

Tato funkce může hodně pomoci, když vaše aplikace zpracovávají různé dokumenty DOC/DOCX, kde chcete přidat nějaký obsah jako záhlaví zápatí výstupních dokumentů.

Přidat nebo odebrat zápatí záhlaví

Pojďme se podívat na odstranění záhlaví a zápatí ze souborů MS Word (DOCX/DOC).

Odstraňte záhlaví a zápatí dokumentu Word (DOCX/DOC) pomocí Java

Pomocí Aspose.Words for Java API můžete odstranit záhlaví i zápatí dokumentů aplikace Word. Jak bylo uvedeno výše, do dokumentu mohou být přidány tři různé typy záhlaví a zápatí. Například na titulní stránce, na sudých stránkách a na lichých stránkách. Všechna záhlaví a zápatí v souboru word můžete jednoduše odstranit podle následujících kroků:

  1. Načtěte zdrojový soubor DOCX/DOC
  2. Najděte záhlaví a zápatí na titulní stránce, čísla sudých stránek a lichá čísla stránek
  3. Po nalezení požadovanou sekci smažte
  4. Uložit výstupní soubor DOCX

Níže uvedený kód se řídí těmito kroky a ukazuje, jak odstranit záhlaví a zápatí v dokumentech aplikace Word pomocí Java:

Document doc = new Document(dataDir + "HeaderFooter.doc");
for (Section section : doc.getSections()) {
	// V sekci jsou možné až tři různé zápatí záhlaví (pro první, sudé a liché stránky).
	// Všechny zkontrolujeme a odstraníme.
	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ární záhlaví zápatí se používá pro liché stránky.
	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");

Odebrat zápatí z dokumentu Word (DOCX/DOC) pomocí Java

Již jsme diskutovali o tom, jak odstranit nebo odstranit záhlaví a zápatí ze souborů aplikace Word. Můžete však chtít odebrat pouze zápatí dokumentu aplikace Word a ponechat záhlaví nedotčené. Tyto požadavky lze snadno splnit pomocí následujících kroků:

  1. Načíst zdrojový textový soubor (DOCX/DOC)
  2. Procházejte každou sekci dokumentu aplikace Word
  3. Inicializujte objekt HeaderFooter
  4. Odstraňte zápatí ze vstupního souboru
  5. Uložte aktualizovaný soubor DOCX/DOC

Následující fragment kódu vysvětluje, jak odstranit zápatí z dokumentu aplikace Word pomocí Java:

Document doc = new Document(dataDir + "HeaderFooter.doc");
for (Section section : doc.getSections()) {
	// V sekci jsou možné až tři různá zápatí (pro první, sudé a liché stránky).
	// Všechny zkontrolujeme a odstraníme.
	HeaderFooter footer;

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

	// Primární zápatí je zápatí používané pro liché stránky.
	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");

Odstraňte záhlaví z dokumentu Word (DOCX/DOC) pomocí Java

Protože jsme se naučili odstraňovat nebo mazat pouze zápatí ze souborů MS Word. Pojďme prozkoumat tento další krok dále, kde možná budete muset odstranit pouze záhlaví z dokumentů aplikace Word. Zápatí zůstanou stejná a nedotčená, protože se zde zaměřujeme pouze na odstranění záhlaví. Následující kroky poskytují nástin postupu, který má být pro tento účel přijat:

  1. Načíst vstupní soubor Word (DOCX/DOC)
  2. Inicializujte instanci třídy HeaderFooter
  3. Odebrat záhlaví ze všech částí vstupního dokumentu
  4. Uložte soubor aktualizace DOCX

Níže uvedený kód ukazuje, jak odstranit nebo odstranit záhlaví z dokumentů aplikace Word pomocí Java:

Document doc = new Document(dataDir + "HeaderFooter.doc");
for (Section section : doc.getSections()) {
	// V sekci jsou možné až tři různá zápatí (pro první, sudé a liché stránky).
	// Všechny zkontrolujeme a odstraníme.
	HeaderFooter header;

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

	// Primární zápatí je zápatí používané pro liché stránky.
	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");

Závěr

Přidat, vložit, odebrat nebo odstranit záhlaví a zápatí v dokumentech aplikace Word je velmi důležitým a častým případem použití textového editoru. Téměř všechny dokumenty obsahují záhlaví a zápatí, se kterými lze manipulovat pomocí Aspose.Words for Java API podle vašich požadavků. Tento článek je přehledem souvisejících funkcí, kde s námi můžete diskutovat o jakémkoli vlastním případě použití a požadavcích prostřednictvím Free Support Forums. Neváhejte se na nás obrátit v případě jakýchkoli dotazů a obav.

Viz také