A PDF Portfolio document contains multiple files, assembled into one document. A PDF Portfolio can include text documents, e-mail messages, spreadsheets, etc.
The main page stored in a PDF portfolio is not usually important. Most of the time, it contains some generic information with text such as, "For the best experience, open this PDF portfolio in a compatible viewer." It can contain any number of attachments, as well as a schema to control how to view the document.
The information is in the attachments embedded in the file. The PDF portfolio may also contain a schema indicating how the attachments are handled. The API and ClassLib interface does not currently support the schema. That information is available only through the .NET interface. See PDFDocument.EmbeddedFilesSchemas for more information.
If the file has no schema, then it is a regular file with attachments. A file has attachments if FILEINFO.nAttachmentCount > 0.
A file is a PDF portfolio if FILEINFO.Flags has the FILEINFO_PORTFOLIO flag set.
Use one of the following functions to read the attachments:
API: L_ReadFileAttachments or L_ExtractAttachment.
ClassLib: LFile::ReadFileAttachments or LFile::ExtractAttachment.
Both the PDF portfolio and the attachments can be protected with a password. In this case, you will need to submit the password using L_SetPDFOptions (API) or LFileSettings::SetPDFOptions (ClassLib). The example for L_ExtractAttachment (API) or LFile::ExtractAttachment (ClassLib) shows how to handle that case.
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document