Použití `DocumentBuilder` Změnit dokument

Upřesňování formátování

Formátování písma

Současné formátování písma představuje a Font objekt vrácený DocumentBuilder.Font majetek. The Font třída obsahuje širokou škálu vlastností písma možné v Microsoft Word.

font-formatting-aspose-words-java
Následující příklad kódu ukazuje, jak nastavit formátování písma.

Formátování buněk

Při stavbě stolu se používá formátování buněk. Je zastoupena CellFormat objekt vrácený DocumentBuilder.CellFormat majetek. CellFormat zapouzdřuje různé vlastnosti stolních buněk, jako je šířka nebo vertikální zarovnání.

cell-formatting-aspose-words-java
Následující příklad kódu ukazuje, jak vytvořit tabulku, která obsahuje jednu formátovanou buňku.

Formátování řádku

Současné formátování řádku se určuje pomocí a RowFormat objekt, který je vrácen DocumentBuilder.RowFormat majetek. Objekt zakrývá informace o formátování všech řádků tabulky.

row-formatting-aspose-words-java
The below code příklad ukazuje, jak vytvořit tabulku, která obsahuje jednu buňku a použít formátování řádku.

Formátování seznamů

Aspose.Words umožňuje snadné vytváření seznamů pomocí formátování seznamu. DokumentBuilder poskytuje DocumentBuilder.ListFormat vlastnost, která vrací a ListFormat objekt. Tento objekt má několik metod ke spuštění a ukončení seznamu a ke zvýšení nebo snížení odrážky.

list-fformatting-aspose-words-java
Existují dva obecné typy seznamů v Microsoft WordZastřelen a sečten.

Kulka nebo číslo a formátování jsou přidány do současného odstavce a všechny další odstavce vytvořené pomocí DocumentBuilderListFormat.removeNumbers se volá, aby zastavil formátování seznamu.

V dokumentech Word se seznamy mohou skládat až z devíti úrovní. Seznam formátování pro každou úroveň určuje, jaká kulka nebo číslo se používá, levá odrážka, prostor mezi kulkou a textem atd.

Metody mění úroveň seznamu a uplatňují formátovací vlastnosti nové úrovně.

Následující příklad kódu ukazuje, jak vytvořit víceúrovňový seznam.

Nastavení stránky a formátování sekce

Nastavení stránky a vlastnosti sekce jsou zapouzdřeny v PageSetup objekt, který je vrácen DocumentBuilder.PageSetup majetek. Objekt obsahuje všechny atributy nastavení stránky sekce (levý okraj, dolní okraj, velikost papíru atd.) jako vlastnosti.

section-formatting-aspose-words-java
Následující příklad kódu ukazuje, jak nastavit takové vlastnosti jako velikost stránky a orientaci pro aktuální sekci.

Použít styl

Některé formátování objektů, jako je písmo nebo odstavecFormat podpůrné styly. Jediný vestavěný nebo uživatelsky definovaný styl představuje Style objekt, který obsahuje odpovídající styl vlastnosti jako jméno, základní styl, písmo a paragraf formátování stylu, a tak dále.

Kromě toho Style objekt poskytuje Style.getStyleIdentifier Vlastnost, která vrací identifikátor locale-nezávislého stylu zastoupený Style.StyleIdentifier hodnota výčtu. Jde o to, že názvy vestavěných stylů Microsoft Word jsou lokalizovány pro různé jazyky. Pomocí identifikátoru stylu můžete najít správný styl bez ohledu na jazyk dokumentu. Hodnoty výčtu odpovídají Microsoft Word vestavěné styly, jako je normální , okruh 1 , okruh 2 atd. Všechny uživatelské styly jsou přiřazeny StyleIdentifier. Uživatelská hodnota.

apply-style-aspose-words-java
Následující příklad kódu ukazuje, jak použít odstavec styl.

Hranice a stínění

Hranice jsou reprezentovány borderColekce. Jedná se o sbírku hraničních objektů, které jsou přístupné podle indexu nebo typu hranice. Typ hranice představuje BorderType výčtu. Některé hodnoty výčtu se vztahují na několik nebo pouze jeden prvek dokumentu. Například, BorderType.Bottom je použitelná pro odstavec nebo tabulku, zatímco BorderType.DiagonalDown určuje diagonální hranici pouze v buňce tabulky.

Sbírka hranic i každá samostatná hranice mají podobné atributy jako barva, styl čáry, šířka čáry, vzdálenost od textu a volitelný stín. Jsou reprezentovány vlastnostmi stejného jména. Můžete dosáhnout různých typů hranic kombinací hodnot nemovitostí. Kromě toho obojí BorderCollection a Border objekty umožňují resetovat tyto hodnoty výchozí voláním Border.clearFormatting metoda. Všimněte si, že když jsou vlastnosti hranic resetovány na výchozí hodnoty, hranice je neviditelná.

