Rozložení v buňce
Zavedení
Pokud jste někdy chtěli doladit rozložení buněk tabulky v dokumentech Wordu programově, jste na správném místě. Dnes se ponoříme do toho, jak nastavit rozložení v buňce pomocí Aspose.Words pro .NET. Projdeme si praktický příklad a rozebereme ho krok za krokem, abyste jej mohli snadno sledovat.
Předpoklady
Než se pustíme do kódu, ujistěte se, že máte vše, co potřebujete:
- Aspose.Words for .NET: Ujistěte se, že máte nainstalovanou knihovnu Aspose.Words for .NET. Pokud ne, můžetestáhněte si jej zde.
- Vývojové prostředí: Budete potřebovat vývojové prostředí nastavené s .NET. Visual Studio je skvělá volba, pokud hledáte doporučení.
- Základní znalost C#: I když vysvětlím každý krok, základní znalost C# vám pomůže snáze pokračovat.
- Adresář dokumentů: Připravte si cestu k adresáři, kam budete dokumenty ukládat. Budeme to označovat jako
YOUR DOCUMENT DIRECTORY
.
Importovat jmenné prostory
Chcete-li začít, ujistěte se, že do projektu importujete potřebné jmenné prostory:
using System;
using System.Drawing;
using Aspose.Words;
using Aspose.Words.Drawing;
using Aspose.Words.Tables;
Pojďme si tento proces rozdělit na zvládnutelné kroky.
Krok 1: Vytvořte nový dokument
Nejprve vytvoříme nový dokument Word a inicializujeme aDocumentBuilder
objekt, který nám pomůže vytvořit náš obsah.
string dataDir = "YOUR DOCUMENT DIRECTORY";
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Krok 2: Spusťte tabulku a nastavte formát řádků
Začneme konstruovat tabulku a určíme výšku a pravidlo výšky pro řádky.
builder.StartTable();
builder.RowFormat.Height = 100;
builder.RowFormat.HeightRule = HeightRule.Exactly;
Krok 3: Vložte buňky a naplňte je obsahem
Dále smyčkou vložíme buňky do tabulky. Pro každých 7 buněk ukončíme řádek a vytvoříme nový.
for (int i = 0; i < 31; i++)
{
if (i != 0 && i % 7 == 0) builder.EndRow();
builder.InsertCell();
builder.Write("Cell contents");
}
builder.EndTable();
Krok 4: Přidejte tvar vodoznaku
Nyní do našeho dokumentu přidáme vodoznak. Vytvoříme aShape
objekt a nastavit jeho vlastnosti.
Shape watermark = new Shape(doc, ShapeType.TextPlainText)
{
RelativeHorizontalPosition = RelativeHorizontalPosition.Page,
RelativeVerticalPosition = RelativeVerticalPosition.Page,
IsLayoutInCell = true, // Zobrazte tvar mimo buňku tabulky, pokud bude umístěn do buňky.
Width = 300,
Height = 70,
HorizontalAlignment = HorizontalAlignment.Center,
VerticalAlignment = VerticalAlignment.Center,
Rotation = -40
};
Krok 5: Přizpůsobte vzhled vodoznaku
Vzhled vodoznaku dále přizpůsobíme nastavením jeho barev a vlastností textu.
watermark.FillColor = Color.Gray;
watermark.StrokeColor = Color.Gray;
watermark.TextPath.Text = "watermarkText";
watermark.TextPath.FontFamily = "Arial";
watermark.Name = $"WaterMark_{Guid.NewGuid()}";
watermark.WrapType = WrapType.None;
Krok 6: Vložte vodoznak do dokumentu
V dokumentu najdeme poslední běh a na toto místo vložíme vodoznak.
Run run = doc.GetChildNodes(NodeType.Run, true)[doc.GetChildNodes(NodeType.Run, true).Count - 1] as Run;
builder.MoveTo(run);
builder.InsertNode(watermark);
Krok 7: Optimalizujte dokument pro Word 2010
Aby byla zajištěna kompatibilita, optimalizujeme dokument pro Word 2010.
doc.CompatibilityOptions.OptimizeFor(MsWordVersion.Word2010);
Krok 8: Uložte dokument
Nakonec náš dokument uložíme do zadaného adresáře.
doc.Save(dataDir + "WorkingWithShapes.LayoutInCell.docx");
Závěr
A tady to máte! Úspěšně jste vytvořili dokument aplikace Word s přizpůsobeným rozložením tabulky a přidali jste vodoznak pomocí Aspose.Words for .NET. Cílem tohoto kurzu bylo poskytnout jasného průvodce krok za krokem, který vám pomůže porozumět každé části procesu. S těmito dovednostmi nyní můžete programově vytvářet sofistikovanější a přizpůsobené dokumenty Wordu.
FAQ
Mohu pro text vodoznaku použít jiné písmo?
Ano, můžete změnit písmo nastavenímwatermark.TextPath.FontFamily
vlastnost na požadované písmo.
Jak upravím polohu vodoznaku?
Můžete upravitRelativeHorizontalPosition
, RelativeVerticalPosition
, HorizontalAlignment
aVerticalAlignment
vlastnosti pro úpravu polohy vodoznaku.
Je možné pro vodoznak použít místo textu obrázek?
Absolutně! Můžete vytvořit aShape
s typemShapeType.Image
a nastavte jeho obrázek pomocíImageData.SetImage
metoda.
Mohu vytvořit tabulky s různou výškou řádků?
Ano, můžete nastavit různé výšky pro každý řádek změnouRowFormat.Height
vlastnost před vložením buněk do tohoto řádku.
Jak odstraním vodoznak z dokumentu?
Vodoznak můžete odstranit tak, že jej vyhledáte v kolekci tvarů dokumentu a zavoláte jejRemove
metoda.