Para extraer archivos adjuntos en un archivo PDF, utilizaremos la API Aspose.PDF for .NET, que es una API de manipulación de documentos rica en funciones, potente y fácil de usar para la plataforma net. Abra el administrador de paquetes NuGet, busque Aspose.pdf e instálelo. También puede usar el siguiente comando desde la consola de Package Manager.
PM > Install-Package Aspose.PDF
Extraer archivos adjuntos del PDF C#
Necesita Aspose.PDF for .NET para probar el código en su entorno.
- Obtenga una colección de archivos incrustados.
- Obtenga el recuento de los archivos incrustados.
- Recorre la colección para obtener todos los archivos adjuntos.
- Compruebe si el objeto parámetro contiene los parámetros.
- Obtenga el archivo adjunto y escriba en un archivo o transmisión.
Extraer el archivo adjunto de un documento PDF
static void PrintFileDetails(Aspose.Pdf.FileSpecification fileSpecification)
{
Console.WriteLine($"Name: {fileSpecification.Name}");
Console.WriteLine($"Description: {fileSpecification.Description}");
Console.WriteLine($"Mime Type: {fileSpecification.MIMEType}");
if (fileSpecification.Params != null)
{
Console.WriteLine($"CheckSum: {fileSpecification.Params.CheckSum}");
Console.WriteLine($"Creation Date: {fileSpecification.Params.CreationDate}");
Console.WriteLine($"Modification Date: {fileSpecification.Params.ModDate}");
Console.WriteLine($"Size: {fileSpecification.Params.Size}");
}
}
var inputFile = Path.Combine(dataDir, "GetAlltheAttachments.pdf");
var pdfDocument = new Aspose.Pdf.Document(inputFile);
var embeddedFiles = pdfDocument.EmbeddedFiles;
Console.WriteLine($"Total files: {embeddedFiles.Count}");
foreach (var fileSpecification in embeddedFiles)
{
PrintFileDetails(fileSpecification);
var outputFilePath = Path.Combine(dataDir, fileSpecification.Name);
using var fileStream = File.OpenWrite(outputFilePath);
fileSpecification.Contents.CopyTo(fileStream);
}