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.
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.
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.
Všimněte si, že Cell může být pouze podřízeným uzlem Row. Současně musí být v Cell alespoň jeden Paragraph, aby na něj bylo možné použít formátování.
Kromě Paragraph můžete také vložit Table do Cell.
Obrázky níže ukazují reprezentaci funkcí formátování Cell v Microsoft Word a jejich odpovídajících vlastností v Aspose.Words.
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í.
Ve většině případů se doporučuje preferovaná buňka než šířka tabulky. Preferovaná Šířka buňky je více v souladu se specifikací formátu DOCX a také s modelem Aspose.Words.
Šířka buňky je ve skutečnosti vypočtená hodnota pro formát DOCX. Skutečná šířka buňky může záviset na mnoha věcech. Například změna okrajů stránky nebo preferované šířky tabulky může ovlivnit skutečnou šířku buňky.
Preferovaná Šířka buňky je vlastnost buňky, která je uložena v dokumentu. Nezávisí na ničem a nemění se při změně tabulky nebo jiných vlastností buňky.
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.
Příklad, jak jsou tyto možnosti použity na skutečnou tabulku v dokumentu, lze vidět na obrázku níže.
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:
- Vlastnost Table.AllowAutoFit je povolena pro automatickou změnu velikosti sloupců tak, aby odpovídaly dostupnému obsahu, pomocí hodnoty Table.PreferredWidth 100%
- CellFormat.PreferredWidth je odstraněn ze všech buněk tabulky
Všimněte si, že se to mírně liší od chování Microsoft Word, kde je preferovaná šířka každé buňky nastavena na příslušné hodnoty na základě jejich aktuální velikosti a obsahu. Aspose.Words neaktualizuje preferovanou šířku, takže se místo toho vyčistí.
- Šíř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
- Šíř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:
-
Vlastnost Table.AllowAutoFit je povolena pro automatickou změnu velikosti každé buňky podle jejího obsahu
-
Preferovaná šířka tabulky je odstraněna z Table.PreferredWidth, CellFormat.PreferredWidth je odstraněna pro každou buňku tabulky
Všimněte si, že tato možnost automatického přizpůsobení odstraní preferovanou šířku z buněk, stejně jako v Microsoft Word. Pokud chcete zachovat velikosti sloupců a zvětšit nebo zmenšit sloupce tak, aby odpovídaly obsahu, měli byste nastavit vlastnost Table.AllowAutoFit na True samostatně, spíše než pomocí zástupce automatického přizpůsobení. -
Šíř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:
- Vlastnost Table.AllowAutoFit je zakázána, takže sloupce nerostou ani se nezmenšují na svůj obsah
- Preferovaná šířka celé tabulky je odstraněna z Table.PreferredWidth, CellFormat.PreferredWidth je odstraněna ze všech buněk tabulky
- 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.
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.
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: