Rozložení v buňce
Tento tutoriál vysvětluje, jak rozmístit tvar v buňce tabulky v dokumentu aplikace Word pomocí Aspose.Words for .NET. Úpravou vlastností tvaru a použitím možností rozvržení můžete řídit umístění a vzhled tvaru v buňce.
Předpoklady
Abyste mohli postupovat podle tohoto návodu, musíte mít následující:
- Nainstalovaná knihovna Aspose.Words for .NET.
- Základní znalost C# a Word Processing s dokumenty Word.
Krok 1: Nastavte adresář dokumentů
Začněte nastavením cesty k adresáři dokumentů. Nahradit"YOUR DOCUMENT DIRECTORY"
se skutečnou cestou k adresáři, kam chcete dokument uložit.
string dataDir = "YOUR DOCUMENT DIRECTORY";
Krok 2: Vytvořte nový dokument a DocumentBuilder
Vytvořte novou instanci souboruDocument
třída a aDocumentBuilder
objekt pracovat s dokumentem.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Krok 3: Sestavte stůl
PoužijteStartTable
, EndTable
, InsertCell
, aWrite
metodyDocumentBuilder
objekt k sestavení tabulky. Nastavte požadovanou výšku řádku a pravidlo výšky pomocíRowFormat
vlastnosti.
builder.StartTable();
builder.RowFormat.Height = 100;
builder.RowFormat.HeightRule = HeightRule.Exactly;
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: Vytvořte a naformátujte tvar
VytvořitShape
objekt a nakonfigurujte jeho vlastnosti tak, aby definovaly vodoznak. Pomocí tlačítka nastavte tvar, který se má rozložit v buňceIsLayoutInCell
vlastnictví.
Shape watermark = new Shape(doc, ShapeType.TextPlainText)
{
RelativeHorizontalPosition = RelativeHorizontalPosition.Page,
RelativeVerticalPosition = RelativeVerticalPosition.Page,
IsLayoutInCell = true,
Width = 300,
Height = 70,
HorizontalAlignment = HorizontalAlignment.Center,
VerticalAlignment = VerticalAlignment.Center,
Rotation = -40
};
Krok 5: Přizpůsobte tvar
Přizpůsobte vzhled a text tvaru vodoznaku nastavením vlastností, jako je napřFillColor
, StrokeColor
, TextPath
, Name
, WrapType
, atd.
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 tvar do dokumentu
Vložte tvar vodoznaku do dokumentu pomocíInsertNode
metodaDocumentBuilder
objekt. Umístěte tvar pomocíMoveTo
způsob, jak jej umístit za poslední spuštění v dokumentu.
Run run = doc.GetChildNodes(NodeType.Run, true)[doc.GetChildNodes(NodeType.Run, true).Count - 1] as Run;
builder.MoveTo(run);
builder.InsertNode(watermark);
Krok 7: Uložte dokument
Uložte dokument do určeného adresáře pomocíSave
metoda. Zadejte požadovaný název souboru s příslušnou příponou souboru. V tomto příkladu dokument uložíme jako “WorkingWithShapes.LayoutInCell.docx”.
doc.CompatibilityOptions.OptimizeFor(MsWordVersion.Word2010);
doc
.Save(dataDir + "WorkingWithShapes.LayoutInCell.docx");
Příklad zdrojového kódu pro Layout In Cell pomocí Aspose.Words pro .NET
// Cesta k vašemu adresáři dokumentů
string dataDir = "YOUR DOCUMENT DIRECTORY";
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
builder.StartTable();
builder.RowFormat.Height = 100;
builder.RowFormat.HeightRule = HeightRule.Exactly;
for (int i = 0; i < 31; i++)
{
if (i != 0 && i % 7 == 0) builder.EndRow();
builder.InsertCell();
builder.Write("Cell contents");
}
builder.EndTable();
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
};
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;
Run run = doc.GetChildNodes(NodeType.Run, true)[doc.GetChildNodes(NodeType.Run, true).Count - 1] as Run;
builder.MoveTo(run);
builder.InsertNode(watermark);
doc.CompatibilityOptions.OptimizeFor(MsWordVersion.Word2010);
doc.Save(dataDir + "WorkingWithShapes.LayoutInCell.docx");
A je to! Úspěšně jste rozložili tvar v buňce tabulky v dokumentu aplikace Word pomocí Aspose.Words for .NET.