set-borders-shading-aspose-words-java
The Shading třída obsahuje stínovací atributy pro prvky dokumentu. Můžete nastavit požadovanou stínovací strukturu a barvy, které jsou aplikovány na pozadí a popředí prvku.

Stinná textura je nastavena na TextureIndex hodnota výčtu, která umožňuje aplikaci různých vzorů na Shading objekt. Například pro nastavení barvy pozadí prvku dokumentu použijte TextureIndex.TextureSolid hodnota a nastavit barvu stínování popředí podle potřeby.

borders-and-shading-aspose-words-java
Níže uvedený příklad ukazuje, jak uplatnit hranice a stínování na odstavec.

Snap to Grid

Aspose.Words poskytuje dvě vlastnosti ParagraphFormat.SnapToGrid a Font.SnapToGrid dostat a nastavit odstavec vlastnost snap na mřížku

Přesunout kurzor

Detekování současné pozice kurzoru

Můžete získat místo, kde je v současné době umístěn kurzor stavitele. The DocumentBuilder.getCurrentNode vlastnost vrací uzel, který je v současné době vybrán v tomto staviteli. Uzel je přímým dítětem odstavce. Jakékoliv vkládání operací, které provádíte pomocí DocumentBuilder vloží se před DocumentBuilder.CurrentNode. Pokud je současný odstavec prázdný nebo je kurzor umístěn těsně před koncem odstavce, DocumentBuilder.CurrentNode vrací null.

Také můžete použít DocumentBuilder.getCurrentParagraph vlastnost, která dostane odstavec, který je v současné době vybrán v tomto DocumentBuilder. The below code příklad ukazuje, jak přistupovat k aktuálnímu uzlu ve staviteli dokumentů.

Stěhování do jakéhokoliv uzlu (Paragrafy a jejich děti)

Pokud máte uzel objektu dokumentu, což je odstavec nebo přímé dítě odstavce, můžete nasměrovat kurzor stavitele na tento uzel. Použijte DocumentBuilder.moveTo způsob, jak to provést. Následující příklad kódu ukazuje, jak přesunout kurzorovou pozici na zadaný uzel.

Přechod na začátek/konec dokumentu

Pokud potřebujete přejít na začátek dokumentu, zavolejte DocumentBuilder.moveToDocumentStart. Pokud potřebujete přejít na konec dokumentu, zavolejte DocumentBuilder.moveToDocumentEnd.

Přesun do sekce

Pokud pracujete s dokumentem, který obsahuje více sekcí, můžete přejít do požadované sekce pomocí DocumentBuilder.moveToSection. Tato metoda posune kurzor na začátek zadané části a přijme index požadované části. Je-li index sekce větší nebo roven 0, určuje index od začátku dokumentu, přičemž 0 je první oddíl. Je-li index sekce menší než 0, určuje index od konce dokumentu, přičemž -1 je poslední část. The below code příklad ukazuje, jak přesunout pozici kurzoru do zadané části. Můžete si stáhnout soubor šablony tohoto příkladu z Tady.

Přesun na hlavičku/footer

Když potřebujete umístit nějaká data do hlavičky nebo zápatí, měli byste se tam pohybovat nejprve pomocí DocumentBuilder.moveToHeaderFooter. Metoda přijímá hodnotu výčtu záhlavíFooterType, která určuje typ hlavičky nebo zápatí, kam by měl být kurzor přesunut.

Pokud chcete vytvořit hlavičky a zápatí, které jsou odlišné pro první stránku, musíte nastavit PageSetup.getDifferentFirstPageHeaderFooter majetek true. Pokud chcete vytvořit hlavičky a zápatí, které jsou odlišné pro sudé a liché stránky, musíte nastavit PageSetup.getOddAndEvenPagesHeaderFootertrue.

Pokud se potřebujete vrátit k hlavnímu příběhu, použijteDocumentBuilder.moveToSection vyjít z hlavičky nebo zápatí. Níže uvedený příklad vytvoří hlavičky a zápatí v dokumentu pomocí DocumentBuilder.

Přechod k odstavci

PoužitíDocumentBuilder.moveToParagraph přesunout kurzor na požadovaný odstavec v aktuální části. Měli byste předat dva parametry této metody: paragraphIndex (index odstavce přesunout na) a znakIndex (index znaku uvnitř odstavce).

