Použít stolní styl
Styl tabulky definuje soubor formátování, který lze snadno aplikovat na tabulku. Formátování jako jsou hranice, stínování, zarovnání a písmo lze nastavit ve stylu tabulky a aplikovat na mnoho tabulek pro konzistentní vzhled.
Aspose.Words podporuje použití stylu tabulky na tabulku a také čtení vlastností jakéhokoli stylu tabulky. Styly stolů jsou během nakládky a ukládání zachovány následujícími způsoby:
- Stolní styly ve formátech DOCX a WordML jsou zachovány při načítání a ukládání do těchto formátů
- Styly tabulky jsou zachovány při načítání a ukládání ve formátu DOC (ale ne do jiného formátu)
- Při exportu do jiných formátů, vykreslování nebo tisku jsou styly tabulky rozšířeny na přímý formátování v tabulce, takže všechny formátování je zachováno
Vytvořit stolní styl
Uživatel může vytvořit nový styl a přidat jej do kolekce stylů. • Add metoda se používá k vytvoření nového stylu tabulky.
Následující příklad kódu ukazuje, jak vytvořit nový uživatelsky definovaný styl tabulky:
# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET.git. | |
doc = aw.Document() | |
builder = aw.DocumentBuilder(doc) | |
table = builder.start_table() | |
builder.insert_cell() | |
builder.write("Name") | |
builder.insert_cell() | |
builder.write("Value") | |
builder.end_row() | |
builder.insert_cell() | |
builder.insert_cell() | |
builder.end_table() | |
table_style = doc.styles.add(aw.StyleType.TABLE, "MyTableStyle1").as_table_style() | |
table_style.borders.line_style = aw.LineStyle.DOUBLE | |
table_style.borders.line_width = 1 | |
table_style.left_padding = 18 | |
table_style.right_padding = 18 | |
table_style.top_padding = 12 | |
table_style.bottom_padding = 12 | |
table.style = table_style | |
doc.save(ARTIFACTS_DIR + "WorkingWithTableStylesAndFormatting.create_table_style.docx") |
Kopírovat stávající stolní styl
V případě potřeby můžete zkopírovat styl tabulky, který již existuje v určitém dokumentu do vaší sbírky stylu pomocí AddCopy
metoda.
Je důležité vědět, že s tímto kopírováním jsou také kopírovány propojené styly.
Následující příklad kódu ukazuje, jak importovat styl z jednoho dokumentu do jiného dokumentu:
# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET.git. | |
src_doc = aw.Document() | |
# Create a custom style for the source document. | |
src_style = src_doc.styles.add(aw.StyleType.PARAGRAPH, "MyStyle") | |
src_style.font.color = drawing.Color.red | |
# Import the source document's custom style into the destination document. | |
dst_doc = aw.Document() | |
new_style = dst_doc.styles.add_copy(src_style) | |
# The imported style has an appearance identical to its source style. | |
self.assertEqual("MyStyle", new_style.name) | |
self.assertEqual(drawing.Color.red.to_argb(), new_style.font.color.to_argb()) |
Použít stávající stolní styl
Aspose.Words poskytuje TableStyle zděděné po Style třída. TableStyle usnadňuje uživateli aplikovat různé možnosti stylu, jako je stínování, vycpávání, odsazení, CellSpacing a Font, atd.
Kromě toho Aspose.Words poskytuje StyleCollection třída a několik vlastností Table
třída k určení, s jakým stylem tabulky budeme pracovat: Style, StyleIdentifier, StyleName, a StyleOptions.
Aspose.Words také poskytuje ConditionalStyle třída, která představuje speciální formátování aplikované na některé oblasti tabulky s přiřazeným způsobem tabulky, a ConditionalStyleCollection který představuje kolekci ConditionalStyle objekty. Tento soubor obsahuje stálou sadu položek představujících jednu položku pro každou hodnotu ConditionalStyleType typ výčtu. • ConditionalStyleType výčtu definuje všechny možné plochy tabulky, do kterých lze definovat podmíněný formátování ve stylu tabulky.
V tomto případě lze definovat podmínečné formátování pro všechny možné plochy tabulky definované pod Typem výčtu pod podmínkouStyleType.
Následující příklad kódu ukazuje, jak definovat podmíněný formát pro řádek záhlaví tabulky:
# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET.git. | |
doc = aw.Document() | |
builder = aw.DocumentBuilder(doc) | |
table = builder.start_table() | |
builder.insert_cell() | |
builder.write("Name") | |
builder.insert_cell() | |
builder.write("Value") | |
builder.end_row() | |
builder.insert_cell() | |
builder.insert_cell() | |
builder.end_table() | |
table_style = doc.styles.add(aw.StyleType.TABLE, "MyTableStyle1").as_table_style() | |
table_style.conditional_styles.first_row.shading.background_pattern_color = drawing.Color.green_yellow | |
table_style.conditional_styles.first_row.shading.texture = aw.TextureIndex.TEXTURE_NONE | |
table.style = table_style | |
doc.save(ARTIFACTS_DIR + "WorkingWithTableStylesAndFormatting.define_conditional_formatting.docx") |
Můžete si také vybrat, které části tabulky použít styly, jako je první sloupec, poslední sloupec, pruhované řádky. Jsou uvedeny v TableStyleOptions počet a jsou aplikovány prostřednictvím StyleOptions majetek. • TableStyleOptions počet umožňuje trochu kombinovat tyto funkce.
Následující příklad kódu ukazuje, jak vytvořit novou tabulku se stylem tabulky:
# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET.git. | |
doc = aw.Document() | |
builder = aw.DocumentBuilder(doc) | |
table = builder.start_table() | |
# We must insert at least one row first before setting any table formatting. | |
builder.insert_cell() | |
# Set the table style used based on the unique style identifier. | |
table.style_identifier = aw.StyleIdentifier.MEDIUM_SHADING1_ACCENT1 | |
# Apply which features should be formatted by the style. | |
table.style_options = aw.tables.TableStyleOptions.FIRST_COLUMN | aw.tables.TableStyleOptions.ROW_BANDS | aw.tables.TableStyleOptions.FIRST_ROW | |
table.auto_fit(aw.tables.AutoFitBehavior.AUTO_FIT_TO_CONTENTS) | |
builder.writeln("Item") | |
builder.cell_format.right_padding = 40 | |
builder.insert_cell() | |
builder.writeln("Quantity (kg)") | |
builder.end_row() | |
builder.insert_cell() | |
builder.writeln("Apples") | |
builder.insert_cell() | |
builder.writeln("20") | |
builder.end_row() | |
builder.insert_cell() | |
builder.writeln("Bananas") | |
builder.insert_cell() | |
builder.writeln("40") | |
builder.end_row() | |
builder.insert_cell() | |
builder.writeln("Carrots") | |
builder.insert_cell() | |
builder.writeln("50") | |
builder.end_row() | |
doc.save(ARTIFACTS_DIR + "WorkingWithTableStylesAndFormatting.build_table_with_style.docx") |
Následující obrázky ukazují zastoupení Table Styles tro Microsoft Word a jejich odpovídající vlastnosti v Aspose.Words.
Práce se stolními styly
Styl tabulky definuje soubor formátování, který lze snadno aplikovat na tabulku. Formátování jako jsou hranice, stínování, zarovnání a písmo lze nastavit ve stylu tabulky a aplikovat na mnoho tabulek pro konzistentní vzhled.
Aspose.Words podporuje použití stylu tabulky na tabulku a také čtení vlastností jakéhokoli stylu tabulky. Styly stolů jsou během nakládky a ukládání zachovány následujícími způsoby:
- Styly tabulky ve formátech DOCX a WordML jsou zachovány při načítání a ukládání do těchto formátů.
- Styly tabulky jsou zachovány při načítání a ukládání ve formátu DOC (ale ne do jiného formátu).
- Při exportu do jiných formátů, vykreslování nebo tisku se styly stolů rozšiřují na přímé formátování na stůl, takže je zachován formátování.
V současné době nemůžete vytvářet nové stolní styly. Můžete použít pouze vestavěné stolní styly nebo vlastní stolní styly, které již existují v dokumentu k tabulce
Vzít formátování z stolního stylu a aplikovat jej jako přímý formát
Aspose.Words také poskytuje ExpandTableStylesToDirectFormatting způsob, jak vzít formátování nalezené na stylu tabulky a rozšiřuje ji na řádky a buňky tabulky jako přímý formátování. Zkuste kombinovat formátování se stylem tabulky a buňky.
Následující příklad kódu ukazuje, jak rozšířit formátování ze stylů na řádky tabulky a buňky jako přímý formátování:
# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET.git. | |
doc = aw.Document(MY_DIR + "Tables.docx") | |
# Get the first cell of the first table in the document. | |
table = doc.get_child(aw.NodeType.TABLE, 0, True).as_table() | |
first_cell = table.first_row.first_cell | |
# First print the color of the cell shading. | |
# This should be empty as the current shading is stored in the table style. | |
cell_shading_before = first_cell.cell_format.shading.background_pattern_color | |
print("Cell shading before style expansion:", cell_shading_before) | |
doc.expand_table_styles_to_direct_formatting() | |
# Now print the cell shading after expanding table styles. | |
# A blue background pattern color should have been applied from the table style. | |
cell_shading_after = first_cell.cell_format.shading.background_pattern_color | |
print("Cell shading after style expansion:", cell_shading_after) |