Disposizione nella cella
Introduzione
Se hai mai voluto mettere a punto il layout delle celle della tua tabella nei documenti Word in modo programmatico, sei nel posto giusto. Oggi, ci immergeremo in come impostare il layout in cella usando Aspose.Words per .NET. Ti guideremo attraverso un esempio pratico, suddividendolo passo dopo passo in modo che tu possa seguire con facilità.
Prerequisiti
Prima di passare al codice, assicuriamoci di avere tutto ciò di cui hai bisogno:
- Aspose.Words per .NET: assicurati di avere la libreria Aspose.Words per .NET installata. Se non l’hai ancora fatto, puoiscaricalo qui.
- Ambiente di sviluppo: avrai bisogno di un ambiente di sviluppo configurato con .NET. Visual Studio è un’ottima scelta se stai cercando consigli.
- Conoscenza di base di C#: anche se spiegherò ogni passaggio, una conoscenza di base di C# ti aiuterà a seguire più facilmente.
- Directory dei documenti: prepara un percorso di directory in cui salverai i tuoi documenti. Ci riferiremo a questo come
YOUR DOCUMENT DIRECTORY
.
Importazione degli spazi dei nomi
Per iniziare, assicurati di importare gli spazi dei nomi necessari nel tuo progetto:
using System;
using System.Drawing;
using Aspose.Words;
using Aspose.Words.Drawing;
using Aspose.Words.Tables;
Scomponiamo il processo in passaggi gestibili.
Passaggio 1: creare un nuovo documento
Per prima cosa, creeremo un nuovo documento Word e inizializzeremo unDocumentBuilder
oggetto per aiutarci a costruire i nostri contenuti.
string dataDir = "YOUR DOCUMENT DIRECTORY";
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Passaggio 2: avviare una tabella e impostare il formato di riga
Inizieremo costruendo una tabella e specificheremo l’altezza e la regola dell’altezza per le righe.
builder.StartTable();
builder.RowFormat.Height = 100;
builder.RowFormat.HeightRule = HeightRule.Exactly;
Passaggio 3: inserire le celle e compilarle con il contenuto
Poi, facciamo un ciclo per inserire celle nella tabella. Per ogni 7 celle, termineremo la riga per crearne una nuova.
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: aggiungere una forma di filigrana
Ora, aggiungiamo una filigrana al nostro documento. Creeremo unShape
oggetto e impostarne le proprietà.
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
};
Passaggio 5: personalizzare l’aspetto della filigrana
Personalizzeremo ulteriormente l’aspetto della filigrana impostandone le proprietà del colore e del testo.
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: Inserisci la filigrana nel documento
Troveremo l’ultima esecuzione nel documento e inseriremo la filigrana in quella posizione.
Run run = doc.GetChildNodes(NodeType.Run, true)[doc.GetChildNodes(NodeType.Run, true).Count - 1] as Run;
builder.MoveTo(run);
builder.InsertNode(watermark);
Passaggio 7: Ottimizzare il documento per Word 2010
Per garantire la compatibilità, ottimizzeremo il documento per Word 2010.
doc.CompatibilityOptions.OptimizeFor(MsWordVersion.Word2010);
Passaggio 8: Salvare il documento
Infine, salveremo il nostro documento nella directory specificata.
doc.Save(dataDir + "WorkingWithShapes.LayoutInCell.docx");
Conclusione
Ed ecco fatto! Hai creato con successo un documento Word con un layout di tabella personalizzato e aggiunto una filigrana usando Aspose.Words per .NET. Questo tutorial mirava a fornire una guida chiara e passo dopo passo per aiutarti a comprendere ogni parte del processo. Con queste competenze, ora puoi creare documenti Word più sofisticati e personalizzati a livello di programmazione.
Domande frequenti
Posso usare un font diverso per il testo della filigrana?
Sì, puoi cambiare il font impostandowatermark.TextPath.FontFamily
proprietà al font desiderato.
Come faccio a regolare la posizione della filigrana?
Puoi modificare ilRelativeHorizontalPosition
, RelativeVerticalPosition
, HorizontalAlignment
, EVerticalAlignment
proprietà per regolare la posizione della filigrana.
È possibile utilizzare un’immagine al posto del testo per la filigrana?
Assolutamente! Puoi creare unShape
con il tipoShapeType.Image
e imposta la sua immagine usandoImageData.SetImage
metodo.
Posso creare tabelle con altezze di riga diverse?
Sì, puoi impostare altezze diverse per ogni riga modificando ilRowFormat.Height
proprietà prima di inserire le celle in quella riga.
Come faccio a rimuovere una filigrana dal documento?
È possibile rimuovere la filigrana individuandola nella raccolta di forme del documento e chiamando il comandoRemove
metodo.