KeyView 24.1

# Access a Subfile without Extracting the Entire File

Some operations do not require all of the data contained within a subfile. For example, format detection can often be performed using only the beginning and end of a file, without needing to extract the entire file to disk or memory. When filtering, you might process part of a file before deciding not to continue.

Extracting only part of a subfile can take less time and improve the performance of your application. For this reason, you can open a subfile as an input stream, which you can pass to another KeyView context or use in your own code.

NOTE: You cannot use the reader `pdf2sr` when extracting files to a stream.

To open a subfile as an input stream

1. Follow the instructions for extracting subfiles as far as calling `fpGetMainFileInfo()` to ascertain that the main file is a container.

2. Open the subfile by calling fpOpenSubFile().

3. Use the returned stream as required. For example, you can pass the `KVInputStream` to fpGetDocInfoStream() or pass it to fpOpenStream() and then filter the subfile.

   NOTE: Input streams derived from the same context are not thread-safe so OpenText strongly recommends that streams are used only on the thread on which they were created. However, to pass a KVInputStream back into KeyView, you must create a new context using fpInit().

   If a problem is encountered when using the stream, you can call fpGetExtractStatus() to establish the cause of the problem.

4. Free resources using fpCloseSubFile() and fpFreeStruct().

Copyright 2016-2023 Open Text
Version 24.1 | Last updated December 2023

Send documentation feedback

Close

Send documentation feedback

To send feedback using your default email client, open an email window.

Otherwise, send your feedback and the information below to MFI-swpdl.idoldocsfeedback@opentext.com.

We appreciate your feedback!

Product: IDOL KeyView 24.1

Topic Title: Access a Subfile without Extracting the Entire File