Layout in Zelle

In diesem Tutorial wird erklärt, wie Sie mit Aspose.Words für .NET eine Form innerhalb einer Tabellenzelle in einem Word-Dokument anordnen. Durch Anpassen der Formeigenschaften und Verwendung der Layoutoptionen können Sie die Positionierung und das Erscheinungsbild der Form innerhalb der Zelle steuern.

Voraussetzungen

Um diesem Tutorial folgen zu können, benötigen Sie Folgendes:

  • Aspose.Words für .NET-Bibliothek installiert.
  • Grundkenntnisse in C# und Textverarbeitung mit Word-Dokumenten.

Schritt 1: Richten Sie das Dokumentenverzeichnis ein

Beginnen Sie mit der Einrichtung des Pfads zu Ihrem Dokumentenverzeichnis. Ersetzen"YOUR DOCUMENT DIRECTORY" mit dem tatsächlichen Pfad zu dem Verzeichnis, in dem Sie das Dokument speichern möchten.

string dataDir = "YOUR DOCUMENT DIRECTORY";

Schritt 2: Erstellen Sie ein neues Dokument und einen neuen DocumentBuilder

Erstellen Sie eine neue Instanz vonDocument Klasse und aDocumentBuilder Objekt, um mit dem Dokument zu arbeiten.

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

Schritt 3: Erstellen Sie die Tabelle

Benutzen Sie dieStartTable, EndTable, InsertCell , UndWrite Methoden derDocumentBuilder Objekt zum Erstellen einer Tabelle. Stellen Sie die gewünschte Zeilenhöhe und Höhenregel mit einRowFormat Eigenschaften.

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

Schritt 4: Erstellen und formatieren Sie die Form

Ein … kreierenShape Objekt und konfigurieren Sie seine Eigenschaften, um das Wasserzeichen zu definieren. Legen Sie mithilfe von fest, welche Form innerhalb einer Zelle angeordnet werden sollIsLayoutInCell Eigentum.

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

Schritt 5: Passen Sie die Form an

Passen Sie das Erscheinungsbild und den Text der Wasserzeichenform an, indem Sie Eigenschaften wie festlegenFillColor, StrokeColor, TextPath, Name, WrapType, usw.

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;

Schritt 6: Fügen Sie die Form in das Dokument ein

Fügen Sie die Wasserzeichenform mit in das Dokument einInsertNode Methode derDocumentBuilder Objekt. Positionieren Sie die Form mit demMoveTo Methode, um es nach der letzten Ausführung im Dokument zu platzieren.

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

Schritt 7: Speichern Sie das Dokument

Speichern Sie das Dokument mit im angegebenen VerzeichnisSave Methode. Geben Sie den gewünschten Dateinamen mit der entsprechenden Dateierweiterung an. In diesem Beispiel speichern wir das Dokument als „WorkingWithShapes.LayoutInCell.docx“.

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

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

Beispielquellcode für Layout In Cell mit Aspose.Words für .NET

	// Pfad zu Ihrem Dokumentenverzeichnis
	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, // Zeigen Sie die Form außerhalb der Tabellenzelle an, wenn sie in einer Zelle platziert wird.
		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");

Das ist es! Sie haben mit Aspose.Words für .NET erfolgreich eine Form in einer Tabellenzelle in einem Word-Dokument angelegt.