PDF Portfolios (Package)

A PDF Portfolio (also called a PDF Package) (DocumentPackage) combines multiple files to form a single unit. You can embed many different types of files created by many different applications and can include text documents, e-mail messages, spreadsheets, CAD drawings, PowerPoint presentations, to name just a few. You can open, read, edit, and format each file independently. You can also add a PDF as a cover sheet. You can also control how the portfolio displays files and in what order.

Document.Package

The Document class contains a Package property. The Package property's value is a DocumentPackage class.

When creating a DocumentPackage, you specify an AttachmentLayout through the DocumentPackage class's ViewList property. Valid attachment layouts are:

Figure 1. Portfolio with detailed view and tile view.

You can also specify the order of the attachments and several other properties. For a complete listing of properties refer to the DocumentPackage class documentation.

Example

The following example demonstrates how to create a DocumentPackage and display the embedded files in tile mode sorted in descending order by name.

Document document = new Document();
Page page = new Page();
document.Pages.Add(page);

EmbeddedFile embeddedFile1 = new EmbeddedFile("DocumentA.pdf");
EmbeddedFile embeddedFile2 = new EmbeddedFile("DocumentB.pdf");
EmbeddedFile embeddedFile3 = new EmbeddedFile("DPDFLogo.png");
EmbeddedFile embeddedFile4 = new EmbeddedFile("Doc1.docx");
document.EmbeddedFiles.Add(embeddedFile1);
document.EmbeddedFiles.Add(embeddedFile2);
document.EmbeddedFiles.Add(embeddedFile3);
document.EmbeddedFiles.Add(embeddedFile4);
document.Package = new DocumentPackage(AttachmentLayout.Tile);
document.Package.OrderBy = AttachmentListingOrderBy.Name;
document.Package.AscendingOrder = false;
page.Elements.Add(new Label("Cover Page", 0, 0, 512, 40, Font.Helvetica, 30, TextAlign.Center,  RgbColor.BlueViolet));
            
document.Draw(outputPath);    
Dim document As New Document()
Dim page As New Page()
document.Pages.Add(page)

Dim embeddedFile1 As New EmbeddedFile("DocumentA.pdf"))
Dim embeddedFile2 As New EmbeddedFile("DocumentB.pdf")
Dim embeddedFile3 As New EmbeddedFile("DPDFLogo.png")
Dim embeddedFile4 As New EmbeddedFile("Doc1.docx")
document.EmbeddedFiles.Add(embeddedFile1)
document.EmbeddedFiles.Add(embeddedFile2)
document.EmbeddedFiles.Add(embeddedFile3)
document.EmbeddedFiles.Add(embeddedFile4)

document.Package = New DocumentPackage(AttachmentLayout.Tile)
document.Package.OrderBy = AttachmentListingOrderBy.Name
document.Package.AscendingOrder = False

page.Elements.Add(New Label("Cover Page", 0, 0, 512, 40, Font.Helvetica, 30, TextAlign.Center, RgbColor.BlueViolet))

document.Draw(outputPath)

Figure 2. Portfolio with tile view.

In this topic