O formato PDF suporta a adição de anexos a um arquivo PDF semelhante aos anexos de e-mail. Um anexo em PDF pode ser TXT, DOCX, XLSX ou qualquer outro formato de documento. Neste artigo, você aprenderá como implementar alguns recursos básicos de manipulação de anexos de PDF em seus aplicativos .NET. Ao final deste artigo, você poderá extrair, adicionar ou remover anexos em um PDF programaticamente usando C#.
- API de manipulação de anexos de PDF - Download gratuito
- Adicionar anexos ao PDF usando C#
- Extrair anexo PDF usando C#
- Remover anexos de PDF usando C#
API de manipulação de anexos de PDF - Download gratuito
Aspose.PDF for .NET é uma API de manipulação de PDF bem conhecida que permite processar arquivos PDF sem problemas. Você pode ler, criar, editar e converter os arquivos PDF e manipular os anexos PDF em poucos passos. A API pode ser baixada como DLL ou MSI, bem como instalada usando NuGet.
Install-Package Aspose.Pdf
Adicionar anexos ao PDF usando C#
O Aspose.PDF para .NET também permite que você adicione os anexos a um arquivo PDF. Para isso, basta adicionar o arquivo à coleção Document.EmbeddedFiles usando a classe FileSpecification. A seguir estão as etapas para adicionar um anexo a um documento PDF.
- Crie um novo documento PDF usando a classe Document.
- Crie uma instância da classe FileSpecification para carregar o arquivo anexo.
- Use o método Document.EmbeddedFiles.Add(FileSpecification) para adicionar o anexo.
- Salve o documento usando o método Document.Save(String).
O exemplo de código a seguir mostra como adicionar um anexo a um documento PDF usando C#.
// Para exemplos completos e arquivos de dados, acesse https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// Abrir documento
Document pdfDocument = new Document("document.pdf");
// Configurar novo arquivo a ser adicionado como anexo
FileSpecification fileSpecification = new FileSpecification("test.txt", "Sample text file");
// Adicionar anexo à coleção de anexos do documento
pdfDocument.EmbeddedFiles.Add(fileSpecification);
// Salvar nova saída
pdfDocument.Save("output.pdf");
Extrair anexo PDF usando C#
Primeiro de tudo, vamos verificar como recuperar anexos de um documento PDF. Para isso, siga os passos abaixo:
- Crie uma instância da classe Document.
- Obtenha os anexos em um objeto EmbeddedFileCollection usando a propriedade Document.EmbeddedFiles.
- Percorra os anexos no EmbeddedFileCollection usando o objeto FileSpecification.
- Acesse as propriedades de cada anexo usando o objeto FileSpecification.
- Salve o anexo como um arquivo (se necessário).
O exemplo de código a seguir mostra como extrair anexos PDF usando C#.
// Para exemplos completos e arquivos de dados, acesse https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// Abrir documento
Document pdfDocument = new Document("document.pdf");
// Obtenha um arquivo incorporado específico
foreach(FileSpecification fileSpecification in pdfDocument.EmbeddedFiles)
{
// Obtenha as propriedades do arquivo
Console.WriteLine("Name: {0}", fileSpecification.Name);
Console.WriteLine("Description: {0}", fileSpecification.Description);
Console.WriteLine("Mime Type: {0}", fileSpecification.MIMEType);
// Verifique se o objeto de parâmetro contém os parâmetros
if (fileSpecification.Params != null)
{
Console.WriteLine("CheckSum: {0}",
fileSpecification.Params.CheckSum);
Console.WriteLine("Creation Date: {0}",
fileSpecification.Params.CreationDate);
Console.WriteLine("Modification Date: {0}",
fileSpecification.Params.ModDate);
Console.WriteLine("Size: {0}", fileSpecification.Params.Size);
}
// Obtenha o anexo e grave no arquivo ou fluxo
byte[] fileContent = new byte[fileSpecification.Contents.Length];
fileSpecification.Contents.Read(fileContent, 0, fileContent.Length);
FileStream fileStream = new FileStream(fileSpecification.Name, FileMode.Create);
fileStream.Write(fileContent, 0, fileContent.Length);
fileStream.Close();
}
Remover anexos de PDF usando C#
Você pode remover todos ou um anexo específico de um arquivo PDF. Para isso, o Aspose.PDF for .NET fornece os seguintes métodos:
- Excluir() - Deletes all the attachments.
- Delete(String nomedoarquivo) - Deletes attachment by name.
- DeleteByKey(Chave de String) - Deletes attachment by key in the collection.
A seguir estão as etapas para excluir anexos de um PDF.
- Crie uma instância da classe Document para carregar o arquivo PDF.
- Use Document.EmbeddedFiles.Delete() (ou outro método de exclusão) para excluir anexos.
- Salve o arquivo usando o método Document.Save(String).
O exemplo de código a seguir mostra como remover anexos de um arquivo PDF em C#.
// Para exemplos completos e arquivos de dados, acesse https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// Abrir documento
Document pdfDocument = new Document("document.pdf");
// Excluir todos os anexos
pdfDocument.EmbeddedFiles.Delete();
// Salvar arquivo atualizado
pdfDocument.Save("output.pdf");
Conclusão
Neste artigo, você viu como manipular os anexos em documentos PDF programaticamente. O guia passo a passo, referências de API e exemplos de código mostraram como recuperar, adicionar e remover anexos em arquivos PDF usando C#. Você pode aprender mais sobre Aspose.PDF para .NET usando a documentação.