Layout in Zelle

In diesem Tutorial wird erklärt, wie Sie mit Aspose.Words für .NET eine Form in einer Tabellenzelle in einem Word-Dokument anordnen. Indem Sie die Formeigenschaften anpassen und die Layoutoptionen verwenden, können Sie die Positionierung und das Erscheinungsbild der Form in 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: Einrichten des Dokumentverzeichnisses

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

string dataDir = "YOUR DOCUMENT DIRECTORY";

Schritt 2: Neues Dokument und DocumentBuilder erstellen

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

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

Schritt 3: Erstellen Sie die Tabelle

Verwenden Sie dieStartTable, EndTable, InsertCell , UndWrite Methoden derDocumentBuilderObjekt, um eine Tabelle zu erstellen. Stellen Sie die gewünschte Zeilenhöhe und Höhenregel mit demRowFormat 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 der Form

Ein … kreierenShape Objekt und konfigurieren Sie seine Eigenschaften, um das Wasserzeichen zu definieren. Legen Sie die Form fest, die in einer Zelle angeordnet werden soll, mithilfe derIsLayoutInCell 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 Aussehen und den Text der Wasserzeichenform an, indem Sie Eigenschaften festlegen wieFillColor, 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 demInsertNode Methode derDocumentBuilder Objekt. Positionieren Sie die Form mit demMoveTo Methode, um es nach dem letzten Lauf 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 im angegebenen Verzeichnis mit demSave 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 Dokumentverzeichnis
	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.