Using PDF portfolio, you can put multiple types of files (such as Word & Excel files, images and PowerPoint presentations) together into a master PDF file. The files in a PDF Portfolio can retain their individual identities, so you can open, read, edit, and format each file independently of the other files. In this article, I am going to introduce how to work with PDF portfolio, especially create PDF portfolio and read/extract files from PDF portfolio programmatically in Java.
Add Dependencies
In order to create and read PDF portfolio, I use Free Spire.PDF for Java library. There are two ways to include Free Spire.PDF for Java in your Java project:
For maven projects:
Specify the following dependencies in your project’s pom.xml file:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <repositories> <repository> <id>com.e-iceblue</id> <name>e-iceblue</name> <url>http: //repo.e-iceblue.com/nexus/content/groups/public/</url> </repository> </repositories> <dependencies> <dependency> <groupId> e-iceblue </groupId> <artifactId>spire.pdf.free</artifactId> <version> 4.4 . 1 </version> </dependency> </dependencies> |
The latest version of Free Spire.PDF for Java is 4.4.1 (at the time of writing this article).
For non-maven projects:
Download Free Spire.PDF for Java pack from here: Download- Free Spire.PDF for Java, extract the zip file, then add Spire.Pdf.jar in the lib folder into your project as a dependency.
Create PDF Portfolio
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | import com.spire.pdf.FileFormat; import com.spire.pdf.PdfDocument; import java.io.IOException; public class CreatePortfolio { public static void main(String []args) throws IOException { String[] files = new String[] { "sample.pdf" , "sample.docx" , "sample.xlsx" , "sample.pptx" , "image.jpg" }; //Create a PdfDocument instance PdfDocument pdf = new PdfDocument(); //Create a PDF portfolio and add files to it for ( int i = 0 ; i < files.length; i++) { pdf.getCollection().addFile(files[i]); } //Save the result file pdf.saveToFile( "Portfolio.pdf" , FileFormat.PDF); pdf.dispose(); } } |
Output:
Read/Extract Files from PDF Portfolio
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | import com.spire.pdf.PdfDocument; import com.spire.pdf.attachments.PdfAttachment; import java.io.*; public class ReadPortfolio { public static void main(String []args) throws IOException { //Create a PdfDocument instance PdfDocument pdf = new PdfDocument(); //Load the PDF file pdf.loadFromFile( "Portfolio.pdf" ); //Loop through the attachments in the file for (PdfAttachment attachment : (Iterable<PdfAttachment>)pdf.getAttachments()){ //Extract files String fileName = attachment.getFileName(); OutputStream fos = new FileOutputStream( "extract/" + fileName); fos.write(attachment.getData()); } pdf.dispose(); } } |
Comments
Post a Comment