Trabajando con Portafolio en PDF

Cómo crear un portafolio PDF

Aspose.PDF permite crear documentos de portafolio PDF utilizando la Document clase. Agregue un archivo a un objeto Document.Collection después de obtenerlo con la FileSpecification clase. Cuando se han agregado los archivos, use el método Save de la clase Document para guardar el documento del portafolio.

El siguiente ejemplo utiliza un archivo de Microsoft Excel, un documento de Word y un archivo de imagen para crear un portafolio PDF.

El código a continuación resulta en el siguiente portafolio.

El siguiente fragmento de código también funciona con la biblioteca Aspose.PDF.Drawing.

Portafolio PDF creado con Aspose.PDF

Un portafolio PDF creado con Aspose.PDF for .NET

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void CreatePortfolio()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf_TechnicalArticles();

    // Create PDF document
    using (var document = new Aspose.Pdf.Document())
    {
        // Instantiate document Collection object
        document.Collection = new Aspose.Pdf.Collection();

        // Get Files to add to Portfolio
        var excel = new Aspose.Pdf.FileSpecification(dataDir + "HelloWorld.xlsx");
        var word = new Aspose.Pdf.FileSpecification(dataDir + "HelloWorld.docx");
        var image = new Aspose.Pdf.FileSpecification(dataDir + "aspose-logo.jpg");

        // Provide description of the files
        excel.Description = "Excel File";
        word.Description = "Word File";
        image.Description = "Image File";

        // Add files to document collection
        document.Collection.Add(excel);
        document.Collection.Add(word);
        document.Collection.Add(image);

        // Save PDF document
        document.Save(dataDir + "CreatePortfolio_out.pdf");
    }
}

Extraer archivos del portafolio PDF

Los portafolios PDF le permiten reunir contenido de una variedad de fuentes (por ejemplo, archivos PDF, Word, Excel, JPEG) en un solo contenedor unificado. Los archivos originales mantienen sus identidades individuales pero se ensamblan en un archivo de portafolio PDF. Los usuarios pueden abrir, leer, editar y formatear cada archivo componente de forma independiente de los otros archivos componentes.

Aspose.PDF permite la creación de documentos de portafolio PDF utilizando la Document clase. También ofrece la capacidad de extraer archivos de un portafolio PDF.

El siguiente fragmento de código muestra los pasos para extraer archivos de un portafolio PDF.

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ExtractPortfolioFiles()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf_TechnicalArticles();

    // Open PDF document
    using (var document = new Aspose.Pdf.Document(dataDir + "PDFPortfolio.pdf"))
    {
        // Get collection of embedded files
        Aspose.Pdf.EmbeddedFileCollection embeddedFiles = document.EmbeddedFiles;
        // Iterate through individual file of Portfolio
        foreach (Aspose.Pdf.FileSpecification fileSpecification in embeddedFiles)
        {
            // Get the attachment and write to file or stream
            byte[] fileContent = new byte[fileSpecification.Contents.Length];
            fileSpecification.Contents.Read(fileContent, 0, fileContent.Length);
            string filename = Path.GetFileName(fileSpecification.Name);
            // Save the extracted file to some location
            using (FileStream fileStream = new FileStream(dataDir + filename + "_out", FileMode.Create))
            {
                fileStream.Write(fileContent, 0, fileContent.Length);
            }
        }
    }
}

Extraer archivos del portafolio PDF

Eliminar archivos del portafolio PDF

Para eliminar/quitar archivos del portafolio PDF, intente usar las siguientes líneas de código.

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void RemovePortfolioFiles()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf_TechnicalArticles();

    // Open PDF document
    using (var document = new Aspose.Pdf.Document(dataDir + "PDFPortfolio.pdf"))
    {
        document.Collection.Delete();
        // Save PDF document
        document.Save(dataDir + "NoPortFolio_out.pdf");
    }
}