Použít Formátování

Každý prvek tabulky lze použít s různým formátováním. Například formátování tabulky se použije na celou tabulku, formátování řádků pouze na konkrétní řádky, formátování buněk pouze na určité buňky.

Aspose.Words poskytuje bohatý API pro načtení a použití formátování tabulky. K nastavení formátování můžete použít Uzly Table, RowFormat a CellFormat.

V tomto článku si povíme, jak použít formátování na různé uzly tabulky a jaká nastavení formátování tabulky Aspose.Words podporuje.

Použít formátování na různé uzly

V této části se podíváme na použití formátování na různé uzly tabulky.

Formátování Úrovně Tabulky

Chcete-li použít formátování tabulky, můžete použít vlastnosti dostupné v odpovídajícím uzlu Table pomocí tříd Table, PreferredWidth a TableCollection.

Obrázky níže ukazují reprezentaci funkcí formátování Table v Microsoft Word a jejich odpovídajících vlastností v Aspose.Words.

formattin-features-table-level-aspose-words-cpp

formatting-table-options-aspose-words-cpp

Následující příklad kódu ukazuje, jak použít ohraničení obrysu na tabulku:

Následující příklad kódu ukazuje, jak vytvořit tabulku se všemi povolenými okraji (mřížka):

Formátování Úrovně Řádku

Úroveň řádku

Obrázky níže ukazují reprezentaci funkcí formátování Row v Microsoft Word a jejich odpovídajících vlastností v Aspose.Words.

formatting-row-level-aspose-words-cpp

Následující příklad kódu ukazuje, jak upravit formátování řádku tabulky:

Formátování Na Úrovni Buněk

Formátování na úrovni buněk je řízeno třídami Cell, CellFormat a CellCollection.

Obrázky níže ukazují reprezentaci funkcí formátování Cell v Microsoft Word a jejich odpovídajících vlastností v Aspose.Words.

formatting-cell-level-aspose-words-cpp

auto-formatting-cell-level-aspose-words-cpp

Následující příklad kódu ukazuje, jak upravit formátování buňky tabulky:

Následující příklad kódu ukazuje, jak nastavit velikost prostoru (v bodech), který se má přidat do levé / horní / pravé / dolní části obsahu buňky:

Určete Výšky Řádků

Nejjednodušší způsob, jak nastavit výšku řádku, je použít DocumentBuilder. Pomocí příslušných vlastností RowFormat můžete nastavit výchozí nastavení výšky nebo použít jinou výšku pro každý řádek v tabulce.

V Aspose.Words je výška řádku tabulky řízena:

  • vlastnost výška řádku - Height
  • vlastnost pravidla výšky pro daný řádek - HeightRule

Současně lze pro každý řádek nastavit jinou výšku-to vám umožní široce ovládat nastavení tabulky.

Následující příklad kódu ukazuje, jak vytvořit tabulku obsahující jednu buňku a použít formátování řádků:

Určení šířky tabulky a buněk

Tabulka v dokumentu Microsoft Word poskytuje několik různých způsobů, jak změnit velikost tabulky a jednotlivých buněk. Tyto vlastnosti umožňují značnou kontrolu nad vzhledem a chováním tabulky, takže Aspose.Words podporuje chování tabulek, jako v Microsoft Word.

Je důležité vědět, že prvky tabulky mají několik různých vlastností, které mohou ovlivnit způsob výpočtu šířky celkové tabulky i jednotlivých buněk:

  • Preferovaná šířka na stole
  • Preferovaná šířka na jednotlivých buňkách
  • Povolení automatického přizpůsobení na stole

Tento článek podrobně popisuje, jak různé vlastnosti výpočtu šířky tabulky fungují a jak získat plnou kontrolu nad výpočtem šířky tabulky. Tohle je zvláště užitečné vědět v takových případech, kdy se rozložení tabulky nezobrazí podle očekávání.

Jak používat preferovanou šířku

Požadovaná šířka tabulky nebo jednotlivých buněk je definována pomocí vlastnosti preferovaná šířka, což je velikost, kterou se prvek snaží přizpůsobit. To znamená, že preferovanou šířku lze zadat pro celou tabulku nebo pro jednotlivé buňky. V některých situacích nemusí být možné tuto šířku přesně přizpůsobit, ale skutečná šířka bude ve většině případů této hodnotě blízká.

