A geração e o processamento automatizados de documentos PDF tornaram-se um recurso exigente nos últimos dias. Em vários aplicativos, os documentos PDF são gerados dinamicamente, como faturas, recibos e diversos tipos de relatórios. De acordo com isso, este artigo aborda a implementação básica da automação de PDF em aplicativos .NET. Por fim, você aprenderá como criar arquivos PDF usando C#. Os exemplos de código demonstrarão como inserir texto, imagens, tabelas e outros componentes em PDF usando C#.
- API de PDF C# - Download Gratuito
- Criar arquivos PDF em C#
- Editar PDF existente em C#
- Inserir imagem em PDF usando C#
- Criar uma tabela em PDF usando C#
- Criar um formulário em PDF em C#
API de PDF C# .NET - Download Gratuito
Aspose.PDF for .NET é uma API de manipulação de arquivos PDF que permite gerar e processar arquivos PDF a partir de seus aplicativos .NET. Usando a API, você pode gerar vários tipos de relatórios e documentos comerciais de forma dinâmica. A API está disponível como uma DLL para download, bem como hospedada em NuGet.
Install-Package Aspose.Pdf
Criar arquivos PDF em C#
Vamos começar criando um documento PDF simples contendo um fragmento de texto. A seguir estão as etapas para criar um arquivo PDF usando C#.
- Crie um objeto da classe Document.
- Adicione uma página ao documento usando o método Document.Pages.Add().
- Crie um novo objeto TextFragment e defina seu texto.
- Adicione TextFragment à coleção Paragraphs da página.
- Salve o arquivo PDF usando o método Document.Save(String).
O exemplo de código a seguir mostra como criar um arquivo PDF simples usando C#.
// Inicializar objeto de documento
Document document = new Document();
// Adicionar Página
Page page = document.Pages.Add();
// Adicionar texto à nova página
page.Paragraphs.Add(new Aspose.Pdf.Text.TextFragment("Hello World!"));
// Salvar PDF
document.Save("document.pdf");
Leia mais sobre criar documentos PDF complexos.
Editar um arquivo PDF em C#
Modificar um arquivo PDF é tão simples quanto criar um novo. Basta carregar o arquivo usando a classe Document, realizar as operações desejadas e salvá-lo. A seguir estão as etapas para modificar um PDF.
- Crie um objeto da classe Document e forneça o caminho de um arquivo PDF para seu construtor.
- Manipular as páginas ou o conteúdo do documento.
- Salve o documento usando o método Document.Save().
O exemplo de código a seguir mostra como modificar um PDF usando C#.
// Carregar PDF
var pdfDocument = new Aspose.Pdf.Document("document.pdf");
// Faça alguma manipulação, por exemplo, adicione uma nova página vazia
pdfDocument.Pages.Add();
// Salve o PDF atualizado
pdfDocument.Save(modifiedFileName);
Inserir imagem em PDF usando C#
Vamos agora verificar como inserir uma imagem no documento PDF. A seguir estão os passos para fazê-lo.
- Crie um objeto da classe Document para abrir um documento PDF.
- Acesse a página à qual deseja adicionar uma imagem usando a classe Página.
- Adicione a imagem à coleção Resources da página.
- Use operadores para colocar a imagem na página:
- GSalvar operator to save the current graphical state.
- Concatenar Matriz operator to specify where the image is to be placed.
- Fazer operator to draw the image on the page.
- Finalmente, use o operador GRestore para salvar o estado gráfico atualizado.
- Salve o arquivo PDF.
O exemplo de código a seguir mostra como adicionar uma imagem a um documento PDF usando C#.
// Abrir documento
Document pdfDocument = new Document("document.pdf");
// Definir coordenadas
int lowerLeftX = 100;
int lowerLeftY = 100;
int upperRightX = 200;
int upperRightY = 200;
// Obtenha a página onde a imagem precisa ser adicionada
Page page = pdfDocument.Pages[1];
// Carregar imagem no fluxo
FileStream imageStream = new FileStream("aspose-logo.jpg", FileMode.Open);
// Adicionar imagem à coleção de imagens de recursos de página
page.Resources.Images.Add(imageStream);
// Usando o operador GSave: este operador salva o estado gráfico atual
page.Contents.Add(new Aspose.Pdf.Operators.GSave());
// Criar objetos Retângulo e Matriz
Aspose.Pdf.Rectangle rectangle = new Aspose.Pdf.Rectangle(lowerLeftX, lowerLeftY, upperRightX, upperRightY);
Matrix matrix = new Matrix(new double[] { rectangle.URX - rectangle.LLX, 0, 0, rectangle.URY - rectangle.LLY, rectangle.LLX, rectangle.LLY });
// Usando o operador ConcatenateMatrix (concatenate matrix): define como a imagem deve ser colocada
page.Contents.Add(new Aspose.Pdf.Operators.ConcatenateMatrix(matrix));
XImage ximage = page.Resources.Images[page.Resources.Images.Count];
// Usando o operador Do: este operador desenha a imagem
page.Contents.Add(new Aspose.Pdf.Operators.Do(ximage.Name));
// Usando o operador GRestore: este operador restaura o estado gráfico
page.Contents.Add(new Aspose.Pdf.Operators.GRestore());
// Salvar documento atualizado
pdfDocument.Save("document.pdf");
Leia mais sobre inserir imagens em PDF.
Criar uma tabela em PDF usando C#
As tabelas são um componente essencial dos documentos que são usados para organizar os dados na forma de linhas e colunas. O Aspose.PDF for .NET fornece uma maneira bastante simples de criar e inserir tabelas em documentos PDF. A seguir estão as etapas para realizar esta operação.
- Carregue o arquivo PDF usando a classe Document.
- Inicialize uma tabela e defina suas colunas e linhas usando a classe Table.
- Defina as configurações da tabela (ou seja, bordas).
- Preencha a tabela criando linhas usando o método Table.Rows.Add().
- Adicione a tabela à página usando o método Document.Pages1.Paragraphs.Add(Table).
- Salve o arquivo PDF.
O exemplo de código a seguir mostra como criar e adicionar uma tabela em um documento PDF em C#.
// Carregar documento PDF de origem
Aspose.Pdf.Document doc = new Aspose.Pdf.Document("document.pdf");
// Inicializa uma nova instância da Tabela
Aspose.Pdf.Table table = new Aspose.Pdf.Table();
// Defina a cor da borda da tabela como LightGray
table.Border = new Aspose.Pdf.BorderInfo(Aspose.Pdf.BorderSide.All, .5f, Aspose.Pdf.Color.FromRgb(System.Drawing.Color.LightGray));
// Definir a borda das células da tabela
table.DefaultCellBorder = new Aspose.Pdf.BorderInfo(Aspose.Pdf.BorderSide.All, .5f, Aspose.Pdf.Color.FromRgb(System.Drawing.Color.LightGray));
// Crie um loop para adicionar 10 linhas
for (int row_count = 1; row_count < 10; row_count++)
{
// Adicionar linha à tabela
Aspose.Pdf.Row row = table.Rows.Add();
// Adicionar células de tabela
row.Cells.Add("Column (" + row_count + ", 1)");
row.Cells.Add("Column (" + row_count + ", 2)");
row.Cells.Add("Column (" + row_count + ", 3)");
}
// Adicionar objeto de tabela à primeira página do documento de entrada
doc.Pages[1].Paragraphs.Add(table);
// Salvar documento atualizado contendo objeto de tabela
doc.Save("document_with_table_out.pdf");
Leia mais sobre criar tabelas em PDF.
Criar um formulário em PDF em C#
Formulários em PDFs são usados para coletar os dados dos leitores. Você pode inserir caixas de texto, caixas de seleção, botões de opção e outros controles compatíveis em formulários PDF. O formato PDF suporta dois tipos de formulários; Formulários Acro e formulários XFA (ver detalhes). A seguir estão as etapas para criar e adicionar formulários em um PDF.
- Carregue o arquivo PDF usando a classe Document.
- Crie controles de formulário como TextBoxField.
- Adicione o controle ao formulário usando o método Document.Form.Add(textBoxField, 1).
- Salve o documento PDF.
O exemplo de código a seguir mostra como adicionar formulários ao documento PDF usando C#.
// Abrir documento
Document pdfDocument = new Document("document.pdf");
// Criar um campo
TextBoxField textBoxField = new TextBoxField(pdfDocument.Pages[1], new Aspose.Pdf.Rectangle(100, 200, 300, 300));
textBoxField.PartialName = "textbox1";
textBoxField.Value = "Text Box";
// TextBoxField.Border = new Border(
Border border = new Border(textBoxField);
border.Width = 5;
border.Dash = new Dash(1, 1);
textBoxField.Border = border;
textBoxField.Color = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.Green);
// Adicionar campo ao documento
pdfDocument.Form.Add(textBoxField, 1);
// Salvar PDF modificado
pdfDocument.Save("output.pdf");
Leia mais sobre criar formulários em PDF.
Conclusão
Neste post, você aprendeu como criar arquivos PDF do zero usando C#. Além disso, você aprendeu a inserir vários tipos de componentes, como texto, imagens, tabelas e formulários em um documento PDF programaticamente. Você pode aprender mais sobre a API de PDF usando a documentação.
Veja também
Informações: O Aspose fornece um aplicativo da web online gratuito que permite visualizar PDFs online, outro que permite converter PDFs em vídeo e outro que permite editar PDFs online.