Navigace se provádí uvnitř aktuálního příběhu aktuální sekce. Pokud jste kurzor přesunuli do hlavní hlavičky první části, pak odstavecIndex určuje index odstavce uvnitř této hlavičky této části.

Pokud je odstavecIndex větší nebo roven 0, určuje index od začátku oddílu, přičemž 0 je první odstavec. Pokud je odstavecIndex menší než 0, určuje index od konce oddílu, přičemž -1 je poslední odstavec. Index znaků může být v současné době specifikován pouze jako 0, aby se posunul na začátek odstavce nebo -1 k posunu na konec odstavce. Následující příklad kódu ukazuje, jak přesunout polohu kurzoru do uvedeného odstavce. Můžete si stáhnout soubor šablony tohoto příkladu z Tady.

Přesun do stolní buňky

Použití DocumentBuilder.moveToCell Pokud potřebujete přesunout kurzor do buňky tabulky v aktuální sekci. Tato metoda přijímá čtyři parametry:

  • tableIndex - index tabulky k přesunu.
  • rowIndex - index řádku v tabulce.
  • sloupecIndex - index sloupce v tabulce.
  • znakIndex - index znaku uvnitř buňky.

Navigace se provádí v aktuálním příběhu aktuální sekce.

Pro parametry indexu, je-li index větší nebo roven 0, určuje index od začátku s 0 je první prvek. Pokud je index menší než 0, určuje index od konce, přičemž -1 je poslední prvek.

Také, všimněte si, že znakIndex v současné době může určit pouze 0 přesunout na začátek buňky nebo -1 přesunout na konec buňky. Následující příklad kódu ukazuje, jak přesunout kurzorovou pozici do zadané buňky tabulky. Můžete si stáhnout soubor šablony tohoto příkladu z Tady.

Přesun do záložky

Záložky se často používají k označení určitých míst v dokumentu, kde mají být vloženy nové prvky. Přejít do záložky, použít DocumentBuilder.moveToBookmark. Tato metoda má dvě přetížení. Nejjednodušší z nich nepřijímá nic jiného než jméno záložky, kde má být kurzor přesunut. Následující příklad kódu ukazuje, jak přesunout kurzorovou pozici do záložky.

Toto přetížení posune kurzor na pozici těsně po začátku záložky s uvedeným názvem. Další přetížení. DocumentBuilder.moveToBookmark přesune kurzor do záložky s větší přesností. Přijímá dva další booleovské parametry:

  • isStart určuje, zda přesunout kurzor na začátek nebo na konec záložky.
  • isPo rozhodnutí, zda přesunout kurzor po spuštění nebo ukončení záložky, nebo přesunout kurzor před spuštěním nebo koncem záložky.

Následující příklad kódu ukazuje, jak přesunout kurzorovou pozici těsně po skončení záložky.

Vložení nového textu tímto způsobem nenahrazuje stávající text záložky. Všimněte si, že některé záložky v dokumentu jsou přiřazeny k vytvoření polí. Přechod do takové záložky a vložení textu tam vloží text do kódu pole formuláře. I když to nebude rušit pole formuláře, vložený text nebude viditelný, protože se stane součástí kódu pole.

Přesun do Merge Pole

Někdy budete muset provést “ruční” mail merge podání DocumentBuilder nebo vyplnit pole sloučení zvláštním způsobem uvnitř mail merge Správce akcí. Tehdy DocumentBuilder.moveToMergeField Mohlo by to být užitečné. Metoda přijímá název pole sloučení. Přesune kurzor do polohy těsně za zadaným polem sloučení a odstraní pole sloučení. Následující příklad kódu ukazuje, jak přesunout kurzor do polohy těsně za zadaným polem sloučení.

Jak převést mezi měřicími jednotkami

Většina vlastností objektu uvedených v Aspose.Words API které představuje některá měření (šířka/výška, okraje a různé vzdálenosti) přijímají hodnoty v bodech (1 palec = 72 bodů). Někdy to není vhodné, takže tam je ConvertUtil třída, která poskytuje pomocné funkce pro převod mezi různými měřicími jednotkami. Umožňuje převést palce na body, body na palce, pixely na body a body na pixely. Když jsou pixely převedeny na body a naopak, lze je provádět při 96 rozlišeních dpi (tečky na palec) nebo při zadaném rozlišení dpi.

ConvertUtil je velmi užitečné při nastavení různých vlastností stránky, protože například palce jsou více obvyklé měřicí jednotky než body. Následující příklad ukazuje, jak nastavit vlastnosti stránky v palcích.

Následující příklad kódu ukazuje, jak zadat vlastnosti stránky v palcích.