Příslušný preferovaný typ šířky a hodnota se nastavují pomocí metod třídy PreferredWidth:

  • Auto metoda pro zadání auto nebo"no preferred width"
  • metoda FromPercent pro určení procentuální šířky
  • metoda FromPoints pro určení šířky v bodech

Obrázky níže ukazují reprezentaci preferred width setting features v Microsoft Word a jejich odpovídající vlastnosti v Aspose.Words.

formatting-table-properties-aspose-words-cpp

Příklad, jak jsou tyto možnosti použity na skutečnou tabulku v dokumentu, lze vidět na obrázku níže.

todo:image_alt_text

Určete preferovanou šířku tabulky nebo buňky

V Aspose.Words jsou šířky tabulky a buněk nastaveny pomocí vlastnosti Table.PreferredWidth a vlastnosti CellFormat.PreferredWidth s možnostmi dostupnými ve výčtu PreferredWidthType:

  • Auto, což odpovídá žádné preferované sadě šířky
  • Percent, který odpovídá prvku vzhledem k dostupnému prostoru ve velikosti okna nebo kontejneru, a přepočítá hodnotu, když se změní dostupná šířka
  • Points, což odpovídá prvku zadané šířky v bodech

Použití vlastnosti Table.PreferredWidth upraví její preferovanou šířku vzhledem k jejímu kontejneru: stránka, textový sloupec nebo vnější buňka tabulky, pokud se jedná o vnořenou tabulku.

Následující příklad kódu ukazuje, jak nastavit tabulku na automatické přizpůsobení na 50% šířky stránky:

Použití vlastnosti CellFormat.PreferredWidth v dané buňce upraví její preferovanou šířku.

Následující příklad kódu ukazuje, jak nastavit různá preferovaná nastavení šířky:

Najděte preferovaný typ a hodnotu šířky

Pomocí vlastností Type a Value můžete najít preferované podrobnosti o šířce požadované tabulky nebo buňky.

Následující příklad kódu ukazuje, jak načíst preferovaný typ šířky buňky tabulky:

Jak nastavit Autofit

Vlastnost AllowAutoFit umožňuje buňkám v tabulce růst a zmenšovat se podle vybraného kritéria. Můžete například použít možnost AutoFit to Window, aby se tabulka přizpůsobila šířce stránky, a možnost AutoFit to Content, aby každá buňka mohla růst nebo zmenšovat podle jejího obsahu.

Ve výchozím nastavení Aspose.Words vloží novou tabulku pomocí AutoFit to Window. Tabulka bude dimenzována podle dostupné šířky stránky. Chcete-li změnit velikost tabulky, můžete zavolat metodu AutoFit. Tato metoda přijímá výčet AutoFitBehavior, který určuje, jaký typ automatického přizpůsobení se použije na tabulku.

Je důležité vědět, že metoda autofit je ve skutečnosti zkratka, která současně aplikuje různé vlastnosti tabulky. Jedná se o vlastnosti, které ve skutečnosti dávají tabulce pozorované chování. Tyto vlastnosti probereme pro každou možnost automatického přizpůsobení.

Následující příklad kódu ukazuje, jak nastavit tabulku pro zmenšení nebo růst každé buňky podle jejího obsahu:

AutoFit tabulka do okna

Když se na tabulku použije automatické přizpůsobení okna, v zákulisí se skutečně provádějí následující operace:

  1. Vlastnost Table.AllowAutoFit je povolena pro automatickou změnu velikosti sloupců tak, aby odpovídaly dostupnému obsahu, pomocí hodnoty Table.PreferredWidth 100%
  2. CellFormat.PreferredWidth je odstraněn ze všech buněk tabulky
  3. Šířky sloupců se přepočítávají pro aktuální obsah tabulky – konečným výsledkem je tabulka, která zabírá celou dostupnou šířku
  4. Šířka sloupců v tabulce se automaticky mění, když uživatel upravuje text

Následující příklad kódu ukazuje, jak automaticky nastavit tabulku na šířku stránky:

