package com.aspose.pdf.examples.AsposePdfExamples.DocumentObject; import java.io.File; import java.io.IOException; import java.io.InputStream; import com.aspose.pdf.Document; import com.aspose.pdf.EmbeddedFileCollection; public class ExtractFilesFromPDFPortfolio { public static void main(String[] args) { extractFilesFromPDFPortfolio(); toDeletePDFPortfolioFile(); } public static void extractFilesFromPDFPortfolio() { // load source PDF Portfolio Document pdfDocument = new Document("Portfolio_output.pdf"); // get collection of embedded files EmbeddedFileCollection embeddedFiles = pdfDocument.getEmbeddedFiles(); // iterate through individual file of Portfolio for (int counter = 1; counter <= pdfDocument.getEmbeddedFiles().size(); counter++) { com.aspose.pdf.FileSpecification fileSpecification = embeddedFiles.get_Item(counter); try { InputStream input = fileSpecification.getContents(); File file = new File(fileSpecification.getName()); // create path for file from pdf file.getParentFile().mkdirs(); // create and extract file from pdf java.io.FileOutputStream output = new java.io.FileOutputStream(fileSpecification.getName(), true); byte[] buffer = new byte[4096]; int n = 0; while (-1 != (n = input.read(buffer))) output.write(buffer, 0, n); // close InputStream object input.close(); output.close(); } catch (IOException e) { e.printStackTrace(); } } } public static void toDeletePDFPortfolioFile() { // load source PDF Portfolio Document pdfDocument = new Document("Portfolio_output.pdf"); // delete all files from Embedded files collection pdfDocument.getEmbeddedFiles().delete(); // save updated document pdfDocument.save("NotFolio.pdf"); } }