By default, when you run Filter out-of-process, and pass file streams to the API (instead of file names), Filter uses temporary files during communication.
When running out-of-process, you can configure KeyView to stream the file data while it processes it, rather than creating temporary files, by modifying the formats.ini
file. This method is particularly beneficial if you do not want to process the whole file (for example, if you want to stop after filtering only some of the text, or extract only some of the subfiles).
NOTE: This option is disabled by default because for some files it might result in a longer processing time when you do need to process the whole file.
To turn on streaming mode, set the streaming_method
parameter in the [FilterSDK_Config]
section of the formats.ini
file to pipe
.
By default this parameter is set to temp
, which uses temporary files during the filter process.
The streaming method has a number of advantages:
It reduces the disk space used for temporary files.
It improves the responsiveness for partial filtering. When using the temp_file
method your first call to fpFilterStream
does not return until the entire file has been processed. When using the pipe
method, fpFilterStream
returns the first block of text as soon as it is available.
It reduces the I/O for partial filtering. When you use the pipe method, it might not be necessary for KeyView to read the whole input file, especially if you choose to stop filtering before all the text has returned.
For many formats, it reduces the amount of the input file that is read during extraction, especially if you extract only a subset of the files.