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:

  1. 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.
  2. 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í.
  3. Základní znalost C#: I když vysvětlím každý krok, základní znalost C# vám pomůže snáze pokračovat.
  4. Adresář dokumentů: Připravte si cestu k adresáři, kam budete dokumenty ukládat. Budeme to označovat jakoYOUR 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.