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.