Layout I Cell

Denna handledning förklarar hur man layoutar en form i en tabellcell i ett Word-dokument med Aspose.Words för .NET. Genom att justera formegenskaperna och använda layoutalternativen kan du styra placeringen och utseendet på formen i cellen.

Förutsättningar

För att följa denna handledning måste du ha följande:

  • Aspose.Words för .NET-biblioteket installerat.
  • Grundläggande kunskaper i C# och ordbehandling med Word-dokument.

Steg 1: Konfigurera dokumentkatalogen

Börja med att ställa in sökvägen till din dokumentkatalog. Byta ut"YOUR DOCUMENT DIRECTORY" med den faktiska sökvägen till katalogen där du vill spara dokumentet.

string dataDir = "YOUR DOCUMENT DIRECTORY";

Steg 2: Skapa ett nytt dokument och DocumentBuilder

Skapa en ny instans avDocument klass och aDocumentBuilder objekt för att arbeta med dokumentet.

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

Steg 3: Bygg tabellen

AnvändStartTable, EndTable, InsertCell , ochWrite metoder förDocumentBuilder objekt för att bygga ett bord. Ställ in önskad radhöjd och höjdregel med hjälp avRowFormat egenskaper.

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();

Steg 4: Skapa och formatera formen

Skapa enShape objekt och konfigurera dess egenskaper för att definiera vattenstämpeln. Ställ in formen som ska läggas ut i en cell med hjälp avIsLayoutInCell fast egendom.

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
};

Steg 5: Anpassa formen

Anpassa vattenstämpelns utseende och text genom att ställa in egenskaper som t.exFillColor, StrokeColor, TextPath, Name, WrapType, etc.

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;

Steg 6: Infoga formen i dokumentet

Infoga vattenstämpelns form i dokumentet med hjälp avInsertNode metod förDocumentBuilder objekt. Placera formen med hjälp avMoveTo metod för att placera den efter den senaste körningen i dokumentet.

Run run = doc.GetChildNodes(NodeType.Run, true)[doc.GetChildNodes(NodeType.Run, true).Count - 1] as Run;
builder.MoveTo(run);
builder.InsertNode(watermark);

Steg 7: Spara dokumentet

Spara dokumentet i den angivna katalogen med hjälp avSave metod. Ange önskat filnamn med lämplig filtillägg. I det här exemplet sparar vi dokumentet som “WorkingWithShapes.LayoutInCell.docx”.

doc.CompatibilityOptions.OptimizeFor(MsWordVersion.Word2010);
doc

.Save(dataDir + "WorkingWithShapes.LayoutInCell.docx");

Exempel på källkod för Layout In Cell med Aspose.Words för .NET

	// Sökväg till din dokumentkatalog
	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, // Visa formen utanför tabellcellen om den ska placeras i en cell.
		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");

Det är allt! Du har framgångsrikt lagt ut en form i en tabellcell i ett Word-dokument med Aspose.Words för .NET.