Disposizione nella cella
Questo tutorial spiega come disporre una forma all’interno di una cella di tabella in un documento di Word utilizzando Aspose.Words per .NET. Regolando le proprietà della forma e utilizzando le opzioni di layout, puoi controllare il posizionamento e l’aspetto della forma all’interno della cella.
Prerequisiti
Per seguire questo tutorial, è necessario disporre di quanto segue:
- Aspose.Words per la libreria .NET installata.
- Conoscenza base di C# ed elaborazione testi con documenti Word.
Passaggio 1: impostare la directory dei documenti
Inizia impostando il percorso della directory dei documenti. Sostituire"YOUR DOCUMENT DIRECTORY"
con il percorso effettivo della directory in cui desideri salvare il documento.
string dataDir = "YOUR DOCUMENT DIRECTORY";
Passaggio 2: crea un nuovo documento e DocumentBuilder
Crea una nuova istanza diDocument
classe e aDocumentBuilder
oggetto di lavorare con il documento.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Passaggio 3: costruisci la tabella
Usa ilStartTable
, EndTable
, InsertCell
, EWrite
metodi delDocumentBuilder
oggetto per costruire una tabella. Imposta l’altezza della riga desiderata e la regola dell’altezza utilizzandoRowFormat
proprietà.
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();
Passaggio 4: crea e formatta la forma
Creare unShape
oggetto e configurarne le proprietà per definire la filigrana. Imposta la forma da disporre all’interno di una cella utilizzando il comandoIsLayoutInCell
proprietà.
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
};
Passaggio 5: personalizza la forma
Personalizza l’aspetto e il testo della forma della filigrana impostando proprietà comeFillColor
, StrokeColor
, TextPath
, Name
, WrapType
, eccetera.
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;
Passaggio 6: inserire la forma nel documento
Inserisci la forma della filigrana nel documento utilizzando il fileInsertNode
metodo delDocumentBuilder
oggetto. Posiziona la forma utilizzando ilMoveTo
metodo per posizionarlo dopo l’ultima esecuzione nel documento.
Run run = doc.GetChildNodes(NodeType.Run, true)[doc.GetChildNodes(NodeType.Run, true).Count - 1] as Run;
builder.MoveTo(run);
builder.InsertNode(watermark);
Passaggio 7: salva il documento
Salvare il documento nella directory specificata utilizzando il fileSave
metodo. Fornire il nome file desiderato con l’estensione file appropriata. In questo esempio, salviamo il documento come “WorkingWithShapes.LayoutInCell.docx”.
doc.CompatibilityOptions.OptimizeFor(MsWordVersion.Word2010);
doc
.Save(dataDir + "WorkingWithShapes.LayoutInCell.docx");
Codice sorgente di esempio per Layout In Cell utilizzando Aspose.Words per .NET
// Percorso della directory dei documenti
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, // Visualizza la forma all'esterno della cella della tabella se verrà inserita in una cella.
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");
Questo è tutto! Hai disposto con successo una forma all’interno di una cella di tabella in un documento di Word utilizzando Aspose.Words per .NET.