AutoFit tabulka k obsahu

Když je tabulka automaticky vybavena obsahem, v zákulisí se skutečně provádějí následující kroky:

  1. Vlastnost Table.AllowAutoFit je povolena pro automatickou změnu velikosti každé buňky podle jejího obsahu

  2. Preferovaná šířka tabulky je odstraněna z Table.PreferredWidth, CellFormat.PreferredWidth je odstraněna pro každou buňku tabulky

  3. Šířky sloupců se přepočítávají pro aktuální obsah tabulky – konečným výsledkem je tabulka, kde se šířky sloupců a šířka celé tabulky automaticky mění tak, aby co nejlépe odpovídaly obsahu, když uživatel upravuje text

Následující příklad kódu ukazuje, jak automaticky přizpůsobit tabulku jejímu obsahu:

Zakázat AutoFit v tabulce a použít pevné šířky sloupců

Pokud je v tabulce zakázáno automatické přizpůsobení a místo toho se použijí pevné šířky sloupců, provedou se následující kroky:

  1. Vlastnost Table.AllowAutoFit je zakázána, takže sloupce nerostou ani se nezmenšují na svůj obsah
  2. Preferovaná šířka celé tabulky je odstraněna z Table.PreferredWidth, CellFormat.PreferredWidth je odstraněna ze všech buněk tabulky
  3. Konečným výsledkem je tabulka, jejíž šířky sloupců jsou určeny vlastností CellFormat.Width a jejíž velikost sloupců se automaticky nezmění, když uživatel zadá text nebo když se změní velikost stránky

Následující příklad kódu ukazuje, jak zakázat automatické přizpůsobení a povolit pevnou šířku pro zadanou tabulku:

Pořadí priority při výpočtu šířky buňky

Aspose.Words umožňuje uživatelům definovat šířku tabulky nebo buňky prostřednictvím více objektů, včetně CellFormat – jeho vlastnost Width většinou zbyla z předchozích verzí, nicméně je stále užitečná pro zjednodušení nastavení šířky buňky.

Je důležité vědět, že vlastnost CellFormat.Width funguje odlišně v závislosti na tom, která z ostatních vlastností šířky již v tabulce existuje.

Aspose.Words používá následující pořadí pro výpočet šířky buněk:

Objednávka Vlastnost Popis
AllowAutoFit je určeno Pokud je povoleno AutoFit:
- tabulka může růst přes preferovanou šířku, aby se přizpůsobila obsahu-obvykle se nesnižuje pod preferovanou šířku
- jakákoli změna hodnoty CellFormat.Width je ignorována a buňka se místo toho vejde do jejího obsahu
PreferredWidthType s hodnotou Points nebo Percent CellFormat.Width je ignorován
PreferredWidthType s hodnotou Auto Hodnota z CellFormat.Width se zkopíruje a stane se preferovanou šířkou buňky (v bodech)

Povolit Mezery Mezi Buňkami

Mezi buňkami tabulky můžete získat nebo nastavit libovolný další prostor podobný možnosti “mezery mezi buňkami” v Microsoft Word. To lze provést pomocí vlastnosti AllowCellSpacing.

Příklad, jak jsou tyto možnosti použity na skutečnou tabulku v dokumentu, lze vidět na obrázku níže.

formatting-spacing-between-cells-aspose-words-cpp

Následující příklad kódu ukazuje, jak nastavit mezery mezi buňkami:

Použít ohraničení a stínování

Ohraničení a stínování lze použít buď na celou tabulku pomocí Table.SetBorder, Table.SetBorders a Table.SetShading, nebo pouze na konkrétní buňky pomocí CellFormat.Borders a CellFormat.Shading. Okraje řádků lze navíc nastavit pomocí RowFormat.Borders, ale stínování nelze použít tímto způsobem.

Níže uvedené obrázky ukazují nastavení ohraničení a stínů v Microsoft Word a jejich odpovídající vlastnosti v Aspose.Words.

formatting-border-line-aspose-words-cpp

formatting-cell-color-aspose-words-cpp

Následující příklad kódu ukazuje, jak formátovat tabulku a buňku s různými okraji a stínováním: