adicionar remover anexo em PDF em C#

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

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.

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:

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:

A seguir estão as etapas para excluir anexos de um PDF.

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.

Veja também