Layout na célula
Introdução
Se você sempre quis ajustar o layout das células da sua tabela em documentos do Word programaticamente, você está no lugar certo. Hoje, vamos mergulhar em como definir o layout na célula usando o Aspose.Words para .NET. Vamos percorrer um exemplo prático, dividindo-o passo a passo para que você possa acompanhar com facilidade.
Pré-requisitos
Antes de começarmos o código, vamos garantir que você tenha tudo o que precisa:
- Aspose.Words para .NET: Certifique-se de ter a biblioteca Aspose.Words para .NET instalada. Se não tiver, você podebaixe aqui.
- Ambiente de desenvolvimento: você precisará de um ambiente de desenvolvimento configurado com .NET. O Visual Studio é uma ótima escolha se você estiver procurando recomendações.
- Conhecimento básico de C#: embora eu explique cada etapa, um conhecimento básico de C# ajudará você a acompanhar mais facilmente.
- Diretório de documentos: prepare um caminho de diretório onde você salvará seus documentos. Vamos nos referir a isso como
YOUR DOCUMENT DIRECTORY
.
Importar namespaces
Para começar, certifique-se de importar os namespaces necessários no seu projeto:
using System;
using System.Drawing;
using Aspose.Words;
using Aspose.Words.Drawing;
using Aspose.Words.Tables;
Vamos dividir o processo em etapas gerenciáveis.
Etapa 1: Crie um novo documento
Primeiro, criaremos um novo documento do Word e inicializaremos umDocumentBuilder
objeto para nos ajudar a construir nosso conteúdo.
string dataDir = "YOUR DOCUMENT DIRECTORY";
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Etapa 2: iniciar uma tabela e definir o formato da linha
Começaremos construindo uma tabela e especificaremos a altura e a regra de altura para as linhas.
builder.StartTable();
builder.RowFormat.Height = 100;
builder.RowFormat.HeightRule = HeightRule.Exactly;
Etapa 3: Insira células e preencha com conteúdo
Em seguida, fazemos um loop para inserir células na tabela. Para cada 7 células, encerraremos a linha para criar uma nova.
for (int i = 0; i < 31; i++)
{
if (i != 0 && i % 7 == 0) builder.EndRow();
builder.InsertCell();
builder.Write("Cell contents");
}
builder.EndTable();
Etapa 4: adicione uma forma de marca d’água
Agora, vamos adicionar uma marca d’água ao nosso documento. Vamos criar umaShape
objeto e definir suas propriedades.
Shape watermark = new Shape(doc, ShapeType.TextPlainText)
{
RelativeHorizontalPosition = RelativeHorizontalPosition.Page,
RelativeVerticalPosition = RelativeVerticalPosition.Page,
IsLayoutInCell = true, // Exiba a forma fora da célula da tabela se ela for colocada em uma célula.
Width = 300,
Height = 70,
HorizontalAlignment = HorizontalAlignment.Center,
VerticalAlignment = VerticalAlignment.Center,
Rotation = -40
};
Etapa 5: personalizar a aparência da marca d’água
Personalizaremos ainda mais a aparência da marca d’água definindo suas propriedades de cor e texto.
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;
Etapa 6: Insira a marca d’água no documento
Encontraremos a última execução no documento e inseriremos a marca d’água nessa posição.
Run run = doc.GetChildNodes(NodeType.Run, true)[doc.GetChildNodes(NodeType.Run, true).Count - 1] as Run;
builder.MoveTo(run);
builder.InsertNode(watermark);
Etapa 7: otimizar o documento para o Word 2010
Para garantir a compatibilidade, otimizaremos o documento para o Word 2010.
doc.CompatibilityOptions.OptimizeFor(MsWordVersion.Word2010);
Etapa 8: Salve o documento
Por fim, salvaremos nosso documento no diretório especificado.
doc.Save(dataDir + "WorkingWithShapes.LayoutInCell.docx");
Conclusão
E aí está! Você criou com sucesso um documento do Word com um layout de tabela personalizado e adicionou uma marca d’água usando o Aspose.Words para .NET. Este tutorial teve como objetivo fornecer um guia claro e passo a passo para ajudar você a entender cada parte do processo. Com essas habilidades, agora você pode criar documentos do Word mais sofisticados e personalizados programaticamente.
Perguntas frequentes
Posso usar uma fonte diferente para o texto da marca d’água?
Sim, você pode alterar a fonte definindo owatermark.TextPath.FontFamily
propriedade para a fonte desejada.
Como ajusto a posição da marca d’água?
Você pode modificar oRelativeHorizontalPosition
, RelativeVerticalPosition
, HorizontalAlignment
, eVerticalAlignment
propriedades para ajustar a posição da marca d’água.
É possível usar uma imagem em vez de texto para a marca d’água?
Absolutamente! Você pode criar umShape
com o tipoShapeType.Image
e definir sua imagem usando oImageData.SetImage
método.
Posso criar tabelas com alturas de linha variadas?
Sim, você pode definir alturas diferentes para cada linha alterando oRowFormat.Height
propriedade antes de inserir células nessa linha.
Como faço para remover uma marca d’água do documento?
Você pode remover a marca d’água localizando-a na coleção de formas do documento e chamando o métodoRemove
método.