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.