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 derDocumentBuilder
Objekt, 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.