Použití záhlaví a zápatí v Aspose.Words pro Java
V tomto komplexním průvodci vás provedeme procesem práce se záhlavími a zápatími v Aspose.Words pro Java. Záhlaví a zápatí jsou základními prvky formátování dokumentů a Aspose.Words poskytuje výkonné nástroje pro jejich vytváření a přizpůsobení podle vašich potřeb.
Nyní se pojďme ponořit do každého z těchto kroků podrobně.
1. Úvod do Aspose.Words
Aspose.Words je výkonné Java API, které vám umožňuje programově vytvářet, manipulovat a vykreslovat dokumenty Wordu. Poskytuje rozsáhlé funkce pro formátování dokumentů, včetně záhlaví a zápatí.
2. Nastavení prostředí Java
Než začnete Aspose.Words používat, ujistěte se, že máte správně nastavené vývojové prostředí Java. Potřebné pokyny k nastavení naleznete na stránce dokumentace Aspose.Words:Aspose.Words Java dokumentace.
3. Vytvoření nového dokumentu
Chcete-li pracovat se záhlavím a zápatím, musíte vytvořit nový dokument pomocí Aspose.Words. Následující kód ukazuje, jak to udělat:
// Java kód pro vytvoření nového dokumentu
string dataDir = "Your Document Directory";
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
4. Vysvětlení nastavení stránky
Nastavení stránky je zásadní pro ovládání rozvržení dokumentu. Můžete zadat různé vlastnosti týkající se záhlaví a zápatí pomocíPageSetup
třída. Například:
// Nastavení vlastností stránky
Section currentSection = builder.getCurrentSection();
PageSetup pageSetup = currentSection.getPageSetup();
pageSetup.setDifferentFirstPageHeaderFooter(true);
pageSetup.setHeaderDistance(20.0);
5. Různé záhlaví/zápatí první stránky
Aspose.Words vám umožňuje mít různá záhlaví a zápatí pro první stránku dokumentu. PoužitípageSetup.setDifferentFirstPageHeaderFooter(true);
pro aktivaci této funkce.
6. Práce s hlavičkami
6.1. Přidání textu do záhlaví
Text do záhlaví můžete přidat pomocíDocumentBuilder
. Zde je příklad:
// Přidání textu do záhlaví první stránky
builder.moveToHeaderFooter(HeaderFooterType.HEADER_FIRST);
builder.getParagraphFormat().setAlignment(ParagraphAlignment.CENTER);
builder.getFont().setName("Arial");
builder.getFont().setBold(true);
builder.getFont().setSize(14.0);
builder.write("Aspose.Words Header/Footer Creation Primer - Title Page.");
6.2. Vkládání obrázků do záhlaví
Chcete-li vložit obrázky do záhlaví, můžete použítinsertImage
metoda. Zde je příklad:
// Vložení obrázku do záhlaví
builder.insertImage(getImagesDir() + "Graphics Interchange Format.gif", RelativeHorizontalPosition.PAGE, 10.0,
RelativeVerticalPosition.PAGE, 10.0, 50.0, 50.0, WrapType.THROUGH);
6.3. Přizpůsobení stylů záhlaví
Styly záhlaví můžete přizpůsobit nastavením různých vlastností, jako je písmo, zarovnání a další, jak je znázorněno na příkladech výše.
7. Práce se zápatím
7.1. Přidání textu do zápatí
Podobně jako u záhlaví můžete přidat text do zápatí pomocíDocumentBuilder
. Zde je příklad:
// Přidání textu do primárního zápatí
builder.moveToHeaderFooter(HeaderFooterType.FOOTER_PRIMARY);
// Vložte text a pole podle potřeby
7.2. Vkládání obrázků do zápatí
Chcete-li vložit obrázky do zápatí, použijteinsertImage
stejně jako v hlavičkách.
7.3. Přizpůsobení stylů zápatí
Přizpůsobte styly zápatí pomocíDocumentBuilder
podobně jako přizpůsobení záhlaví.
8. Číslování stránek
Čísla stránek můžete zahrnout do záhlaví a zápatí pomocí polí jakoPAGE
aNUMPAGES
. Tato pole se automaticky aktualizují, když přidáváte nebo odebíráte stránky.
9. Informace o autorských právech v zápatí
Chcete-li do zápatí dokumentu přidat informace o autorských právech, můžete použít tabulku se dvěma buňkami, přičemž jednu zarovnáte doleva a druhou doprava, jak je znázorněno na úryvku kódu.
10. Práce s více sekcemi
Aspose.Words umožňuje pracovat s více sekcemi v rámci dokumentu. Pro každou sekci můžete nastavit různá nastavení stránky a záhlaví/zápatí.
11. Orientace v krajině
V případě potřeby můžete změnit orientaci určitých částí na režim na šířku.
12. Kopírování záhlaví/zápatí z předchozích sekcí
Kopírování záhlaví a zápatí z předchozích sekcí může ušetřit čas při vytváření složitých dokumentů.
13. Uložení dokumentu
Po vytvoření a přizpůsobení dokumentu jej nezapomeňte uložit pomocídoc.save()
metoda.
Kompletní zdrojový kód
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);
pageSetup.setHeaderDistance(20.0);
builder.moveToHeaderFooter(HeaderFooterType.HEADER_FIRST);
builder.getParagraphFormat().setAlignment(ParagraphAlignment.CENTER);
builder.getFont().setName("Arial");
builder.getFont().setBold(true);
builder.getFont().setSize(14.0);
builder.write("Aspose.Words Header/Footer Creation Primer - Title Page.");
pageSetup.setHeaderDistance(20.0);
builder.moveToHeaderFooter(HeaderFooterType.HEADER_PRIMARY);
// Vložte 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ů.
builder.insertImage(getImagesDir() + "Graphics Interchange Format.gif", RelativeHorizontalPosition.PAGE, 10.0,
RelativeVerticalPosition.PAGE, 10.0, 50.0, 50.0, WrapType.THROUGH);
builder.getParagraphFormat().setAlignment(ParagraphAlignment.RIGHT);
builder.write("Aspose.Words Header/Footer Creation Primer.");
builder.moveToHeaderFooter(HeaderFooterType.FOOTER_PRIMARY);
// Tabulkou se dvěma buňkami udělá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();
builder.getCellFormat().clearFormatting();
builder.insertCell();
builder.getCellFormat().setPreferredWidth(PreferredWidth.fromPercent(100 / 3));
// K automatickému výpočtu aktuálního čísla stránky a mnoha stránek používá pole PAGE a NUMPAGES.
builder.write("Page ");
builder.insertField("PAGE", "");
builder.write(" of ");
builder.insertField("NUMPAGES", "");
builder.getCurrentParagraph().getParagraphFormat().setAlignment(ParagraphAlignment.LEFT);
builder.insertCell();
builder.getCellFormat().setPreferredWidth(PreferredWidth.fromPercent(100 * 2 / 3));
builder.write("(C) 2001 Aspose Pty Ltd. All rights reserved.");
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);
builder.insertBreak(BreakType.SECTION_BREAK_NEW_PAGE);
currentSection = builder.getCurrentSection();
pageSetup = currentSection.getPageSetup();
pageSetup.setOrientation(Orientation.LANDSCAPE);
// Tato sekce nepotřebuje jiné záhlaví/zápatí na první stránce, potřebujeme pouze jednu titulní stránku v dokumentu,
// záhlaví/zápatí pro tuto stránku již bylo definováno v předchozí části.
pageSetup.setDifferentFirstPageHeaderFooter(false);
// Tato sekce zobrazuje záhlaví/zápatí z předchozí sekce
// ve výchozím nastavení zavolejte currentSection.HeadersFooters.LinkToPrevious(false) pro zrušení této šířky stránky
// je pro novou sekci odlišná, a proto musíme pro tabulku zápatí nastavit různé šířky buněk.
currentSection.getHeadersFooters().linkToPrevious(false);
// Pokud chceme pro tuto sekci použít již existující sadu záhlaví/zápatí.
// Ale s některými drobnými úpravami může být účelné zkopírovat záhlaví/zápatí
// z předchozí části a aplikujte potřebné úpravy tam, kde je chceme.
copyHeadersFootersFromPreviousSection(currentSection);
HeaderFooter primaryFooter = currentSection.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.FOOTER_PRIMARY);
Row row = primaryFooter.getTables().get(0).getFirstRow();
row.getFirstCell().getCellFormat().setPreferredWidth(PreferredWidth.fromPercent(100 / 3));
row.getLastCell().getCellFormat().setPreferredWidth(PreferredWidth.fromPercent(100 * 2 / 3));
doc.save("Your Directory Path" + "WorkingWithHeadersAndFooters.CreateHeaderFooter.docx");
Zdrojový kód metody copyHeadersFootersFromPreviousSection
/// <souhrn>
/// Klonuje a zkopíruje záhlaví/zápatí z předchozí sekce do zadané sekce.
/// </summary>
private void copyHeadersFootersFromPreviousSection(Section section)
{
Section previousSection = (Section)section.getPreviousSibling();
if (previousSection == null)
return;
section.getHeadersFooters().clear();
for (HeaderFooter headerFooter : (Iterable<HeaderFooter>) previousSection.getHeadersFooters())
section.getHeadersFooters().add(headerFooter.deepClone(true));
}
Závěr
tomto tutoriálu jsme probrali základy práce se záhlavím a zápatím v Aspose.Words pro Javu. Naučili jste se vytvářet, upravovat a upravovat záhlaví a zápatí a také další základní techniky formátování dokumentů.
Další podrobnosti a pokročilé funkce naleznete v částiAspose.Words Java dokumentace.
Nejčastější dotazy
1. Jak mohu přidat čísla stránek do zápatí mého dokumentu?
Čísla stránek můžete přidat vloženímPAGE
pole do zápatí pomocí Aspose.Words.
2. Je Aspose.Words kompatibilní s vývojovými prostředími Java?
Ano, Aspose.Words poskytuje podporu pro vývoj Java. Ujistěte se, že máte na místě potřebné nastavení.
3. Mohu přizpůsobit písmo a styl záhlaví a zápatí?
Rozhodně si můžete přizpůsobit písma, zarovnání a další styly, aby vaše záhlaví a zápatí byly vizuálně přitažlivé.
4. Je možné mít různá záhlaví pro liché a sudé stránky?
Ano, můžete použítPageSetup.OddAndEvenPagesHeaderFooter
k určení různých záhlaví pro liché a sudé stránky.
5. Jak mohu začít s Aspose.Words for Java?
Chcete-li začít, navštivteAspose.Words Java dokumentace pro komplexní návod k používání API.