IDOL KeyView Filter SDK 12.11 .NET Programming Guide

Micro Focus

IDOL KeyView Filter SDK 12.11 .NET Programming Guide

PDF preview unavailable. Download the PDF instead.

KeyViewFilterSDK 12.11 DotNetProgramming
IDOL
KeyView
Software Version 12.11
Filter SDK .NET Programming Guide
Document Release Date: February 2022 Software Release Date: February 2022

Filter SDK .NET Programming Guide
Legal notices
© Copyright 2016-2022 Micro Focus or one of its affiliates. The only warranties for products and services of Micro Focus and its affiliates and licensors ("Micro Focus") are as may be set forth in the express warranty statements accompanying such products and services. Nothing herein should be construed as constituting an additional warranty. Micro Focus shall not be liable for technical or editorial errors or omissions contained herein. The information contained herein is subject to change without notice.
Documentation updates
The title page of this document contains the following identifying information: l Software Version number, which indicates the software version. l Document Release Date, which changes each time the document is updated. l Software Release Date, which indicates the release date of this version of the software.
To check for updated documentation, visit https://www.microfocus.com/support-and-services/documentation/.
Support
Visit the MySupport portal to access contact information and details about the products, services, and support that Micro Focus offers. This portal also provides customer self-solve capabilities. It gives you a fast and efficient way to access interactive technical support tools needed to manage your business. As a valued support customer, you can benefit by using the MySupport portal to:
l View information about all services that Support offers l Submit and track service requests l Contact customer support l Search for knowledge documents of interest l View software vulnerability alerts l Enter into discussions with other software customers l Download software patches l Manage software licenses, downloads, and support contracts
Many areas of the portal require you to sign in. If you need an account, you can create one when prompted to sign in.

IDOL KeyView (12.11)

Page 2 of 286

Filter SDK .NET Programming Guide
Contents
Part I: Overview of Filter SDK
Chapter 1: Introducing Filter SDK
Overview Features Platforms, Compilers, and Dependencies
Supported Platforms Supported Compilers Software Dependencies Windows Installation UNIX Installation Package Contents License Information Enable Advanced Document Readers Pass License Information to KeyView Directory Structure
Chapter 2: Getting Started
Architectural Overview File Caching Filtering Subfile Extraction Use the .NET Implementation of the API
Input/Output Operations Filter in File or Stream Mode Multithreaded Filtering The Filter Process Model Persist the Child Process Run Filter In Process Run File Extraction Functions Out of Process Out-of-Process Logging
Enable Out-of-Process Logging Set the Verbosity Level Enable Windows Minidump Keep Log Files
IDOL KeyView (12.11)

9
10
10 10 11 11 11 11 12 13 14 15 15 15 16
18
18 19 20 20 20 21 21 22 23 24 25 25 26 26 26 27 27
Page 3 of 286

Filter SDK .NET Programming Guide

Run Format Detection In or Out of Process Stream Data to Filter
Part II: Use Filter SDK
Chapter 3: Use the File Extraction API
Introduction Extract Subfiles
Sanitize Absolute Paths Extract Images Recreate a File's Hierarchy
Create a Root Node Example Extract Mail Metadata Default Metadata Set
Extract the Default Metadata Set Microsoft Outlook (MSG) Metadata
Extract MSG-Specific Metadata Microsoft Outlook Express (EML) and Mailbox (MBX) Metadata
Extract EML- or MBX-Specific Metadata Lotus Notes Database (NSF) Metadata
Extract NSF-Specific Metadata Microsoft Personal Folders File (PST) Metadata
MAPI Properties Extract PST-Specific Metadata Exclude Metadata from the Extracted Text File Extract Subfiles from Outlook Files Extract Subfiles from Outlook Express Files Extract Subfiles from Mailbox Files Extract Subfiles from Outlook Personal Folders Files Choose the Reader to use for PST Files MAPI Attachment Methods Open Secured PST Files Detect PST Files While the Outlook Client is Running Extract Subfiles from Lotus Domino XML Language Files Extract Subfiles from Lotus Notes Database Files System Requirements Installation and Configuration Windows
IDOL KeyView (12.11)

27 28
30
31
31 32 33 34 34 35 35 36 36 37 38 39 39 39 40 40 40 41 41 42 42 42 43 43 44 45 46 46 46 47 47 48 48
Page 4 of 286

Filter SDK .NET Programming Guide
Solaris AIX 5.x Linux Open Secured NSF Files Format Note Subfiles Extract Subfiles from PDF Files Improve Performance for PDFs with Many Small Images Extract Embedded OLE Objects Extract Subfiles from ZIP Files Default File Names for Extracted Subfiles Default File Name for Mail Formats Default File Name for Embedded OLE Objects
Chapter 4: Use the Filter API
Generate an Error Log Enable or Disable Error Logging Change the Path and File Name of the Log File Report Memory Errors Specify a Memory Guard Report the File Name in Stream Mode Specify the Maximum Size of the Log File
Extract Metadata Extract Metadata for File Filtering Extract Metadata for Stream Filtering Example
Convert Character Sets Determine the Character Set of the Output Text Guidelines for Character Set Conversion Set the Character Set During Filtering Set the Character Set During Subfile Extraction Prevent the Default Conversion of a Character Set
Extract Deleted Text Marked by Tracked Changes Filter PDF Files
Use the pdf2sr Reader Filter PDF Files to a Logical Reading Order
Enable Logical Reading Order Use the API Use the formats.ini File Rotated Text Extract Custom Metadata from PDF Files
IDOL KeyView (12.11)

48 49 49 50 50 50 50 50 51 51 51 52
54
54 55 56 56 56 57 57 58 58 58 59 60 60 61 61 62 62 63 63 63 64 65 65 66 67 67
Page 5 of 286

Filter SDK .NET Programming Guide

Skip Embedded Fonts

68

Use the formats.ini File

68

Use the .NET API

68

Control Hyphenation

69

Filter Portfolio PDF Files

69

Table Detection for PDF Files

69

Filter Spreadsheet Files

70

Filter Worksheet Names

70

Filter Hidden Text in Microsoft Excel Files

70

Specify Date and Time Format on UNIX Systems

70

Filter Very Large Numbers in Spreadsheet Cells to Precision Numbers

71

Extract Microsoft Excel Formulas

71

Standardize Cell Formats

72

Filter HTML Files

73

Filter XML Files

74

Configure Element Extraction for XML Documents

74

Modify Element Extraction Settings

75

Use an Initialization File

75

Modify Element Extraction Settings in the kvxconfig.ini File

75

Specify an Element's Namespace and Attribute

77

Add Configuration Settings for Custom XML Document Types

77

Configure Headers and Footers

78

Tab Delimited Output for Embedded Tables

78

Exclude Japanese Guide Text

79

Source Code Identification

79

Optical Character Recognition

80

Document Restrictions

80

Chapter 5: Sample Programs

81

FilterTestDotNet

81

TestExtract

81

TestFilter

83

Part III: Appendixes

86

Appendix A: Supported Formats

87

Key to Supported Formats Table

87

Supported Formats

89

File Classes

174

IDOL KeyView (12.11)

Page 6 of 286

Filter SDK .NET Programming Guide

Appendix B: Document Readers
Key to Document Readers Table Document Readers
Appendix C: Character Sets
Multibyte and Bidirectional Support Coded Character Sets
Appendix D: Extract and Format Lotus Notes Subfiles
Overview Customize XML Templates
Use Demo Templates Use Old Templates Disable XML Templates Template Elements and Attributes Conditional Elements Control Elements Data Elements Date and Time Formats Lotus Notes Date and Time Formats KeyView Date and Time Formats
Appendix E: File Format Detection
Introduction Extract Format Information Determine Format Support
Example formats.ini file entries Refine Detection of Text Files
Allow Consecutive NULL Bytes in a Text File Translate Format Information
Distinguish Between Formats Determine a Document Reader Additional Format Information
Appendix F: List of Required Files for Redistribution
Core Files Support Files Document Readers
IDOL KeyView (12.11)

176
176 178
219
219 227
233
233 233 234 234 234 235 235 236 237 240 240 241
246
246 246 246 247 247 248 249 250 250 250
251
251 252 253
Page 7 of 286

Filter SDK .NET Programming Guide

Appendix G: Develop a Custom Reader
Introduction How to Write a Custom Reader
Naming Conventions Basic Steps Token Buffer Macros Reader Interface
Function Flow Example Development of fffFillBuffer()
Implementation 1--fpFillBuffer() Function Structure of Implementation 1 Problems with Implementation 1 Implementation 2--Processing a Large Token Stream Structure of Implementation 2 Problems with Implementation 2 Boundary Conditions Implementation 3--Interrupting Structured Access Layer Calls Structure of Implementation 3 Development Tips Functions xxxsrAutoDet() xxxAllocateContext() xxxFreeContext() xxxInitDoc() xxxFillBuffer() xxxGetSummaryInfo() xxxOpenStream() xxxCloseStream() xxxCharSet()
Appendix H: Password Protected Files
Supported Password Protected File Types Open Password Protected Container Files Filter Password Protected Files
Appendix I: OCR Supported Languages
Send documentation feedback
IDOL KeyView (12.11)

261
261 262 262 263 263 265 265 266 266 266 267 267 268 269 269 269 270 272 272 273 273 274 275 276 276 277 278 279 280
281
281 282 282
284
286
Page 8 of 286

Part I: Overview of Filter SDK
This section provides an overview of the Micro Focus KeyView Filter SDK and describes how to use the .NET implementation of the API.
l Introducing Filter SDK l Getting Started

IDOL KeyView (12.11)

Page 9 of 286

Chapter 1: Introducing Filter SDK

This section describes the Filter SDK package.

· Overview

10

· Features

10

· Platforms, Compilers, and Dependencies

11

· Windows Installation

12

· UNIX Installation

13

· Package Contents

14

· License Information

15

· Directory Structure

16

Overview
Micro Focus KeyView Filter SDK enables you to incorporate text extraction functionality into your own applications. It extracts text and metadata from a wide variety of file formats on numerous platforms, and can automatically recognize over 1000 document types. It supports both file-based and stream-based I/O operations, and provides in-process or out-of-process filtering.
Filter SDK is part of the KeyView suite of products. KeyView provides high-speed text extraction, conversion to web-ready HTML and well-formed XML, and high-fidelity document viewing.

Features
l Document readers are threadsafe. The benefit of a threadsafe technology is that you can successfully extract text from hundreds of documents simultaneously. Documents are not queued for sequential filtering, but are actually filtered at the same time.
l Filter supports popular word processing, spreadsheet, and presentation formats. Body text, endnotes, footnotes, and additional items such as document metadata are all included as part of the filtering process.
l Sample programs are provided to demonstrate the functionality of the APIs.
l You can extract files embedded within files, such as email attachments or embedded OLE objects, by using the File Extraction API.
l Filter allows for redirected input and output. You can provide an input stream that is not restricted to file system access.

IDOL KeyView (12.11)

Page 10 of 286

Filter SDK .NET Programming Guide Chapter 1: Introducing Filter SDK

l Filter automatically recognizes the file type being filtered and uses the appropriate filter. Your application does not need to rely on file name extensions to determine file types.
l You can filter documents to specific character encodings, such as Unicode or UTF-8.
l You can write custom document readers for formats not directly supported by KeyView.

Platforms, Compilers, and Dependencies
This section lists the supported platforms, supported compilers, and software dependencies for the KeyView software.

Supported Platforms
The .NET Filter SDK is supported on the following platforms. l Microsoft Windows Server 2012 x64 l Microsoft Windows Server 2016 x64 l Microsoft Windows Server 2019 x64 l Microsoft Windows 8 x86 and x64 l Microsoft Windows 10 x64

Supported Compilers
The following table lists the supported compilers for the .NET Filter SDK.

Platform

Architecture

Microsoft Windows x86

Compiler Name
csc

x64

csc

Compiler Version
Visual Studio 2012 to Visual Studio 2019 Visual Studio 2012 to Visual Studio 2019

Software Dependencies
To run KeyView on Windows requires the Microsoft Visual C++ 2019 redistributables to be installed.
To run KeyView OCR and RMS decryption on 64-bit Linux requires libstdc++.so.6 and libgcc_ s.so.1 from GCC 5.4. For your convenience, these are provided in the redist folder of your KeyView installation.

IDOL KeyView (12.11)

Page 11 of 286

Filter SDK .NET Programming Guide Chapter 1: Introducing Filter SDK
NOTE: If you are running KeyView out-of-process then the kvoop executable must be able to link to libstdc++.so.6 and libgcc_s.so.1.
l If these are installed in a system folder, like /lib64, KeyView will find them automatically. l If you prefer you can add the path of the folder containing these libraries to the environment
variable LD_LIBRARY_PATH. If you are running KeyView in-process:
l If your application is already linking to libgcc_s and libstdc++ from GCC 5.4 or later, KeyView will use them as well and no further action is needed.
l If your application is linking to earlier versions of libgcc_s and libstdc++, Micro Focus recommends that you upgrade those binaries to those from GCC 5.4 or later.
l If your application is not linking to libgcc_s and libstdc++ you must ensure those binaries are available in the same way as described in the instructions, above, for running KeyView out-of-process.
If older versions of libgcc_s and libstdc++ are provided (but at least those from GCC 4.8) then most features will continue to work, but Optical Character Recognition and RMS Decryption will not.
Some KeyView components require specific third-party software: l Java Runtime Environment (JRE) or Java Software Developer Kit (JDK) version 7 or 8 is required for Java API and graphics conversion in Export SDK. l Outlook 2002 or later is required to process Microsoft Outlook Personal Folders (PST) files using the MAPI-based reader (pstsr). The native PST readers (pstxsr and pstnsr) do not require Outlook.
NOTE: You must install an edition of Microsoft Outlook (32-bit or 64-bit) that matches the KeyView software. For example, if you use 32-bit KeyView, install 32-bit Outlook. If you use 64-bit KeyView, install 64-bit Outlook. If the editions do not match, KeyView returns Error 32: KVError_PSTAccessFailed and an error message from Microsoft Office Outlook is displayed: Either there is a no default mail client or the current mail client cannot fulfill the messaging request. Please run Microsoft Outlook and set it as the default mail client.
l Lotus Notes or Lotus Domino is required for Lotus Notes database (NSF) file processing. The minimum requirement is 6.5.1, but version 8.5 is recommended.
l The Microsoft .NET Framework is required if you are using the .NET implementation of the API.
Windows Installation
To install the SDK on Windows, use the following procedure.

IDOL KeyView (12.11)

Page 12 of 286

Filter SDK .NET Programming Guide Chapter 1: Introducing Filter SDK

To install the SDK 1. Run the installation program, KeyViewProductNameSDK_VersionNumber_OS.exe, where ProductName is the name of the product, VersionNumber is the product version number, and OS is the operating system. For example:
KeyViewFilterSDK_12.11_Windows_X86_64.exe The installation wizard opens. 2. Read the instructions and click Next. The License Agreement page opens. 3. Read the agreement. If you agree to the terms, click I accept the agreement, and then click Next. The Installation Directory page opens. 4. Select the directory in which to install the SDK. To specify a directory other than the default,
click , and then specify another directory. After choosing where to install the SDK, click Next. The Pre-Installation Summary opens. 5. Review the settings, and then click Next. The SDK is installed. 6. Click Finish.

UNIX Installation
To install the SDK, use one of the following procedures.
To install the SDK from the graphical interface l Run the installation program and follow the on-screen instructions.

To install the SDK from the console 1. Run the installation program from the console as follows: ./KeyViewFilterSDK_VersionNumber_Platform.exe --mode text where:

VersionNumber Platform

is the product version. is the name of the platform.

IDOL KeyView (12.11)

Page 13 of 286

Filter SDK .NET Programming Guide Chapter 1: Introducing Filter SDK

2. Read the welcome message and instructions and press Enter. The first page of the license agreement is displayed.
3. Read the license information, pressing Enter to continue through the text. After you finish reading the text, and if you accept the agreement, type Y and press Enter. You are asked to choose an installation folder.
4. Type an absolute path or press Enter to accept the default location. The Pre-Installation summary is displayed.
5. If you are satisfied with the information displayed in the summary, press Enter. The SDK is installed.

Package Contents

The Filter SDK installation contains: l All the libraries and executables necessary for extracting text from a wide variety of formats.
l The include files that define the functions and structures used by the application to establish an interface with Filter:

adapi.h adinfo.h kvcfsr.h kvcharset.h kverrorcodes.h kvfilt.h kvfilt2.h

kvfilter.h kvioobj.h kvtoken.h kvtypes.h kvxtract.h kwautdef.h

l The Java API implemented in the package com.verity.api.filter contained in the file KeyView.jar.
l The .NET API implemented in the namespace Autonomy.API.Filter in the library FilterDotNet.dll.
l The C++ SDK, which can be found in the cppapi folder.
l Sample programs that demonstrate File Extraction and Filter functionality using the APIs.
l The files necessary to create a custom document reader, and the source for a sample document reader for UTF-8. See Develop a Custom Reader, on page 261.

IDOL KeyView (12.11)

Page 14 of 286

Filter SDK .NET Programming Guide Chapter 1: Introducing Filter SDK
License Information
Your license key controls whether you have the full version of the KeyView SDK, or a trial version. It also determines whether the following advanced features are enabled:
l Advanced character set detection with the character set detection library (kvlangdetect). l Advanced document readers:
o Microsoft Outlook Personal Folders (PST) readers (pstsr, pstnsr, and pstxsr) o Lotus Notes database (NSF) reader (nsfsr) o Mailbox (MBX) reader (mbxsr) l Processing of documents protected by Microsoft RMS encryption. l Optical Character Recognition (OCR) to attempt to filter text that might be visible in raster image files. If you obtain a new license key from Micro Focus, you must update the licensing information that you pass to KeyView. See Pass License Information to KeyView.
Enable Advanced Document Readers
To enable advanced readers, you must obtain an appropriate license key from Micro Focus and pass the license key to KeyView as described in Pass License Information to KeyView. If you are enabling the MBX reader in an existing installation of Filter, in addition to updating the license key, change the parameter 208=eml to 208=mbx in the formats.ini file.
Pass License Information to KeyView
To provide license information to KeyView, do one of the following: l Provide the license information through the API. Micro Focus recommends using this approach. l Provide the license information as a text file named kv.lic. In earlier versions of KeyView, license information had to be stored in a file and included in the bin folder with the KeyView libraries. The ability to provide license information as a file has been deprecated and might be removed in future. You should no longer include license information in your application as a file. Micro Focus recommends that you pass license information to KeyView through the API instead.
If you have an evaluation version of KeyView and purchase a full version of the SDK, or you are adding a document reader (for example, the PST reader), you must update the license information that you pass to KeyView.

IDOL KeyView (12.11)

Page 15 of 286

Filter SDK .NET Programming Guide Chapter 1: Introducing Filter SDK

To provide license information through the API
l In the C API, provide license information when you initialize KeyView by calling fpInitWithLicenseData().
l In the C++ API, provide license information when you start a new session (see the constructor for the Session class).
l In the .NET API, provide license information to KeyView when you instantiate the Filter object.
l In the Java API, provide license information to KeyView when you instantiate the Filter object.
To provide license information as a file
1. Open or create the license key file, kv.lic, in a text editor. The file must be saved in the same directory as the KeyView libraries, and must contain your organization name and license key.
COMPANY NAME XXXXXXX-XXXXXXX-XXXXXXX-XXXXXXX
2. Replace the text COMPANY NAME with the company name that appears at the top of the License Key Sheet provided by Micro Focus. Enter the text exactly as it appears in the document.
3. Replace the characters XXXXXX-XXXXXXX-XXXXXXX-XXXXXXX with the appropriate license key from the License Key Sheet provided by Micro Focus. The license key is listed in the Key column in the Standalone Products table. The key is a string that contains 31 characters, for example, 2TQD22D-2M6FV66-2KPF23S-2GEM5AB. Enter the characters exactly as they appear in the document, including the dashes, but do not include a leading or trailing space.
4. The finished kv.lic file looks similar to the following:
Autonomy 24QD22D-2M6FV66-2KPF23S-2G8M59B
5. Save the file.

Directory Structure

The following table describes the contents of the Filter SDK.
The variable OS is the operating system for which the SDK is installed. For example, the bin directory on a standard 32-bit Windows installation would be located at KeyviewFilterSDK\WINDOWS\bin.

Installed directory structure

Directory

Description

OS\bin

Contains the libraries, the format detection file formats.ini, and other supporting files, as well as the C programs filter and filtertest, which you can use to test your custom document readers

IDOL KeyView (12.11)

Page 16 of 286

Filter SDK .NET Programming Guide Chapter 1: Introducing Filter SDK

Installed directory structure, continued

Directory

Description

(see Develop a Custom Reader, on page 261).

OS\lib

(Solaris installations only) Contains the redistributable libstlport.so.1 library, which is required to run KeyView on Solaris platforms.

dotnetapi

Contains the source files for the .NET API.

dotnetapi\dotnethelp Contains the help for the .NET API.

dotnetapi\sample

Contains the sample programs for the .NET API.

cppapi

Contains the source files for the C++ API.

cppapi\sample

Contains the sample programs for the C++ API.

guide

Contains the KeyView Filter SDK programming guides in PDF and HTML format.

include

Contains the header files required for Filter.

javaapi\javadoc

Contains the Javadoc for the Java API.

javaapi\sample

Contains the source files and sample programs for the Java API.

rel_notes

Contains the KeyView Filter SDK Release Notes in PDF format.

samples\filter

Contains the source code for the filter sample program demonstrating the Filter interface for the C API.

samples\pdfini

Contains the initialization file used to extract custom metadata from PDF documents.

samples\tstxtract

Contains a C sample program demonstrating the File Extraction interface.

samples\utf8sr

Contains the source for the sample document reader for UTF-8 files. You can use this to create your own custom document readers.

IDOL KeyView (12.11)

Page 17 of 286

Chapter 2: Getting Started

This section provides an overview of Filter SDK, and describes how to use the .NET implementation of the API.

· Architectural Overview

18

· File Caching

19

· Filtering

20

· Subfile Extraction

20

· Use the .NET Implementation of the API

20

· The Filter Process Model

23

· Run Format Detection In or Out of Process

27

· Stream Data to Filter

28

Architectural Overview
The general architecture of the KeyView Filter technology is the same across all supported platforms and is illustrated in the following diagram:

Each component is described in the following table. IDOL KeyView (12.11)

Page 18 of 286

Filter SDK .NET Programming Guide Chapter 2: Getting Started

Architectural Components

Component Description

Developer's Application

The developer's application interfaces directly with the Filter API through either a C-language, Java or .NET implementation.

File Extraction The File Extraction API opens a file and extracts the file's subfiles so they are

API

exposed for filtering. See Use the File Extraction API, on page 31.

Filter API

The Filter API exposes the filtering functionality and controls all other modules during the filtering process. See Use the Filter API, on page 54.

Format Detection

This module determines the file type of the input stream, allowing the Filter API to return that information to the developer's application, or to load the appropriate structured access layer for further processing. See File Format Detection, on page 246 for more information format detection.

Structured Access Layer

There are three modules that reside in the structured access layer--one each for word processing, spreadsheet, and presentation formats. The file detection result determines which structured access layer module is used during the filtering process. That module loads the appropriate document reader and proceeds with text extraction or metadata retrieval.

Document Readers

Each document reader reads a specific file format and sends a text stream of the document to the structured access layer. Each filter is loaded as required by the structured access layer. See Document Readers, on page 253 for a complete list of document readers.

File Caching
To reduce the frequency of I/O operations, and consequently improve performance, the KeyView readers load file data into memory. The readers then read the data from the cache rather than the physical disk. You can configure the amount of memory used for file caching through the formats.ini file. Generally, when you increase the memory, performance will improve.
By default, KeyView uses a maximum of 1MB of memory for each thread. If the file data is larger than 1MB, up to 1MB of data is cached and the data beyond 1MB is read from disk. The minimum amount of memory that can be used for file caching is 64KB.
To determine a reasonable value, divide the maximum amount of memory you want KeyView to use for file caching by the total number of threads. For example, if you want KeyView to use a maximum of 50MB of memory and have 10 threads, set the value to 5MB.
To modify the memory allocated for file caching, change the value for the following parameter in the [DiskCache] section of the formats.ini file:
DiskCacheSize=1024
The value is in kilobytes. If this parameter is not set or is set to 0 (zero), the minimum value of 64KB is used.

IDOL KeyView (12.11)

Page 19 of 286

Filter SDK .NET Programming Guide Chapter 2: Getting Started
The formats.ini file is in the directory install\OS\bin, where install is the path name of the KeyView installation directory and OS is the name of the operating system.
Filtering
Filter SDK enables you to filter many different types of documents. Filtering is the process of extracting the text from a document without the application-specific markup. However, the filtering process can also include the following:
l Subfile extraction--exposes all subfiles for filtering. See Use the File Extraction API, on page 31.
l File format extraction--detects a file's format, and reports the information to the API, which in turn reports the information to the developer's application. See File Format Detection, on page 246.
l Metadata extraction--extracts selected metadata (document properties) from a file. See Extract Metadata, on page 58.
l Character set conversion--controls the character set of both the input and the output text. See Convert Character Sets, on page 60.
Subfile Extraction
To filter a file, you must first determine whether the file contains any subfiles (attachments, embedded OLE objects, and so on). A file that contains subfiles is called a container file. Archive files (such as ZIP), mail messages with attachments (such as Microsoft Outlook Express), mail stores (such as Microsoft Outlook Personal Folders), and compound documents with embedded OLE objects (such as a Microsoft Word document with an embedded Excel chart) are examples of container files. If the file is a container file, the container must be opened and its subfiles extracted using the File Extraction interface. The extraction process is done repeatedly until all subfiles are extracted and exposed for filtering. Once a subfile is extracted, you can use the Filter API to filter the file. If a file is not a container, you should pass it directly to the Filter API for filtering without extraction. The TestExtract sample program demonstrates this logic for extracting and filtering files. See TestExtract, on page 81 for more information.
Use the .NET Implementation of the API
The .NET version of the Filter API provides an interface to the core functionality of the C API. It contains one primary class (Filter) that wraps the filter functionality of the C API. It is implemented in the namespace Autonomy.API.Filter contained in the file FilterDotNet.dll. The library is in the

IDOL KeyView (12.11)

Page 20 of 286

Filter SDK .NET Programming Guide Chapter 2: Getting Started
directory install\OS\bin, where install is the path name of the Filter installation directory and OS is the name of the operating system. For more information on the .NET API, see the .NET help file FilterDotNetHelp.chm in the directory install\dotnetapi\dotnethelp.
Input/Output Operations
In the Filter .NET API, input and output can be either a physical file accessed through a file path, or a .NET stream. Depending on the method signature you use, you can create the following filtering processes:
l filter an input file to output file l filter an input file to an output stream l filter an input stream to an output stream l filter an input stream to an output file l filter an input file and return one chunk of data at a time l filter an input stream and return one chunk of data at a time Many methods in the .NET API have method signatures supporting one or more of these filtering processes. When you select a method, make sure that you use the correct signature for the desired input and output type. The input source can be set by calling the SetInputSource method, or prior to using the DoFilter, CanFilter, CanFilterEx, GetDocFormatInfo, or GetSummaryInfo methods. The latter methods take the input source as one of their parameters.
NOTE: When the input source is from a .NET stream, Filter creates an internal buffer from the stream. If the input is a large file, Micro Focus recommends that you use a file as the input source.
Filter in File or Stream Mode
To filter a file or stream 1. Instantiate a LicenseInfo object to store your KeyView license. LicenseInfo myLicense = new LicenseInfo("my_organization", "my_key"); 2. Instantiate a Filter object, providing your LicenseInfo object. l To instantiate the Filter object with the default output character set and filtering options: objFilter = new Filter(myLicense); l To instantiate the Filter object with your chosen output character set and filtering options:

IDOL KeyView (12.11)

Page 21 of 286

Filter SDK .NET Programming Guide Chapter 2: Getting Started

objFilter = new Filter(Charset.KVCS_UTF8, FilterConstant.FilterFlagConstant.FILTERFLAG_OOPLOGON, myLicense);
The filter flags provide instructions about how to process a file or stream. For example, you can specify whether to run filtering out-of-process (FILTERFLAG_OUTOFPROCESS), whether to log errors during filtering (FILTERFLAG_OOPLOGON), and whether to extract headers and footers from a document (FILTERFLAG_HEADERFOOTERTAGS).
NOTE: Filter runs out of process by default. See The Filter Process Model, on the next page for more information.
3. Set the location of the Filter libraries by setting the FilterDirectory property. These libraries are provided in the directory PLATFORM\bin, in the KeyView Filter SDK, where PLATFORM is the name of the platform. For example:
objFilter.FilterDirectory = "C:\\KeyviewFilterSDK\\WINDOWS_X86_64\\bin";
4. Set the input source as either a file or input stream by calling the SetInputSource method.
objFilter.SetInputSource(m_inFile);
5. Filter the file or stream by calling either the FilterTo or DoFilterChunk method. The FilterTo method extracts the data to a file or a stream. The DoFilterChunk method extracts one chunk of data from a file or a stream. It must be called repeatedly until the entire buffer is filtered.
If filtering in file mode, use the following code:
{ m_objFilter.filterTo(m_extractDir + filename + m_extension);
}
If filtering in stream mode, use the following code:
{ outf = new File(m_extractDir + filename + m_extension); fos = new FileOutputStream(outf); m_objFilter.filterTo(fos); fos.close();
}
6. Terminate the filtering session and free allocated system resources by calling the ShutdownFilter() method. This must be called within a Finally block.
m_objFilter.ShutdownFilter();
Multithreaded Filtering
To ensure multithreaded filter processes are thread-safe, you must create a unique Filter context for every thread by instantiating a Filter object. In addition, threads must not share context objects, and the same context object must be used for all API calls in the same thread. Creating a context object for every thread does not affect performance because the context object uses minimal resources.

IDOL KeyView (12.11)

Page 22 of 286

Filter SDK .NET Programming Guide Chapter 2: Getting Started

For example, your code should have the following logic in a thread: objFilter = new Filter(); objFilter.FilterDirectory = m_filterDirectory; objFilter.SetInputSource(infile); objFilter.GetDocFormatInfo();
if (objFilter.CanFilter() == true)
objFilter.FilterTo(outfile);
objFilter.ShutdownFilter();
The Filter Process Model
By default, Filter runs independently from the calling application process. This is called out-ofprocess filtering. Out-of-process filtering protects the stability of the calling application in the rare case when a malformed document causes Filter to fail. You can configure Filter to run in the same process as the calling application. This is called in-process filtering. However, it is strongly recommended you run Filter out of process whenever possible. To monitor and debug filtering operations during out-of-process filtering, you can generate an error log at run time. See Generate an Error Log, on page 54. The following methods run in process or out of process:
Filter API
l CanFilter l CanFilterEx l DoFilter l DoFilterChunk l GetSummaryInfo l GetDocFormatInfo l GetXmpInfo
File Extraction API
l ExtractCloseDocument l ExtractGetSubFileInfo l ExtractGetSubFileMetadata l ExtractSubFile

IDOL KeyView (12.11)

Page 23 of 286

Filter SDK .NET Programming Guide Chapter 2: Getting Started

l ExtractGetMainFileInfo l ExtractOpenDocument l GetSummaryInfo Other Filter API methods always run in process.

Persist the Child Process
By default, in out-of-process filtering, the parent process maintains a persistent connection with the child server after each file is filtered. When the connection is preserved in this way, subsequent filtering requests are processed more quickly because the server is already prepared to receive data.
You can restart the server at regular intervals by using a method or a configuration setting.

In the API
To force KeyView to restart, call the refreshFilterKVOOP() method. public void refreshFilterKVOOP();

In the formats.ini File
To control whether Filter persists the server, use the kvoopRefresh parameter in the [FilterSDK_ Config] section of the formats.ini file:
kvoopRefresh=0 When this is set to 0 (zero), the connection to the server is persisted for as long as the parent process is running or until the server fails. This is the default.
kvoopRefresh=n When this is set to n, the connection is persisted for n filter requests. After the nth request, the server is shutdown and restarted before processing the next request.
For example, if kvooprefresh=5, the connection to the server is persisted for 5 filter requests. For the 6th request, the server is shutdown and restarted.

To control whether the parent process attempts to filter a file after the file has caused the server to fail, use the kvoopRetry parameter in the [FilterSDK_Config] section of the formats.ini file:

kvoopRetry=0 When this option is set to 0 and the server fails, the parent process does not resend the file to a new server.

kvoopRetry=n

When this option is set to n (a positive number) and the server fails, the parent process resends the file to a new server n times. By default, the kvoopRetry is set to 1, and the file is resent to a server once.

The formats.ini file is in the directory install\OS\bin, where install is the path name of the Filter installation directory and OS is the name of the operating system.

IDOL KeyView (12.11)

Page 24 of 286

Filter SDK .NET Programming Guide Chapter 2: Getting Started
NOTE: The kvoopRefresh and kvoopRetry parameters do not apply when running the File Extraction functions out of process. See Run File Extraction Functions Out of Process, below.
Run Filter In Process
By default, Filter runs out of process. However, you can enable in-process filtering through the API or in the formats.ini file. If the type of process is not specified in the formats.ini or in the API, then Filter is run out of process. If the type of process is specified in the formats.ini and in the API, the setting in the API takes precedence.
In the API
To run Filter in process, instantiate the Filter object using the constructor Filter(string OutputCharSet, UInt32 filterFlags), and set the FilterFlags argument to FILTERFLAG_ INPROCESS. objFilter = new Filter(outputCharSet, FilterConstant.FilterFlagsConstant.FILTERFLAG_ INPROCESS);
In the formats.ini File
To run Filter in process, set the following parameter in the [FilterSDK_Config] section of the formats.ini file to 1: default_inprocess=1 By default this is set to 0 (zero), which enables out-of-process filtering. The formats.ini file is in the directory install\OS\bin, where install is the path name of the Filter installation directory and OS is the name of the operating system.
Run File Extraction Functions Out of Process
The out-of-process setting specified when you create the Filter object or in the formats.ini is automatically propagated to the File Extraction API. When you extract subfiles from container files and pass the files for filtering out of process, Filter generates a server called kvoop.exe for filtering and a duplicate server also called kvoop.exe for file extraction. These servers are independent, so if the filtering service stops responding, the file extraction service can continue extracting files uninterrupted.
Restart the File Extraction Server
If the file extraction server fails on a file and throws the exception KVError_ InvalidOopDriverSignature or KVError_InvalidOopServiceSignature, you must restart the server by recreating the Filter object, and process the source file again.

IDOL KeyView (12.11)

Page 25 of 286

Filter SDK .NET Programming Guide Chapter 2: Getting Started
Out-of-Process Logging
Logging is available for out-of-process filtering. The kvoop server can now create a log file that captures information on the files being processed, storing one entry per process. The generated log file is called xxxx_kvoop.log, where xxxx is a unique number identifying the process. In the rare case when the kvoop server fails, you can use the log files to determine which file caused the failure. After processing is complete and the system shuts down, the logs are automatically deleted. To keep the log files after processing is successfully completed, see Keep Log Files, on the next page.
Enable Out-of-Process Logging
To enable out-of-process logging, set the KVOOP_LOGS_DIR environment variable to the directory in which you want the log files to be stored. By default, logging is not enabled. On UNIX, the variable is set as follows: setenv KVOOP_LOGS_DIR /tmp On Windows, the variable is set as follows: set KVOOP_LOGS_DIR=c:\tmp The following log file is created in the directory: process_id_kvoop.log where process_id is a numeric value representing the logged process. New messages are appended to the file, and truncation is disabled by default. If KeyView terminates unexpectedly and Windows minidump is enabled, a process_id_crash_ info.txt file is generated (see Enable Windows Minidump, on the next page). If logging was not been enabled at the time of termination, this file contains instructions on how to enable logging.
Set the Verbosity Level
You can control how much information is written to the file by setting the KVOOP_LOG_VERBOSITY environment variable. For example: set KVOOP_LOG_VERBOSITY=1 The variable can be set to the following:
1 Include only error messages. 2 Include errors and warnings. 3 Include errors, warnings, and general information. This is the default. 4 Include all possible information. This setting is useful for debugging purposes.

IDOL KeyView (12.11)

Page 26 of 286

Filter SDK .NET Programming Guide Chapter 2: Getting Started
Enable Windows Minidump
KeyView can use the Windows minidump feature to provide additional logging information, which can be useful for debugging purposes. The Windows minidump is disabled by default. To enable the Windows minidump, set KVOOP_DUMP_ ENABLE to 1. If an unexpected termination occurs after the minidump is enabled, three files are generated: process_id_crash_info.txt. Contains KVOOP state and runtime information at the time of termination. If logging was not enabled at the time of termination, this file contains instructions on how to enable logging. process_id_process_list.txt. Contains information from the DLLs that were loaded at the time of the termination. process_id_report.dmp. This is the Windows dump file, which contains further information about the termination. You can open it with either a Windows debugger or autnhelper.exe (this file must be copied to the same directory). You can control the amount of information presented in the Windows dump file by creating the following files in the directory: dumper.NORMAL dumper.WITHDATASEGS dumper.WITHFULLMEMORY dumper.WITHHANDLEDATA
Keep Log Files
After processing is complete and the system is shut down, the log files are automatically deleted from the directory. To keep the log files after a successful run, set the KVOOP_KEEP_LOGS environment variable. On UNIX, set the variable as follows: setenv KVOOP_KEEP_LOGS 1 On Windows, set the variable as follows: set KVOOP_KEEP_LOGS=1
Run Format Detection In or Out of Process
By default, detection runs in out-of-process mode. However, you can enable in-process detection through the API or in the formats.ini file. If the type of process is not specified in the formats.ini or in the API, detection runs in out-of-process mode. If the type of process is specified in the formats.ini and in the API, the setting in the API takes precedence.

IDOL KeyView (12.11)

Page 27 of 286

Filter SDK .NET Programming Guide Chapter 2: Getting Started

Specify the Process Type In the formats.ini File
Add the default_detect_inprocess flag to a [FilterSDK_Config] section in the formats.ini file to control the default behavior for detection. Set the flag to 0 for out-of-process detection, and 1 for inprocess detection. For example,
[FilterSDK Config] default_detect_inprocess=0 If this flag is not specified, the file detection behavior is determined by the default_inprocess flag for filtering. For example, if you set default_inprocess to 1, filtering and file detection runs in inprocess mode by default; if you set default_inprocess to 0, filtering and file detection runs in out-ofprocess mode by default. If you set both the default_inprocess and default_detect_inprocess flags, default_inprocess controls the default filtering behavior and default_detect_inprocess controls the default file detection behavior.
Specify the Process Type In the API
To run format detection in-process, set the flag FILTERFLAG_DETECTINPROCESS when you instantiate the Filter object:
objFilter = new Filter(outputCharSet, FilterConstant.FilterFlagsConstant.FILTERFLAG_DETECTINPROCESS, license);
To run detection out-of-process, set the flag FILTERFLAG_DETECTOUTOFPROCESS.
Stream Data to Filter
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:

IDOL KeyView (12.11)

Page 28 of 286

Filter SDK .NET Programming Guide Chapter 2: Getting Started
l It reduces the disk space used for temporary files. l 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. l 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. l 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.

IDOL KeyView (12.11)

Page 29 of 286

Part II: Use Filter SDK
This section explains how to perform some basic tasks by using the File Extraction and Filter APIs, and describes the sample programs.
l Use the File Extraction API l Use the Filter API l Sample Programs

IDOL KeyView (12.11)

Page 30 of 286

Chapter 3: Use the File Extraction API

This section describes how to extract subfiles from a container file using the File Extraction API.

· Introduction

31

· Extract Subfiles

32

· Extract Images

34

· Recreate a File's Hierarchy

34

· Extract Mail Metadata

36

· Extract Subfiles from Outlook Files

42

· Extract Subfiles from Outlook Express Files

42

· Extract Subfiles from Mailbox Files

43

· Extract Subfiles from Outlook Personal Folders Files

43

· Extract Subfiles from Lotus Domino XML Language Files

46

· Extract Subfiles from Lotus Notes Database Files

47

· Extract Subfiles from PDF Files

50

· Extract Embedded OLE Objects

50

· Extract Subfiles from ZIP Files

51

· Default File Names for Extracted Subfiles

51

Introduction
To filter a file, you must first determine whether the file contains any subfiles (attachments, embedded OLE objects, and so on). A file that contains subfiles is called a container file. A container file has a main file (parent) and subfiles (children) embedded in the main file. The following are examples of container files:
l Archive files such as ZIP, TAR, and RAR.
l Mail messages such as Outlook (MSG) and Outlook Express (EML).
l Mail stores such as Microsoft Outlook Personal Folders (PST), Mailbox (MBX), and Lotus Notes database (NSF).
l PDF files that contain file attachments.
l Compound documents with embedded OLE objects such as a Microsoft Word document with an embedded Excel chart.
NOTE: Document Readers, on page 176 indicates which formats are treated as container files and which are supported by the File Extraction API.

IDOL KeyView (12.11)

Page 31 of 286

Filter SDK .NET Programming Guide Chapter 3: Use the File Extraction API
The subfiles might also be container files, creating a file hierarchy of multiple levels. For example, let us say an MSG file (the root parent) contains three attachments:
l a Microsoft Word document that contains an embedded Microsoft Excel spreadsheet. l an AutoCAD drawing file (DWG). l an EML file with an attached Zip file, which in turn contains four archived files. The following diagram shows the file's hierarchy.

NOTE: The parent MSG file contains four first-level children. The body text of a message file, although not a standalone file in the container, is considered a child of the parent file.
Extract Subfiles
To filter all files in a container file, you must open the container and extract its subfiles to either a file or a stream by using the File Extraction API. The extraction process is done repeatedly until all subfiles are extracted and exposed for filtering. After a subfile is extracted, you can call Filter API methods to filter the data. If you want to filter a container file and its subfiles, to a single file, you must extract all files from the container, filter the files, and then append each filtered output file to its parent.

IDOL KeyView (12.11)

Page 32 of 286

Filter SDK .NET Programming Guide Chapter 3: Use the File Extraction API

To extract subfiles
1. Open the source file by calling the ExtractOpenDocument method. This call defines the parameters necessary to open a file for extraction.
2. Determine whether the main file is a container file (contains subfiles) by calling the ExtractGetMainFileInfo() method.
3. If the call to ExtractGetMainFileInfo() determined the source file is a container file, proceed to step 4; otherwise, filter the file.
4. Determine whether the subfile is itself a container (contains subfiles) by calling the ExtractGetSubFileInfo method.
5. Extract the subfile by calling the ExtractSubFile method.
6. If the call to ExtractGetSubFileInfo determined the subfile is a container file, repeat step 1 through step 5 until all subfiles are extracted and the lowest level of subfiles is reached; otherwise, filter the file.

Sanitize Absolute Paths

When you extract a subfile from a container and write it to disk, you specify an extract directory and a path to extract the file to.
To set the path, you might use the path in the container file that you are extracting from, as returned from the Filter.ExtractGetSubFileInfo method. However, if the path is an absolute path, the file could be created outside the directory you have chosen as the extract directory. Your application might then contain a vulnerability that could be exploited to write files to unexpected locations in the file system. This section discusses some KeyView features that can help you secure your application by sanitizing paths.
KeyView always sanitizes relative paths that you pass in when extracting files, so that the paths remain within the extract directory you specify. For example, KeyView does not allow the use of ".." to move outside the extract directory.
KeyView can update absolute paths so that they remain within the extract directory. You can instruct KeyView to sanitize absolute paths programmatically (through the API), or by setting a parameter in the configuration file.
The following table shows the effect on some example paths.

Requested path Path of extracted file (not sanitized) Path of extracted file (sanitized)

file.txt

extractDir/file.txt

extractDir/file.txt

dir/file.txt ../file.txt /dir/file.txt

extractDir/dir/file.txt extractDir/file.txt /dir/file.txt

extractDir/dir/file.txt extractDir/file.txt extractDir/dir/file.txt

IDOL KeyView (12.11)

Page 33 of 286

Filter SDK .NET Programming Guide Chapter 3: Use the File Extraction API

To sanitize absolute paths
l In the ExtractSubFileExtractConfig that you pass in to the ExtractSubFile method, set the property SanitizeAbsolutePaths. When KeyView sanitizes a path and the resulting directory does not exist, extraction fails unless you instruct KeyView to create the directory, so you might also want to set the property CreateDirectory. You can find the path that a file was actually extracted to from the ExtractSubFileExtractInfo object that is returned from the ExtractSubFile method.
To sanitize absolute paths (through configuration)
l In the formats.ini configuration file, set the parameter SanitizeAbsoluteExtractPaths, for example:
[Options] SanitizeAbsoluteExtractPaths=TRUE

Extract Images
You can use the File Extraction API to extract images within a file. If you use this feature, images within the file behave in the same way as any other subfile. Extracted images have the name image[X].[Y], where [X] is an integer, and [Y] is the extension. The format of the image is the same as the format in which it is stored in the document.
NOTE: Turning on ExtractImages can reduce the speed of the filtering operation.
To extract images l In formats.ini, set the following parameter. [Options] ExtractImages=TRUE

Recreate a File's Hierarchy
When a container file is extracted, any relationships between the subfiles in the container are not maintained. However, the File Extraction interface provides information that enables you to recreate the hierarchy. The hierarchy can be used to create a directory structure in a file system, or to categorize documents according to their relationship to each other. For example, if you use KeyView to generate text for a search engine, the hierarchical information enables your users to search for a document based on the document's parent or sibling. In addition, when the document is returned to the user, the parent and sibling documents can be returned as recommendations.
The information needed to recreate a file's hierarchy is provided in the call to ExtractGetSubFileInfo. Call this method to retrieve an object of ExtractSubFileInfo, then use the ParentIndex and ChildArray() properties in this object to retrieve information about the subfile's

IDOL KeyView (12.11)

Page 34 of 286

Filter SDK .NET Programming Guide Chapter 3: Use the File Extraction API
parent and children. Since you can only retrieve the first-level children in a subfile, you must call ExtractGetSubFileInfo repeatedly until information for the leaf-node children is extracted.
Create a Root Node
Because of their structure, some container files do not contain a subfile or folder which acts as a root directory on which the hierarchy can be based. For example, subfiles in a Zip archive can be extracted, but none of the subfiles represent the root of the hierarchy. In this case, an artificial root node must be created at the top of the file hierarchy as a point of reference for each child, and ultimately to recreate the relationships. This artificial root node is an internal object, and is extracted to disk as a directory called root. Its index number is 0. To create a root node, set the CreateRootNode property in the ExtractOpenDocConfig contructor, and pass ExtractOpenDocConfig to the ExtractOpenDocument method. When a root node is created, the value returned from the NumSubFiles property in the ExtractMainFileInfo constructor includes the root node. For example, when you call ExtractGetMainFileInfo on a Microsoft Word document with three embedded OLE objects and the root node is disabled, the number of subfiles is 3. If you create a root node, the number of subfiles is 4.
Example
For example, you might extract a PST file that contains seven subfiles with a root node enabled. The call to ExtractGetMainFileInfo() returns the number of subfiles as 8 (seven subfiles and one root node). The following diagram shows the structure and the available hierarchy information after the subfiles are extracted: Extracted PST file
The ParentIndex specifies the index number of a subfile's parent. The ChildArray specifies an array of a subfile's children. With this information, you can recreate the hierarchy shown in the following diagram.

IDOL KeyView (12.11)

Page 35 of 286

Filter SDK .NET Programming Guide Chapter 3: Use the File Extraction API
Recreated file hierarchy

Extract Mail Metadata
You can extract metadata such as subject, sender, and recipient from MSG, EML, MBX, PST, and NSF files by calling the ExtractGetSubFileMetadata method. You can extract a predefined set of metadata fields and/or individual fields that are unique to a file format.
Default Metadata Set
KeyView internally defines a set of common mail metadata fields that can be extracted as a group from mail formats. This default metadata set is listed in the following table. When you retrieve all metadata for a file--that is, pass NULL for the array of metadata--the complete set of default metadata, not all available metadata in the file, is returned.

IDOL KeyView (12.11)

Page 36 of 286

Filter SDK .NET Programming Guide Chapter 3: Use the File Extraction API

Default mail metadata list

Field Name (string to Description specify)

From

The display name and email address of the sender.

To

The display names and email addresses of the recipients.

Sent

The time the message was sent.

Cc

The display names and email addresses of recipients who receive

copies of the email.

Bcc

The display names and email addresses of recipients who received

blind copies of the email.

Subject

The text in the subject line of the message.

Priority

The priority applied to the message.

Because mail formats use different terms for the same fields, the format's reader maps the default field name to the appropriate format-specific name. For example, when retrieving the default metadata set, the NSF field Importance is mapped to the name Priority and is returned.
You can also extract the default field names individually by passing the field name (such as From, To, and Subject); however, in this case, the string is not mapped to the format-specific name. For example, if you pass Priority in the call, you will retrieve the contents of the Priority field from an MBX file, but will not retrieve the contents of the Importance field from an NSF file.
NOTE: You cannot pass the field names listed in the table individually for PST files. However, you can pass either the MAPI tag number or one of the constants in the Filter class as integers. See Microsoft Personal Folders File (PST) Metadata, on page 40.

Extract the Default Metadata Set
To extract the default metadata set, call the ExtractGetSubFileMetadata(int extractFileId, int metadataID, string metaDataName) method. For example: int[] metaIDs = null; string[] metaDataName = null;
m_objFilter.SetMetaConfig();
ExtractSubFileMetadata metadata;
metadata = m_objFilter.ExtractGetSubFileMetadata(extContextId, metaIDs, metaDataName);

IDOL KeyView (12.11)

Page 37 of 286

Filter SDK .NET Programming Guide Chapter 3: Use the File Extraction API

Microsoft Outlook (MSG) Metadata
In addition to the default metadata set, for MSG files you can extract the metadata fields listed in the following table.
You must pass the field name to metaNameArray in the call to the ExtractGetSubFileMetadata method. You can also add specific string named properties to the metaNameArray to search for and extract those properties.

MSG-specific metadata list

Field Name (string to specify)

Description

AttachFileName

An attachment's long file name and extension, excluding path.

ConversationTopic

The topic of the first message in a conversation thread. A conversation thread is a series of messages and replies. This is the first message's subject with any prefix removed.

CreationTime

The time the message or attachment was created. This value is displayed in the Sent field in the message's Properties dialog in Outlook.

InternetMessageID

The identifier for messages that come in over the Internet. This is the MAPI property PR_INTERNET_MESSAGE_ID. This property is not in the MAPI headers or MAPI documentation.

LastModificationTime

The time the message or attachment was last modified. This value is displayed in the Modified field in the message's Properties dialog in Outlook.

MessageID

The message transfer system (MTS) identifier for the message transfer agent (MTA). This value is displayed on the Message ID tab in the message's Properties dialog in Outlook.

Received

The date and time a message was delivered. This value is displayed in the Received field in the message's Properties dialog in Outlook.

Sender

The name and email address of the message sender. This value is a concatenation of two MAPI properties in the following format:
"PR_SENDER_NAME" <PR_SENDER_EMAIL_ADDRESS>
The Sender value might be the same as or different than the default metadata From value (see Default Metadata Set, on page 36), depending on which MAPI properties exist in the MSG file.

Sensitivity

The value indicating the message sender's opinion of the sensitivity of a message, such as Personal, Private, or Confidential. This value is displayed in the Sensitivity field in the message's Properties dialog

IDOL KeyView (12.11)

Page 38 of 286

Filter SDK .NET Programming Guide Chapter 3: Use the File Extraction API

MSG-specific metadata list, continued

Field Name (string to specify)

Description

in Outlook.

TransportMsgHeaders

Contains transport-specific message envelope information. This value corresponds to the MAPI property PR_TRANSPORT_MESSAGE_HEADERS.

StartDate

Contains an appointment start date. This value corresponds to the PR_ START_DATE MAPI property.

EndDate

Contains an appointment end date. This value corresponds to the PR_ END_DATE MAPI property.

Extract MSG-Specific Metadata
To extract specific metadata fields from an MSG file, use the method ExtractGetSubFileMetadata (int extractFileId, int metadataID, string metaDataName) and pass the field name defined in the table to metaNameArray (the string is not case sensitive). For example, the following code extracts the contents of the ConversationTopic and MessageID fields:
int[] metaIDs = null; string[] metaDataName = new string[2] {"conversationtopic", "MessageID"};
m_objFilter.SetMetaConfig();
ExtractSubFileMetadata metadata; metadata = m_objFilter.ExtractGetSubFileMetadata(extContextId, metaIDs, metaDataName);

Microsoft Outlook Express (EML) and Mailbox (MBX) Metadata
In addition to the default metadata set, you can extract any metadata field that exists in the header of an EML or MBX file by passing the field's name. If the name is a valid field in the file, the contents of the field are returned. For example, to retrieve the name of the last mail server that received the message before it was delivered, you can pass the string "Received".
Extract EML- or MBX-Specific Metadata
To extract specific metadata fields from an EML or MBX file, use the method ExtractGetSubFileMetadata(int extractFileId, int metadataID, string metaDataName) and pass the metadata name to metaNameArray (the string is not case sensitive).
For example, the following code extracts the contents of the Received and Mime-version fields:

IDOL KeyView (12.11)

Page 39 of 286

Filter SDK .NET Programming Guide Chapter 3: Use the File Extraction API
int[] metaIDs = null; string[] metaDataName = new string[2] {"Received", "Mime-version"};
m_objFilter.SetMetaConfig();
ExtractSubFileMetadata metadata; metadata = m_objFilter.ExtractGetSubFileMetadata(extContextId, metaIDs, metaDataName);
Lotus Notes Database (NSF) Metadata
In addition to the default metadata set, you can extract any Lotus field name that exists in an NSF file by passing the field's name. (You can extract fields from mail NSF files and non-mail NSF files.) If the name is a valid field in the file, the field is returned. For example, to retrieve the date a document in an NSF file was last accessed, you would pass the string "$LastAccessedDB".
NOTE: A complete list of NSF fields are provided in the Lotus Notes file stdnames.h. This header file is available in the Lotus API Toolkit.
Extract NSF-Specific Metadata
To extract specific metadata fields from an NSF file, use the method ExtractGetSubFileMetadata (int extractFileId, int metadataID, string metaDataName) and pass the metadata name to metaNameArray (the string is not case sensitive). For example, the following code extracts the contents of the Description and Categories fields: int[] metaIDs = null; string[] metaDataName = new string[2] {"description", "Categories"};
m_objFilter.SetMetaConfig();
ExtractSubFileMetadata metadata; metadata = m_objFilter.ExtractGetSubFileMetadata(extContextId, metaIDs, metaDataName);
Microsoft Personal Folders File (PST) Metadata
In addition to the default metadata set, you can extract Messaging Application Programming Interface (MAPI) properties from a PST file. These properties describe elements (subject, sender, recipient, and so on) of Outlook items within the PST file. Since the properties are stored in the PST file itself, they can be retrieved before the contents of the PST are extracted. This enables you to determine whether an Outlook item should be extracted based on a subfile's attributes. MAPI properties are also stored for Outlook attachments that are not mail messages (such as an attached Microsoft Word document or Lotus 1-2-3 file).

IDOL KeyView (12.11)

Page 40 of 286

Filter SDK .NET Programming Guide Chapter 3: Use the File Extraction API

MAPI Properties
Each MAPI property is identified by a property tag, which is a constant that contains the property type and a unique identifier. For example, the property that indicates whether a message has attachments has the following components:

Property

PR_HASATTACH

Identifier

0x0E1B

Property type PT_BOOLEAN (000B)

Property tag 0x0E1B000B

The Microsoft MAPI documentation on the Microsoft Developer Network website lists all available MAPI properties, their tags, and types.
You can retrieve any MAPI property that is of one of the MAPI property types listed below:

PT_I2 PT_I4 PT_BINARY PT_BOOLEAN

PT_DOUBLE PT_FLOAT PT_LONG PT_SHORT

PT_STRING8 PT_TSTRING PT_SYSTIME PT_UNICODE

NOTE: Properties with a PT_TSTRING type have the property type recompiled to either a Unicode string (PT_UNICODE) or to an ANSI string (PT_STRING8) depending on the operating system's character set. To retrieve the Unicode property, pass in the Unicode version of the tag. For example, the property tag for PR_SUBJECT is either 0x0037001E for an ANSI string, or 0x0037001F for a Unicode string.

Extract PST-Specific Metadata
In the call to extract subfile metadata, you can pass either the MAPI tag number (such as 0x0070001e) or one of the constants in the Filter class (such as KVPR_SUBJECT). These constants are a subset of MAPI properties and use a KeyView naming convention. For example, the property PR_ CONVERSATION_TOPIC is defined as KVPR_CONVERSATION_TOPIC. If the property you want to retrieve is not defined as a constant in the Filter class, you must pass the MAPI tag number.
To extract specific MAPI properties from a PST file, use the method ExtractGetSubFileMetadata (int extractFileId, int metadataID, string metaDataName) and pass the tag number or constant to metaNameArray.
For example, the following code extracts the MAPI properties PR_SUBJECT and PR_ALTERNATE_ RECIPIENT:
int[] metaIDs = new int[2] { Filter.Constant.MAPIConstant.KVPR_SUBJECT, 0x3A010102 } ; string[] metaDataName = null ;

IDOL KeyView (12.11)

Page 41 of 286

Filter SDK .NET Programming Guide Chapter 3: Use the File Extraction API
m_objFilter.SetMetaConfig();
ExtractSubFileMetadata metadata; metadata = m_objFilter.ExtractGetSubFileMetadata(extContextId, metaIDs, metaDataName);
Exclude Metadata from the Extracted Text File
When a mail message is extracted, the message text and header information (To, From, Sent, and so on) is extracted to a text file. You can prevent the header information from appearing in the text file. To exclude the header information, call the ExcludeMailHeader property of the ExtractSubFileExtractConfig object, and pass ExtractSubFileExtractConfig to the ExtractSubFile method. For example: m_excludeMailHeader = true; extconfig = new ExtractSubFileExtractConfig();
extconfig.ExcludeMailHeader = m_excludeMailHeader; extinfo = m_objFilter.ExtractSubFile(extContextID, i, extconfig);
Extract Subfiles from Outlook Files
When an Outlook file (MSG) is extracted to disk, its message text and header information (To, From, Sent, and so on) are extracted to a text file. (If you do not want the header information to appear in the text file, see Exclude Metadata from the Extracted Text File, above.) If the Outlook file contains a non-mail attachment, the attachment is extracted in its native format to a sub directory. If the Outlook file contains a mail attachment, the attachment's message text and attachment(s) are extracted to a sub directory.
Extract Subfiles from Outlook Express Files
When an Outlook Express (EML) file is extracted to disk, its message text and header information (To, From, Sent, and so on) are extracted to a text file. (If you do not want the header information to appear in the text file, see Exclude Metadata from the Extracted Text File, above.) If the Outlook Express file contains a non-mail attachment, the attachment is extracted in its native format to the same directory as the message text file. If the Outlook Express file contains a mail attachment, the complete attachment (including message text and attachments), the message text file, and non-mail attachment(s) are extracted to the same directory as the main message.
NOTE: When the MBX reader (mbxsr) is enabled, it is used to filter MBX and EML files. If the MBX reader is not enabled, the EML reader (emlsr) is used.

IDOL KeyView (12.11)

Page 42 of 286

Filter SDK .NET Programming Guide Chapter 3: Use the File Extraction API
Extract Subfiles from Mailbox Files
A Mailbox (MBX) file is a collection of individual emails compiled with RFC 822 and RFC 2045 - 2049 (MIME), and divided by message separators. There are many mail applications that export to an MBX format, such as Eudora Email and Mozilla Thunderbird. When an MBX file is extracted to disk, the message text and header information (To, From, Sent, and so on) from each mail file are extracted to text files. (If you do not want the header information to appear in the text file, see Exclude Metadata from the Extracted Text File, on the previous page.) In Eudora MBX files, attachments are inserted as a link and are stored externally from the message. These attachments are not extracted, but the path to the attachment is returned in the call to the ExtractGetSubFileInfo method. You can write code to retrieve the attachment based on the returned path. For MBX files from other clients, KeyView extracts attachments when they are embedded in the message.
NOTE: The Mailbox (MBX) reader is an advanced feature and is sold and licensed separately. To enable this reader in a KeyView SDK, you must obtain the appropriate license key from Micro Focus.
Extract Subfiles from Outlook Personal Folders Files
KeyView can extract Outlook items such as messages, appointments, contacts, tasks, notes, and journal entries from a PST file. When a PST file is extracted to disk, the body text and header information (To, From, Sent, and so on) from each Outlook item are extracted to a text file. (If you do not want the header information to appear in the text file, see Exclude Metadata from the Extracted Text File, on the previous page.) You can also extract messages from PST files as MSG files, including all their attachments, using the SaveAsMSG property in the ExtractSubFileExtractConfig class. If an Outlook item contains a non-mail attachment, the attachment is extracted in its native format to a sub directory. If an Outlook item contains an Outlook attachment, the attached item's body text and attachment(s) are extracted to a sub directory.
NOTE: The Microsoft Outlook Personal Folders (PST) readers are an advanced feature and are sold and licensed separately. To enable these readers in a KeyView SDK, you must obtain an appropriate license key from Micro Focus. For information about adding a new license key to an existing installation, see Pass License Information to KeyView, on page 15.

IDOL KeyView (12.11)

Page 43 of 286

Filter SDK .NET Programming Guide Chapter 3: Use the File Extraction API

Choose the Reader to use for PST Files

KeyView provides several ways of processing PST files:
l Indirectly, using the Microsoft Messaging Application Programming Interface (MAPI). MAPI is a Microsoft interface that enables different applications to exchange messages and attachments with each other. MAPI allows KeyView to open a PST file, traverse the folders, and extract items. The pstsr reader uses MAPI, but works only on Windows and requires that Microsoft Outlook is installed.
l Directly, without relying on the Microsoft interface to the PST format. Accessing the file directly does not require Microsoft Outlook. The pstxsr reader is available for Windows (32-bit and 64bit) and Linux (64-bit only). The pstnsr reader is an alternative native reader, for the platforms not supported by pstxsr.
On Windows, the MAPI-based reader is used by default but you can choose pstxsr if you prefer. On UNIX platforms, only one of the native readers is available (pstxsr on Linux x64 and pstnsr on other platforms).
The differences between the readers are summarized in the following table.

Feature
Platforms supported
Outlook required MAPI properties supported Password protection supported
Compressible encryption supported High encryption supported

Native Reader (pstxsr)

Native Reader (pstnsr)

MAPI-based Reader (pstsr)

Windows x86 and x64 All platforms not

Windows x86 and x64

Linux x64

supported by pstxsr

No

No

Yes

Yes. All properties defined in mapitags.h. Object properties are not supported.

Yes

Yes

Yes (using

KVCredential

structure)

Yes

Yes

Yes

No

No

Yes

To change the reader used to process PST files, change the PST entry (file category value 297) in the formats.ini file. For example, to use pstxsr:
297=pstx
NOTE: You must make sure that the PST that you are extracting is not open in the Outlook client, and that the Outlook process is not running.

NOTE: When extracting subfiles from PST files, information on the distribution list used in an email is extracted to a file called emailname.dist. This applies to the MAPI reader (pstsr) only.

IDOL KeyView (12.11)

Page 44 of 286

Filter SDK .NET Programming Guide Chapter 3: Use the File Extraction API
System Requirements
MAPI is supported on Windows platforms only and relies on functionality in Outlook. If you want to use the MAPI-based reader, pstsr, Microsoft Outlook must be installed on the same machine as your application. Outlook must also be the default email application. KeyView supports the following PST formats and Outlook clients:
l Outlook 97 or later PST files
NOTE: The Outlook client must be the same version as, or newer than, the version of Outlook that generated the PST file.
l Outlook 2002 or later clients
NOTE: You must install an edition of Microsoft Outlook (32-bit or 64-bit) that matches the KeyView software. For example, if you use 32-bit KeyView, install 32-bit Outlook. If you use 64-bit KeyView, install 64-bit Outlook. If the editions do not match, KeyView returns Error 32: KVError_PSTAccessFailed and an error message from Microsoft Office Outlook is displayed: Either there is a no default mail client or the current mail client cannot fulfill the messaging request. Please run Microsoft Outlook and set it as the default mail client.
MAPI Attachment Methods
The way in which you can access the contents of a PST message attachment is determined by the MAPI attachment method applied to the attachment. For example, if the attachment is an embedded OLE object, it uses the ATTACH_OLE attachment method. KeyView can access message attachments that use the following attachment methods:
ATTACH_BY_VALUE ATTACH_EMBEDDED_MSG ATTACH_OLE ATTACH_BY_REFERENCE ATTACH_BY_REF_ONLY ATTACH_BY_REF_RESOLVE Attachments using the ATTACH_BY_VALUE, ATTACH_EMBEDDED_MSG, or ATTACH_OLE attachment methods are extracted automatically when the PST file is extracted. An "attach by reference" method means the attachment is not in Outlook, but Outlook contains an absolute path to the attachment. Before you can extract these types of attachments, you must retrieve the path to access the attachment.
To extract "attach by reference" attachments 1. Determine whether the attachment uses an ATTACH_BY_REFERENCE, ATTACH_BY_REF_ONLY, or ATTACH_BY_REF_RESOLVE method by retrieving the MAPI property PR_ATTACH_METHOD.

IDOL KeyView (12.11)

Page 45 of 286

Filter SDK .NET Programming Guide Chapter 3: Use the File Extraction API
2. If the attachment uses one of the "attach by reference" methods, get the fully qualified path to the attachment by retrieving the MAPI properties PR_ATTACH_LONG_PATHNAME or PR_ATTACH_ PATHNAME.
3. You can then either copy the files from their original location to the path where the PST file is extracted, or use the Filter API methods to filter the attachment.
Open Secured PST Files
KeyView enables you to specify credentials (user name and password), which are used to open a secured PST file for extraction. See Password Protected Files, on page 281 for more information.
Detect PST Files While the Outlook Client is Running
If you are running an Outlook client while running the File Extraction API, the KeyView format detection module (kwad) might not be able to open the PST file to determine the file's format because Outlook has the file locked. In this case, you can do one of the following:
l Close Outlook when using the Extraction API l Detect PST files by extension only and bypass the format detection module. To enable this
option, add the following lines to the formats.ini file. [container_flags] detectPSTbyExtension=1
NOTE: The detectPSTbyExtension option only applies when you are using the MAPI reader (pstsr).
NOTE: If you use this option, you must make sure in your code that valid PST files are passed to KeyView because the format detection module will not be available to verify the file type and pass the file to the appropriate reader.
Extract Subfiles from Lotus Domino XML Language Files
When a Lotus Domino XML Language (.DXL) file is extracted, its message text and header information (To, From, Sent, and so on) are extracted to a text file.
NOTE: To prevent header information from being extracted, see Exclude Metadata from the Extracted Text File, on page 42.
You can make sure that dates and times extracted from Lotus Domino .DXL files are displayed in a uniform format.

IDOL KeyView (12.11)

Page 46 of 286

Filter SDK .NET Programming Guide Chapter 3: Use the File Extraction API
To extract custom date/time formats l In the formats.ini file, set the DateTimeFormat option in the [dxlsr] section. For example: [dxlsr] DateTimeFormat=%m/%d/%Y %I:%M:%S %p In this example, dates and times are extracted in the following format: 02/11/2003 11:36:09 AM The format arguments are the same as those for the strftime() function. Refer to the following webpage for more information. http://msdn.microsoft.com/en-us/library/fe06s4ak%28VS.71%29.aspx
Extract Subfiles from Lotus Notes Database Files
A Lotus Notes database is a single file that contains multiple documents called notes. Notes include design notes (such as forms, views, folders, navigators, outlines, pages, framesets, agents, and resources), data document notes, profile document notes, access control list notes, and collection (index) notes. KeyView can extract text items, attachments, and OLE objects from data document notes only. Data document notes include emails, journal entries, discussion threads, documents (Microsoft Office and Lotus SmartSuite), and so on. All components of a note are prefixed by field names such as "SendTo:", "Subject:", and "Body:". When a note is extracted, the field names are not included in the extracted output; only the field values are extracted. When a mail message in an NSF file is extracted to disk, the body text and header information-- such as the values from the SendTo, From, and DeliveredDate fields--in each message are extracted to a text file. (If you do not want the header information to appear in the message text file, see Exclude Metadata from the Extracted Text File, on page 42.)
NOTE: The Lotus Notes Database (NSF) reader is an advanced feature and is sold and licensed separately. To enable this reader in a KeyView SDK, you must obtain the appropriate license key from Micro Focus.
System Requirements
The NSF format is proprietary. Therefore, KeyView accesses NSF files indirectly using the Lotus Notes API. Since the NSF reader relies on functionality in Lotus Notes, a Lotus Notes client or Lotus Domino server must be installed and configured on the same machine on which the application filtering NSF files is installed. On UNIX and Linux, the Lotus Domino server is required. On Windows, the Lotus Notes client or Lotus Domino server is required.

IDOL KeyView (12.11)

Page 47 of 286

Filter SDK .NET Programming Guide Chapter 3: Use the File Extraction API
KeyView supports the following Lotus Notes clients and Domino servers: l Lotus Notes 6.5.1 l Lotus Domino 6.5.1
KeyView supports NSF files on the same platforms supported by Lotus Notes and Lotus Domino: l Windows XP x86 (Service Pack 1 and 2) l Windows 2000 x86 (Service Pack 2) l Solaris 8.0 and 9.0 (built on Solaris 8.0) l Red Hat Enterprise Linux AS 3.0 (x86) l SuSE Linux Enterprise Server 8 and 9 (x86) l IBM AIX 5.1, 5L version 5.2
Installation and Configuration
Before KeyView can filter NSF files, you must set up the Lotus Notes client or Lotus Domino server. Full configuration is not required. The following steps outline the minimal setup for NSF filtering.
Windows
1. Install the Lotus Notes client or Lotus Domino server. You do not need to configure the client or server.
2. Make sure that the notes.ini file is in the install\lotus\notes directory, where install is the directory where Lotus Notes is installed. If the file does not exist, create an ASCII file named notes.ini, and add the following text: [Notes]
3. Add the install\lotus\notes and the KeyView bin directory to the PATH environment variable. Micro Focus recommends that you add the KeyView bin directory because the Lotus Notes installation might contain older KeyView OEM libraries.
Solaris
1. Install Lotus Domino server. You do not need to configure the server. 2. Make sure that the notes.ini file is in the install/lotus/notes/latest/sunspa directory,
where install is the directory where Lotus Notes is installed. If the file does not exist, create an ASCII file named notes.ini, and add the following text: [Notes] 3. Add the install/lotus/notes/latest/sunspa directory to the PATH environment variable: setenv PATH install/lotus/notes/latest/sunspa:$PATH 4. Add the install/lotus/notes/latest/sunspa and the KeyView bin directory to the LD_ LIBRARY_PATH environment variable:

IDOL KeyView (12.11)

Page 48 of 286

Filter SDK .NET Programming Guide Chapter 3: Use the File Extraction API

setenv LD_LIBRARY_PATH keyview_bin:install/lotus/notes/latest/sunspa:$LD_ LIBARY_PATH where keyview_bin is the location of the KeyView bin directory. Micro Focus recommends that you add the KeyView bin directory because the Lotus Notes installation might contain older KeyView OEM libraries.
AIX 5.x
1. Install the bos.iocp.rte file set if it is not already installed, and reboot the machine. See the Lotus Domino server documentation for more information.
2. Install Lotus Domino server. You do not need to configure the server.
3. Make sure that the notes.ini file is in the install/lotus/notes/latest/ibmpow directory, where install is the directory where Lotus Notes is installed. If the file does not exist, create an ASCII file named notes.ini, and add the following text:
[Notes] 4. Add the install/lotus/notes/latest/ibmpow directory to the PATH environment variable:
setenv PATH install/lotus/notes/latest/ibmpow:$PATH 5. Add the install/lotus/notes/latest/ibmpow and the KeyView bin directory to the LIBPATH
environment variable:
setenv LIBPATH keyview_bin:install/lotus/notes/latest/ibmpow:$LIBPATH where keyview_bin is the location of the KeyView bin directory. Micro Focus recommends that you add the KeyView bin directory because the Lotus Notes installation might contain older KeyView OEM libraries.
Linux
1. Install Lotus Domino server. You do not need to configure the server.
2. Make sure that the notes.ini file is in the install/lotus/notes/latest/linux directory, where install is the directory where Lotus Notes is installed. If the file does not exist, create an ASCII file named notes.ini, and add the following text:
[Notes] 3. Add the install/lotus/notes/latest/linux directory to the PATH environment variable:
setenv PATH install/lotus/notes/latest/linux:$PATH 4. Add the install/lotus/notes/latest/linux and the KeyView bin directory to the LD_
LIBRARY_PATH environment variable:
setenv LD_LIBRARY_PATH keyview_bin:install/lotus/notes/latest/linux:$LD_ LIBRARY_PATH where keyview_bin is the location of the KeyView bin directory. Micro Focus recommends that you add the KeyView bin directory because the Lotus Notes installation might contain older KeyView OEM libraries.

IDOL KeyView (12.11)

Page 49 of 286

Filter SDK .NET Programming Guide Chapter 3: Use the File Extraction API

Open Secured NSF Files
KeyView enables you to specify credentials (user ID file and password), which are used to open a secured NSF file for extraction. See Password Protected Files, on page 281 for more information.
Format Note Subfiles
The KeyView NSF reader uses XML templates to format note sub-files. You can customize the templates as required to approximate the look and feel of the original notes as closely as possible. For more information, see Extract and Format Lotus Notes Subfiles, on page 233.
Extract Subfiles from PDF Files
KeyView can extract document-level and page-level attachments from a PDF document. Documentlevel attachments are added by using the Attach A File tool, and can include links to or from the parent document or to other file attachments. Page-level attachments are added as comments by using various tools. Page-level or comment attachments display the File Attachment icon or the Speaker icon on the page where they are located. KeyView can also extract the files from Portfolio PDFs. When a PDF file is extracted to disk, the PDF file is extracted to a directory and the PDF's attachments are saved in their native format to the same directory as the original PDF file.
Improve Performance for PDFs with Many Small Images
To improve performance when processing PDF files that contain many small images, you can choose to ignore images unless they exceed a minimum width and/or height. If an image is smaller than the minimum width or height, KeyView does not extract the image. For example, to ignore images that are less than 16 pixels wide or less than 16 pixels in height, add the following to the [pdf_flags] section of the formats.ini file: [pdf_flags] process_images_with_min_width=16 process_images_with_min_height=16
Extract Embedded OLE Objects
The File Extraction API can extract embedded OLE objects from the following types of documents: l Microsoft Excel l Microsoft Word

IDOL KeyView (12.11)

Page 50 of 286

Filter SDK .NET Programming Guide Chapter 3: Use the File Extraction API
l Microsoft PowerPoint l Microsoft Outlook l Microsoft Visio l Rich Text Format (RTF) When an embedded OLE object is extracted from its parent file, the location where the embedded file appears in the original document is not available. The parent and child are extracted as separate files.
Extract Subfiles from ZIP Files
ZIP files that are not password-protected can be extracted using the general method (see Extract Subfiles, on page 32). However, some ZIP files use password protection, in which case you must use a different method to enter the required credentials. See Password Protected Files, on page 281 for more information.
Default File Names for Extracted Subfiles
When a file name is not specified in the call to ExtractSubFile, in some cases, a default file name is applied to the extracted subfile.
Default File Name for Mail Formats
To avoid naming conflicts and problems with long file names, KeyView applies its own names to the extracted mail folders and mail items when a name is not supplied in the call to ExtractSubFile. A non-mail attachment retains its original file name and extension. When the contents of a mail store or the message body of a mail message are extracted, the extracted file names might include the following:
l The first valid eight characters of the original folder name or "Subject" line of the mail message. If the "Subject" line is empty, the characters kvext are used, where ext is the format's extension. For example, the characters would be "kvmsg" for MSG, and "kvnsf" for NSF. The following special characters are considered invalid and are ignored: o any non-printing character with a value less than 0x1F o angle brackets (< >) o asterisk (*) o back slash (\) o colon (:)

IDOL KeyView (12.11)

Page 51 of 286

Filter SDK .NET Programming Guide Chapter 3: Use the File Extraction API

o double quote (") o forward slash (/) o pipe (|) o question mark (?) For notes, the file name is derived from the first 24 characters of the note text. For contact entries, the file name is derived from the full name of the contact. l The characters _kvn, where n is an integer incremented from 0 for each extracted item. l One of the following extensions:

Type

File Extension

email message

.mail .rtf (NSF files)

calendar appointment .cal

contact entry

.cont

task entry

.task

note

.note

journal entry

.jrnl

distribution list

.dist

If the type cannot be determined for an MSG or PST file, the file is given a .mail extension.
If the type cannot be determined for an NSF file, the file is given a .tmp extension.
For example, an MSG mail message with the subject line "RE: Product roadmap" that contains the Microsoft Excel attachment release_schedule.xls is extracted as:
RE produ_kv0.mail release_schedule.xls
If an extracted message contains an embedded OLE object or any attachment that does not have a name, the object or attachment is extracted as _kv#.tmp.

Default File Name for Embedded OLE Objects
KeyView can apply a default name to an extracted embedded OLE object when a name is not supplied in the call to ExtractSubFile. When an embedded OLE object is extracted, the extracted file name might include the following:
l The first valid eight characters of the main file. The following special characters are considered invalid and are ignored:

IDOL KeyView (12.11)

Page 52 of 286

Filter SDK .NET Programming Guide Chapter 3: Use the File Extraction API
o any non-printing character with a value less than 0x1F o angle brackets (< >) o asterisk (*) o back slash (\) o colon (:) o double quote (") o forward slash (/) o pipe (|) o question mark (?) l The characters _kvn, where n is an integer incremented from 0 for each extracted object. l If KeyView can determine the embedded OLE is a Microsoft Office document, the original extension is used. If the file type cannot be determined, the file is given a .tmp extension. For example, let us say a Microsoft Word document (sales_quarterly.doc) contains two embedded OLE objects: a Microsoft Excel file called west_region.xls, and a bitmap created in the Word document. The embedded objects would be extracted as sales_qu_kv0.xls sales_qu_kv1.tmp

IDOL KeyView (12.11)

Page 53 of 286

Chapter 4: Use the Filter API

This section describes how to perform some basic filtering tasks by using the Filter API.

· Generate an Error Log

54

· Extract Metadata

58

· Convert Character Sets

60

· Extract Deleted Text Marked by Tracked Changes

63

· Filter PDF Files

63

· Filter Spreadsheet Files

70

· Filter HTML Files

73

· Filter XML Files

74

· Configure Headers and Footers

78

· Tab Delimited Output for Embedded Tables

78

· Exclude Japanese Guide Text

79

· Source Code Identification

79

· Optical Character Recognition

80

· Document Restrictions

80

Generate an Error Log
You can monitor and debug filtering operations by enabling a detailed error log. This allows you to see errors that are generated at run time and to track problem files in stream or file mode.
NOTE: Error logs are not generated when in-process filtering is enabled.
The error log might include the following information: l Generated error messages. l Time stamp. l Path and file name of the file in which the error occurred. l Length of the file in which the error occurred. If the name of the original file or the name of the temporary file are not obtained in stream mode, the file length is reported.
The following is a sample log file:
-KVOOPE 12 # Time: 11:14:32 # File Len = 68140 -KVOOPE 13 # Time: 11:23:05 # H:\files\WP\Word97\fnldmsa.doc -KVOOPE 5 # Time: 12:15:54 # H:\files\SS\XL2000\corporate.xsl -KVOOPE 5 # Time: 12:45:19 # H:\files\WP\WPerf5\wp501.doc -KVOOPE 12 # Time: 14:25:33 # H:\files\PG\PPoint95\95.ppt

IDOL KeyView (12.11)

Page 54 of 286

Filter SDK .NET Programming Guide Chapter 4: Use the Filter API
-KVOOPE 26 # Time: 16:26:04 # File Len = 19117568 -KVOOPE 10 # Time: 20:27:40 # File Len = 19117568 You can specify the information that is written to the log file using either the API or environment variables. To configure a log file for a single filtering session, use environment variables. To configure a log file for all filtering sessions, use the API. Configuring the log file using the API overrides the same settings in the environment variables. You can also specify additional settings in the formats.ini file You can configure the following features of the log file:
l Enable or disable logging. See Enable or Disable Error Logging, below. l Change the default path and file name of the log file. See Change the Path and File Name of the
Log File, on the next page. l Include memory errors in the log file. See Report Memory Errors, on the next page. l Specify a memory guard that is used to generate memory overwrite errors in the log. See
Specify a Memory Guard, on the next page. l Include the input file name in the log file when filtering a stream. See Report the File Name in
Stream Mode, on page 57. l Specify the maximum size of the log file. See Specify the Maximum Size of the Log File, on
page 57.
Enable or Disable Error Logging
You can enable or disable error logging using either the API or environment variables. By default, a file called kvoop.log is created in the system temporary directory; however, you can change the path and file name of this file (see Change the Path and File Name of the Log File, on the next page).
Use the API
To enable logging through the API, set the flag FILTERFLAG_OOPLOGON when you instantiate the Filter object: objFilter = new Filter(outputCharSet,
FilterConstant.FilterFlagsConstant.FILTERFLAG_OOPLOGON, license); To disable logging, set the flag FILTERFLAG_OOPLOGOFF.
Use Environment Variables
To enable logging, add the environment variable KVOOPLOGON, and set the variable value to 1. To disable logging, do not set the environment variable KVOOPLOGON.

IDOL KeyView (12.11)

Page 55 of 286

Filter SDK .NET Programming Guide Chapter 4: Use the Filter API

Change the Path and File Name of the Log File
You can change the default path and file name of the log file. The default is C:\temp\kvoop.log on Windows and /tmp/kvoop.log on UNIX. To change the path and file name of the log file, add the following to the formats.ini file: [kvooplog] KvoopLogName=filepath The formats.ini file is in the directory install\OS\bin, where install is the path name of the Filter installation directory and OS is the name of the operating system.
Report Memory Errors
You can report memory leaks and memory overwrites in the log file by enabling the memory trace system, either by using the API or environment variables. If the memory trace system is enabled, the error messages for memory leaks and memory overwrites (KVError_MemoryLeak and KVError_ MemoryOverwrite, respectively) are reported in the log file when they are generated.
NOTE: To report memory overwrites, you must also set a memory guard. See Specify a Memory Guard, below.
Use the API
To enable or disable the memory trace system in the API, instantiate the Filter object using the constructor Filter(String outputCharSet, UInt32 filterFlags), and set the FilterConstant.FilterFlagConstant argument to either FILTERFLAG_OOPMEMTRACEON or FILTERFLAG_OOPMEMTRACEOFF. For example: objFilter = new Filter(outputCharSet, FilterConstant.FilterFlagConstant.FILTERFLAG_ OOPMEMTRACE);
Use Environment Variables
To enable the memory trace system, add the KVOOPMT environment variable, and set its value to 1. To disable the memory trace system, do not set the KVOOPMT environment variable.
Specify a Memory Guard
To report memory overwrites in the log file, you must set a memory guard that protects against memory overwrites. Normally, this is set in the range of 100-200 bytes. For example, if a memory guard of 100 is set and 20 bytes of memory are specified, a total of 120 bytes of memory are allocated. The additional memory is used to monitor and identify memory overwrites. To configure the memory guard, add the following section to the formats.ini file:

IDOL KeyView (12.11)

Page 56 of 286

Filter SDK .NET Programming Guide Chapter 4: Use the Filter API

[Kvooplog] mg=100

Report the File Name in Stream Mode
When you run Filter in file mode the file name is always reported in the log file. To report the file name in stream mode, you must extract it through the API.
To add the input file name to the log 1. Create an instance of ConfigOption with the following properties: a. Set the ConfigOptionType to CFG_SETOOPSRCFILE. b. Set the ConfigOptionValue to 0. c. Set ConfigOptionData to the input_filename. 2. Call the SetConfigOption method, and pass in the ConfigOption instance.
Example
ConfigOption configs = new ConfigOption(); configs.ConfigOptionData = input_filename; configs.ConfigOptionType = FilterConstant.ConfigOptionConstant.CFG_
SETOOPSRCFILE; configs.ConfigOptionValue = 0; objFilter.SetConfigOption(configs);

Specify the Maximum Size of the Log File
You can specify the maximum size of the log file. When this size is reached and new entries are logged, either the first entry in the file is overwritten or the new entries are not reported.
To configure the maximum log size and whether old entries are overwritten, add the following section to the formats.ini file:
[Kvooplog] LogFileSize=10 OverWriteLog=1

Option LogFileSize
OverWriteLog

Description
This option specifies the maximum size of the log file in KB. The minimum is 1 K. If a size is not specified, the default 2 MB is used.
This option determines whether the log file is overwritten when the maximum log file size (LogFileSize) is reached. If you set this option to 1, the first entry of the log file is overwritten. If you set this option to 0, new entries are not reported in the log file.

IDOL KeyView (12.11)

Page 57 of 286

Filter SDK .NET Programming Guide Chapter 4: Use the Filter API
Extract Metadata
When a file format supports metadata, KeyView can extract and process that information. Metadata includes document information fields such as title, author, creation date, and file size. Depending on the file's format, metadata is referred to in a number of ways: for example, "summary information," "OLE summary information," "file information," and "document properties." The metadata in mail formats (MSG and EML) and mail stores (PST, NSF, and MBX) is extracted differently than other formats. For information on extracting metadata from these formats, see Extract Mail Metadata, on page 36.
NOTE: KeyView can extract metadata from a document only if metadata is defined in the document, and if the document reader can extract metadata for the file format. The section Document Readers, on page 176 lists the file formats for which metadata can be extracted. KeyView does not generate metadata automatically from the document contents.
The sample code TestFilter demonstrates how to extract metadata. See TestFilter, on page 83.
Extract Metadata for File Filtering
To extract metadata for file filtering 1. Optionally, set the input source using the SetInputSource(String inFile) method of the Filter object. 2. If the input source was set in step 1, call the GetSummaryInfo() method of the Filter object to retrieve an object of the SummaryInfo class. Otherwise, call the GetSummaryInfo(String inFile) method. 3. Use the methods of the SummaryInfo object to retrieve the metadata information.
Extract Metadata for Stream Filtering
To extract metadata for stream filtering 1. Optionally, set the input source using the SetInputSource(System.IO.Stream input) method of the Filter object. 2. If the input source was set in step 1, call the GetSummaryInfo() method of the Filter object to retrieve an object of the SummaryInfo class. Otherwise, call the GetSummaryInfo (System.IO.Stream in) method. 3. Use the methods of the SummaryInfo object to retrieve the metadata information.

IDOL KeyView (12.11)

Page 58 of 286

Filter SDK .NET Programming Guide Chapter 4: Use the Filter API

Example
Below is an example of a call to GetSummaryInfo():
If the get summary flag -i is set:
List<SummaryInfoElement> sinfo sinfo = objFilter.GetSummaryInfo(); if(sinfo != null) {
FileStream fs = new FileStream(m_summaryFile, FileMode.OpenOrCreate, FileAccess.Write);
StreamWriter sw = new StreamWriter(fs); //In case the ANSI is not 1252, using following to get byte array and then convert to correct information. // BinaryWriter bw = new BinaryWriter(fs); string charSet = objFilter.TargetCharSet; foreach (SummaryInfoElement item in sinfo) { Console.WriteLine( item.ElementName + ". data: " + item.Data ); if (item.ElementName != null) {
//bw.Write(item.ElementNameByteArray); sw.WriteLine(" name: " + item.ElementName ); } if (item.Data != null) { //bw.Write(item.DataByteArray); sw.WriteLine(" data: " + item.Data ); } sw.Flush(); } sw.Close(); fs.Close(); } sinfo=null;
The SummaryInfo class stores the metadata extraction results. After calling the Filter.GetSummaryInfo()method, call the properties provided by each instance of this class to extract metadata. The following describes each property:
l Isvalid. Specifies whether the element data is present.
l SumInfoType. Sets or gets the summary element's data type. The possible types are:

KV_String KV_Int4

The value in the metadata field is a string. The value in the metadata field is an integer.

IDOL KeyView (12.11)

Page 59 of 286

Filter SDK .NET Programming Guide Chapter 4: Use the Filter API

KV_DateTime The value in the metadata field is a date and time.

KV_ClipBoard Currently not supported.

KV_Bool

The value in the metadata field is a boolean.

KV_Unicode The value in the metadata field is a Unicode string.

KV_IEEE8

The value in the metadata field is an IEEE 8-byte integer.

KV_Other

The value in the metadata field is user-defined.

l Data. Sets or gets the summary element's content.
If type is KV_Int4 or KV_Bool, then data contains the actual value. Otherwise, Data is a pointer to the actual value.
KV_IEEE8 point to an 8-byte value.
KV_DateTime , KV_String and KV_Unicode point to the beginning of the string that contains the text. KV_Unicode is replaced with KV_String when the UNICODE value has been character mapped to the desired output character set.
l ElementName. Sets or gets the summary element's name.
l ElementNameByteArray. Sets or gets the summary element's name using a byte array in case the character set is not known.
l DataByteArray. Gets the summary element's content using a byte array.
If the SumInfoType is KV_DateTime , the value in the DataByteArray is a 64-bit value representing the number of 100-nanosecond intervals since January 1, 1601 (Windows FILETIME EPOCH). You might need to convert this value into another format.

Convert Character Sets
Filter can convert the character set of a source document to an arbitrary character set specified in the API, or to the character set of the operating system on which the output text is viewed. For this conversion to occur, a source character set must be identified. The source character set can either be determined by the document reader, or can be set in the API. The section Document Readers, on page 176 lists file formats for which character set information can be determined by the document reader. The character sets are defined as constants in the Filter class.
Determine the Character Set of the Output Text
To determine the output character set of a filtered document, Filter considers the following: l Whether the document reader can determine the character set of the file format. If the document reader cannot determine the character set information for the document type, set the source character set in the API.

IDOL KeyView (12.11)

Page 60 of 286

Filter SDK .NET Programming Guide Chapter 4: Use the Filter API

l Whether the source character set is specified in the API. l Whether the target character set is specified in the API.

Guidelines for Character Set Conversion
Below are some rules for the determination of character set mapping:
l If the source is not determined by the document reader or configured in the API, then the character set of the output text is always unknown, regardless of the target character set configuration. The document cannot be converted to a target character set or the operating system's code page unless the source character set is known.
l If the target character set is not specified in the API, and the source character set is identified, then the operating system's code page is used for the output text.
l If the source character set is identified, and the target character set is specified in the API, then the target character set specified in the API is used for the output text.
l For documents that contain multiple character sets, Micro Focus recommends that the target character set be forced to UNICODE or UTF-8.
The following table illustrates how Filter determines the character set of the output text.

Determining the Output Character Set--Example

Source charset read by Filter

Source charset specified in API

No

No

No

KVCS_936

No

No

No

KVCS_936

Yes

No

Yes

KVCS_936

Yes

No

Yes

KVCS_936

Target charset specified Output

in API

charset

No

no

conversion

No

OS code

page

UNICODE

no conversion

UNICODE

UNICODE

No

OS code

page

No

OS code

page

UNICODE

UNICODE

UNICODE

UNICODE

Set the Character Set During Filtering
You can convert the character set of a file at the time the file is filtered.

IDOL KeyView (12.11)

Page 61 of 286

Filter SDK .NET Programming Guide Chapter 4: Use the Filter API
To specify the source character set, use the SourceCharSet property. For example:
objFilter.SourceCharSet=sourceCharSet; To specify the target character set, instantiate the Filter object using the constructor Filter(String outputCharSet, UInt32 filterFlags). For example:
objFilter = new Filter(outputCharSet, filterFlags);
Set the Character Set During Subfile Extraction
You can convert the character set of a subfile at the time the subfile is extracted from the container. This is most often used to set the character set of a mail message's body text. See Filter PDF Files, on the next page for more information.
To specify the source and target character set of a subfile 1. Use the methods of the ExtractSubFileExtractConfig object to set the source and target character set. 2. Call the ExtractSubFile method of the Filter object and pass in the ExtractSubFileExtractConfig object. For example:
subFileConfig.FilePath = subInfo.SubFileName; subFileConfig.ExtractDirectory = m_extractDir; subFileConfig.CreateDirectory = m_createDir; subFileConfig.OverWrite = true; subFileConfig.ExcludeMailHeader = m_excludeMailHeader; subFileConfig.GetFormattedBody = m_getFormattedBody; subFileConfig.SourceCharset = m_sourceCharSet; subFileConfig.TargetCharset = m_outputCharSet; subFileConfig.LittleEndian = m_isLittleEnd == 1 ? true : false;
Prevent the Default Conversion of a Character Set
You can prevent the default conversion of text to the operating system code page, and specify that Filter retain the original character encoding of the document when it is available. Any document identified as containing more than one character encoding is converted to the first encoding encountered in the file. To prevent the default conversion, set the flag FILTERFLAG_NODEFAULTCHARSETCONVERT when you instantiate the Filter object. For example:
objFilter = new Filter(outputCharSet, FilterConstant.FilterFlagsConstant.FILTERFLAG_NODEFAULTCHARSETCONVERT, license);
This setting overrides the source or target character set specified in the API.

IDOL KeyView (12.11)

Page 62 of 286

Filter SDK .NET Programming Guide Chapter 4: Use the Filter API

Extract Deleted Text Marked by Tracked Changes
The revision tracking feature in applications--such as Microsoft Word's Track Changes--marks changes to a document (typically, strikethrough for deleted text and underline for inserted text) and tracks each change by reviewer name and date. If revision tracking was enabled when text was deleted from a source document, you can configure Filter to extract the deleted text. Filter does not extract the reviewer name and revision date. Deleted text is excluded from the filtered output by default. To extract deleted text from a document and include it in the filtered output, use the IncludeRevisionMark property. For example:
if(inclRevisionMark == true) {
objFilter.IncludeRevisionMark(); } To reset the flag and exclude deleted text from the filtered output, call the ExcludeRevisionMark method. For example:
if(inclRevisionMark == false) {
objFilter.ExcludeRevisionMark(); }
Filter PDF Files
Filter has special configuration options that allow greater control over the conversion of Adobe Acrobat PDF files.
Use the pdf2sr Reader
The pdf2sr reader is an alternative that can be used instead of pdfsr for filtering PDF files. It uses a different parsing technology and may yield better results for some files. The pdf2sr reader has the following features:
l supports standard and custom metadata (non-XMP) l supports basic text extraction l supports password protected PDFs l supports table detection (see Table Detection for PDF Files, on page 69)

IDOL KeyView (12.11)

Page 63 of 286

Filter SDK .NET Programming Guide Chapter 4: Use the Filter API

The pdf2sr reader has the following limitations: l does not support logical order l does not support bidi PDFs l does not extract subfiles l does not extract bookmarks from PDFs l does not give estimations on percent embedded fonts match with display glyphs l does not support XMP metadata l does not support headers or footers l supports annotations only in the raster output, not as searchable text l does not support content access stream l does not support tagged content (PDFs) l does not filter text from XFA-based PDF forms l does not report document restrictions (see Document Restrictions, on page 80)
To use the pdf2sr reader 1. Open the formats.ini file with a text editor. 2. In the [Formats] section, set the following: 200=pdf2
Filter PDF Files to a Logical Reading Order
The PDF format is primarily designed for presentation and printing of brochures, magazines, forms, reports, and other materials with complex visual designs. Most PDF files do not contain the logical structure of the original document--the correct reading order, for example, and the presence and meaning of significant elements such as headers, footers, columns, tables, and so on. KeyView can filter a PDF file either by using the file's internal unstructured paragraph flow, or by applying a structure to the paragraphs to reproduce the logical reading order of the visual page. Logical reading order enables KeyView to output PDF files that contain languages that read from right-to-left (such as Hebrew and Arabic) in the correct reading direction.
NOTE: The algorithm used to reproduce the reading order of a PDF page is based on common page layouts. The paragraph flow generated for PDFs with unique or complex page designs might not emulate the original reading order exactly. For example, page design elements such as drop caps, callouts that cross column boundaries, and significant changes in font size might disrupt the logical flow of the output text.
By default, KeyView produces an unstructured text stream for PDF files. This means that PDF paragraphs are extracted in the order in which they are stored in the file, not the order in which they appear on the visual page. For example, a three-column article could be output with the headers and title at the end of the output file, and the second column extracted before the first column. Although

IDOL KeyView (12.11)

Page 64 of 286

Filter SDK .NET Programming Guide Chapter 4: Use the Filter API

this output does not represent a logical reading order, it accurately reflects the internal structure of the PDF.
You can configure KeyView to produce a structured text stream that flows in a specified direction. This means that PDF paragraphs are extracted in the order (logical reading order) and direction (leftto-right or right-to-left) in which they appear on the page.
The following paragraph direction options are available:

Paragraph Direction Option
Left-to-right

Description
Paragraphs flow logically and read from left to right. You should specify this option when most of your documents are in a language that uses a left-to-right reading order, such as English or German.

Right-to-left Dynamic

Paragraphs flow logically and read from right to left. You should specify this option when most of your documents are in a language that uses a right-to-left reading order, such as Hebrew or Arabic.
Paragraphs flow logically. The PDF filter determines the paragraph direction for each PDF page, and then sets the direction accordingly. Filter uses this option when a paragraph direction is not specified.

NOTE: Filtering might be slower when logical reading order is enabled. For optimal speed, use an unstructured paragraph flow.
The paragraph direction options control the direction of paragraphs on a page; they do not control the text direction in a paragraph. For example, a PDF file might contain English paragraphs in three columns that read from left to right, but 80% of the second paragraph might contain Hebrew characters. If the left-to-right logical reading order is enabled, the paragraphs are ordered logically in the output--title paragraph, then paragraph 1, 2, 3, and so on--and flow from the top left of the first column to the bottom right of the third column. However, the text direction of the second paragraph is determined independently of the page by the PDF filter, and is output from right to left.
NOTE: Extraction of metadata is not affected by the paragraph direction setting. The characters and words in metadata fields are extracted in the correct reading direction regardless of whether logical reading order is enabled.

Enable Logical Reading Order
You can enable logical reading order by using either the API or the formats.ini file. Setting the paragraph direction in the API overrides the setting in the formats.ini file.
Use the API
To enable PDF logical reading order in the API, use the PDFLogicalOrder property, and set the orderFlag argument to one of the following flags:

IDOL KeyView (12.11)

Page 65 of 286

Filter SDK .NET Programming Guide Chapter 4: Use the Filter API

Flag

Description

PDF_

Logical reading order and left-to-right paragraph direction

LOGICAL_

ORDER_LTR

PDF_

Logical reading order and right-to-left paragraph direction

LOGICAL_

ORDER_RTL

PDF_ LOGICAL_ ORDER_ AUTO

Logical reading order. The PDF reader determines the paragraph direction for each PDF page, and then sets the direction accordingly. Filter uses this option when a paragraph direction is not specified.

PDF_

Unstructured paragraph flow. This is the default behavior. If logical reading order is

LOGICAL_ enabled, and you want to return to an unstructured paragraph flow, set this flag.

ORDER_RAW

For example: objFilter.PDFLogicalOrder=FilterConstant.PDFFileConstant.PDF_LOGICAL_ORDER_LTR;

Use the formats.ini File
The formats.ini file is in the directory install\OS\bin, where install is the path name of the Filter installation directory and OS is the name of the operating system.

To enable logical reading order by using the formats.ini file 1. Change the PDF reader entry in the [Formats] section of the formats.ini file as follows:
[Formats] 200=lpdf 2. Optionally, add the following section to the end of the formats.ini file:
[pdf_flags] pdf_direction=paragraph_direction where paragraph_direction is one of the following:

Flag
LPDF_ LTR
LPDF_ RTL
LPDF_ AUTO

Description Left-to-right paragraph direction
Right-to-left paragraph direction
The PDF filter determines the paragraph direction for each PDF page, and then sets the direction accordingly. Filter uses this option when a paragraph direction is not specified.

IDOL KeyView (12.11)

Page 66 of 286

Filter SDK .NET Programming Guide Chapter 4: Use the Filter API

Flag
LPDF_ RAW

Description
Unstructured paragraph flow. This is the default behavior. If logical reading order is enabled, and you want to return to an unstructured paragraph flow, set this flag.

Rotated Text
When a PDF that contains rotated text is filtered, the rotated text is extracted after the text at the end of the PDF page on which the rotated text appears. If the PDF is filtered with logical order enabled, and the amount of rotated text on a page surpasses a predefined threshold, the page is automatically output as an unstructured text stream. You cannot configure this threshold.

Extract Custom Metadata from PDF Files
To extract custom metadata from your PDF files, add the custom metadata names to the pdfsr.ini file provided, and copy the modified file to the bin directory. You can then extract metadata as you normally would.
The pdfsr.ini is in the directory samples\pdfini, and has the following structure:
<META> <TOTAL>total_item_number</TOTAL>, /metadata_tag_name datatype, </META>

Parameter total_item_number metadata_tag_name datatype

Description The total number of metadata tags that are listed. The metadata tag name used in the PDF files. The data type of the metadata element. The possible types are:
l KV_String l KV_Int4 l KV_DateTime l KV_ClipBoard l KV_Bool l KV_Unicode l KV_IEEE8 l KV_Other

For example:
<META> <TOTAL>4</TOTAL>

IDOL KeyView (12.11)

Page 67 of 286

Filter SDK .NET Programming Guide Chapter 4: Use the Filter API

/part_number /volume /purchase_date /customer </META>

INT4 INT4 DATETIME STRING

Skip Embedded Fonts
Text in PDF files sometimes contain embedded fonts. If you experience difficulties filtering embedded fonts, there are options in the API, the formats.ini file, and the FilterTestDotNet sample program that you can set to skip this type of text.
NOTE: If you choose to skip embedded fonts, none of the content that contains embedded fonts is included in the output.

Use the formats.ini File
The formats.ini file is in the directory install\OS\bin, where install is the path name of the Filter installation directory and OS is the name of the operating system. When you use formats.ini to skip embedded fonts, you can also specify an embedded font threshold, which is an arbitrary percentage probability that the glyph in the embedded text maps to a character value in the output character set (ASCII, UTF-8, and so on).
For example, if you specify a threshold of 75, embedded text glyphs that have a 75% or greater probability of correctly matching the character in the output character set are included in the output; glyphs that have a probability of less than 75% of matching the output character set are omitted from the output.
To skip embedded fonts using the formats.ini file
l Set the following parameters:
[pdf_flags] skipembeddedfont=TRUE embedded_font_threshold=threshold
where threshold is a value between 0 and 100. A threshold of 100 skips all embedded font text; a threshold of 0 retains all embedded font text. Set skipembeddedfont to TRUE to enable the embedded_font_threshold parameter.
The default value of embedded_font_threshold is 100. if you set skipembeddedfont to TRUE and do not specify the embedded_font_threshold parameter, Filter skips all embedded text.
Use the .NET API
To skip embedded fonts using the .NET API, set the SkipEmbeddedFont property. For example:
objFilter.SkipEmbeddedFont;

IDOL KeyView (12.11)

Page 68 of 286

Filter SDK .NET Programming Guide Chapter 4: Use the Filter API
Control Hyphenation
There are two types of hyphens in a PDF document: l A soft hyphen is added to a word by a word processor to divide the word across two lines. This is a discretionary hyphen and is used to ensure proper text flow in justified text. l A hard hyphen is intentionally added to a word regardless of the word's position in the text flow. It is required by the rules of grammar and/or word usage. For example, compound words (such as three-week vacation and self-confident) contain hard hyphens.
By default, KeyView skips the source document's soft hyphens in the Filter output to provide more searchable text content. However, if you want to maintain the document layout, you can keep soft hyphens in the Filter output. To keep soft hyphens, you must enable the soft hyphen flag in formats.ini or in the API.
Use the formats.ini File
To keep soft hyphens using the formats.ini file, set the following parameter: [pdf_flags] keepsofthyphen=TRUE
Use the .NET API
To keep soft hyphens using the Java API, set the KeepSoftHyphen property to TRUE. For example: objFilter.KeepSoftHyphen = TRUE;
Filter Portfolio PDF Files
Portfolio PDF files contain subfiles and an ActionScript interface for navigating between them. You can use the extraction API to extract the subfiles. See Extract Subfiles from PDF Files, on page 50.
Table Detection for PDF Files
PDF files often contain data presented in a tabular form. However, there is no information about the table stored within the PDF itself ­ the text is simply placed in an arrangement that looks like a table to the human eye. When this data is filtered, it can be very difficult to reconstruct the table. If table detection is enabled, KeyView attempts to recognize tables within PDF pages, and to reconstruct them before they are output. For each page of the document, KeyView outputs the contents of each table first, and then outputs all remaining text on the page. Micro Focus recommends that tab delimited output is also enabled when using table detection. This means that any tables detected appear in the output text in tab delimited format.

IDOL KeyView (12.11)

Page 69 of 286

Filter SDK .NET Programming Guide Chapter 4: Use the Filter API
To enable table detection and tab delimited output l In formats.ini, set the following parameters. [Options] TableDetection=TRUE TabDelimited=TRUE
NOTE: Table detection is only available with the pdf2sr reader. To enable this reader, set the following configuration parameter in formats.ini: [Formats] 200=pdf2
Filter Spreadsheet Files
Filter has special configuration options that allow greater control over the conversion of spreadsheet files.
Filter Worksheet Names
Normally, Filter does not extract worksheet names from a spreadsheet because it is assumed the text should not be exposed. You can change this default behavior, and extract worksheet names by adding the following lines to the formats.ini file: [Options] getsheetnames=1
Filter Hidden Text in Microsoft Excel Files
Normally, Filter does not filter hidden text from a Microsoft Excel spreadsheet because it is assumed the text should not be exposed. You can change this default behavior, and extract text from hidden rows, columns, and sheets from Excel spreadsheets by adding the following lines to the formats.ini file: [Options] gethiddeninfo=1
Specify Date and Time Format on UNIX Systems
In Microsoft Excel you can choose to format dates and times according to the system locale. On Windows, KeyView uses the system locale settings to determine how these dates and times should be formatted. In other operating systems, KeyView uses the U.S. short date format (mm/dd/yyyy). You can change this by specifying the formats you wish to use in the formats.ini file.

IDOL KeyView (12.11)

Page 70 of 286

Filter SDK .NET Programming Guide Chapter 4: Use the Filter API

To specify the system date and time format on UNIX systems l In the formats.ini file, specify the following options: o SysDateTime. The format to use when a cell is formatted using the system format including both the date and the time. o SysLongDate. The format to use when a cell is formatted using the system long date format. o SysShortDate. The format to use when a cell is formatted using the system short date format. o SysTime. The format to use when a cell is formatted using the system time format.
NOTE: These values cannot contain spaces.
For example, if you specify SysDateTime=%d/%m/%Y, dates and times are extracted in the following format: 28/02/2008 The format arguments are the same as those for the strftime() function. Refer to the following webpage for more information. http://linux.die.net/man/3/strftime
Filter Very Large Numbers in Spreadsheet Cells to Precision Numbers
Numbers in Microsoft Excel files can now be extracted and written to the output without formatting. By default, numbers are extracted in the format specified by the Excel file (for example, General, Currency and Date). Spreadsheets might contain cells that have very large numbers in them. Excel displays the numbers in a scientific notation that rounds or truncates the numbers. To extract numbers without formatting, add the following options in the formats.ini file: [Options] ignoredefnumformats=1
Extract Microsoft Excel Formulas
When you filter a Microsoft Excel spreadsheet, KeyView extracts the value of each cell. The value of a cell might be calculated from a formula, but the formula is not included in the output unless you configure KeyView to include it. You can extract the cell value, the formula, or both. For example, if you choose to extract both the cell value and the formula, the output might look like this:
245 = SUM(B21:B26)
In this example, the calculated value from the cell is 245 and the formula from which the value is derived is SUM(B21:B26).

IDOL KeyView (12.11)

Page 71 of 286

Filter SDK .NET Programming Guide Chapter 4: Use the Filter API

NOTE: Depending on the complexity of the formulas, enabling formula extraction might result in slightly slower performance.

To extract formulas l You can extract formulas by adding the following parameter to formats.ini: [Options] getformulastring=option where option is one of the following:

Option 0 1 2

Description Extract the cell value only. This is the default. Extract the formula only. Extract the formula and the cell value.

If a function in a formula is invalid, and option 1 or 2 is specified, only the calculated value is extracted.

Standardize Cell Formats
In Microsoft Excel you can format cell values. For example, the date "15/09/2021" could be formatted as "15 September 2021" or "2021-09-15". By default, KeyView extracts cell values with formatting, as they would appear in Excel. If you prefer, you can configure KeyView to standardize cell values.
To standardize cell formats l In formats.ini, set the following parameter.
[Options] StandardizeCellFormats=TRUE
When this feature is enabled, KeyView formats any cell where a number has been entered according to the following rules.

Numbers
Numbers are printed to the maximum length entered­that is, the full number put into the cell, without any rounding. Negative numbers are printed with a dash in front of them (as opposed to, for example, bracket form).
The following table provides some examples.

Example

Formatted value KeyView (standardized) output

Rounded number 600

600.1

IDOL KeyView (12.11)

Page 72 of 286

Filter SDK .NET Programming Guide Chapter 4: Use the Filter API

Scientific notation 1.56E+04

Fraction

17/20

Percentage

46%

15600 0.85 0.46

Text
All text that is part of the format string is stripped, including currency symbols.

Dates
All dates are printed in full ISO-8601 format (that is YYYY-MM-DDTHH:MM:SS). There are two exceptions to this rule:
l Cases where the date format contains a time delta (that is, "[h]", "[m]", or "[s]"). In this case, the time is displayed as an interval, which is the number of days (where a day is defined as a period of 24 hours). The time is printed in the ISO-8601 time interval form, for example P1.234D.
l Cases where the absolute value of the cell is less than 1.0, and the date format contains only time components. In Excel, values between 0.0 and 1.0 correspond to the fictional date 190001-00, and are used to express times without an associated date. For example:

Value

Date format

KeyView output

0.5

hh:mm:ss

0.5

dd hh

1.5

hh:mm:ss

1.5

dd hh

12:00:00 1900-01-00 12:00:00 1900-01-01 12:00:00 1900-01-01 12:00:00

Filter HTML Files
KeyView can filter comments from HTML documents. To enable comment filtering, you must set a flag in the formats.ini file. The formats.ini file is in the install\OS\bin directory, where install is the Filter installation directory and OS is the name of the operating system.
To enable filtering of comments from HTML files 1. Open the formats.ini file in a text editor. 2. Under [Options], set the following flag. GetHTMLHiddenInfo=1

IDOL KeyView (12.11)

Page 73 of 286

Filter SDK .NET Programming Guide Chapter 4: Use the Filter API

Filter XML Files
Filter SDK enables you to extract all or selected content from source XML files. You can specify the elements and attributes extracted from a document using the API or an INI file (see Configure Element Extraction for XML Documents, below). Filter detects the following XML formats:
l generic XML
l Microsoft Office 2003 XML (Word, Excel, and Visio)
l StarOffice/OpenOffice XML (text document, presentation, and spreadsheet)
See File Format Detection, on page 246 for more information on format detection.
Configure Element Extraction for XML Documents
When filtering XML files, you can specify which elements and attributes are extracted according to the file's format ID or root element. This is useful when you want to extract only relevant text elements, such as abstracts from reports, or a list of authors from an anthology.
A root element is an element in which all other elements are contained. In the XML sample below, book is the root element:
<book> <title>XML Introduction</title> <product id="33-657" status="draft">XML Tutorial</product> <chapter>Introduction to XML <para>What is HTML</para> <para>What is XML</para> </chapter> <chapter>XML Syntax <para>Elements must have a closing tag</para> <para>Elements must be properly nested</para> </chapter>
</book>
For example, you could specify that when filtering files with the root element book, the element title is extracted as metadata, and only product elements with a status attribute value of draft are extracted. When you extract an element, the child elements within the element are also extracted. For example, if you extract the element chapter from the sample above, the child element para is also extracted.
Filter SDK defines default element extraction settings for the following XML formats:
l generic XML
l Microsoft Office 2003 XML (Word, Excel, and Visio)
l StarOffice/OpenOffice XML (text document, presentation, and spreadsheet)

IDOL KeyView (12.11)

Page 74 of 286

Filter SDK .NET Programming Guide Chapter 4: Use the Filter API

These settings are defined internally and are used when filtering these file formats; however, you can modify their values.
In addition to the default extraction settings, you can also add custom settings for your own XML document types. If you do not define custom settings for your own XML document types, the settings for the generic XML are used.

Modify Element Extraction Settings
You can modify configuration settings for XML documents through either the API or the kvxconfig.ini file.

Use an Initialization File
To modify the settings for the standard XML document types, or add configuration settings for your own XML document types, follow these steps:
1. Modify the kvxconfig.ini file.
2. Use the initialization file when processing the XML file. See Modify Element Extraction Settings in the kvxconfig.ini File, below.

Modify Element Extraction Settings in the kvxconfig.ini File
The kvxconfig.ini file contains default element extraction settings for supported XML formats. The file is in the directory install\OS\bin, where install is the path name of the Filter installation directory and OS is the name of the operating system. For example, the following entry defines extraction settings for the Microsoft Visio 2003 XML format:
[config3] eKVFormat=MS_Visio_XML_Fmt szRoot= szInMetaElement=DocumentProperties szExMetaElement=PreviewPicture szInContentElement=Text szExContentElement= szInAttribute=
The following options are available:

Configuration Option Description

eKVFormat

The format ID as detected by the KeyView detection module. This determines the file type to which these extraction settings apply. See File Format Detection, on page 246 for more information on format ID values.
If you are adding configuration settings for a custom XML document type, this is not defined.

szRoot

The file's root element. When the format ID is not defined, the root element is used to determine the file type to which these settings apply.
To further qualify the element, specify its namespace. See Specify an

IDOL KeyView (12.11)

Page 75 of 286

Filter SDK .NET Programming Guide Chapter 4: Use the Filter API

Configuration Option Description

Element's Namespace and Attribute, on page 77.

szInMetaElement

The elements extracted from the file as metadata. All other elements are extracted as text.
Separate multiple entries with commas. To further qualify the element, specify its namespace, its attributes, or both. See Specify an Element's Namespace and Attribute, on the next page.

szExMetaElement

The child elements in the included metadata elements that are not extracted from the file as metadata. For example, the default extraction settings for the Visio XML format extract the DocumentProperties element as metadata. This element includes child elements such as Title, Subject, Author, Description, and so on. However, the child element PreviewPicture is defined in szExMetaElement because it is binary data and should not be extracted.
You cannot exclude any metadata elements from the output for StarOffice files. All metadata is extracted regardless of this setting.
Separate multiple entries with commas. To further qualify the element, specify its namespace, its attributes, or both. See Specify an Element's Namespace and Attribute, on the next page.

szInContentElement

The elements extracted from the file as content text. Enter an asterisk (*) to extract all elements including child elements.
Separate multiple entries with commas. To further qualify the element, specify its namespace, its attributes, or both. See Specify an Element's Namespace and Attribute, on the next page.

szExContentElement

The child elements in the included content elements that are not extracted from the file as content text.
Separate multiple entries with commas. To further qualify the element, specify its namespace, its attributes, or both. See Specify an Element's Namespace and Attribute, on the next page.

szInAttribute

The attribute values extracted from the file. If attributes are not defined here, attribute values are not extracted.
Enter the namespace (if used), element name, and attribute name in the following format:
namespace:elementname@attributename For example:

microfocus:division@name Separate multiple entries with commas.

IDOL KeyView (12.11)

Page 76 of 286

Filter SDK .NET Programming Guide Chapter 4: Use the Filter API

Specify an Element's Namespace and Attribute
To further qualify an element, you can specify that the element exist in a certain namespace and/or contain a specific attribute. To define the namespace and attribute of an element, enter the following:
ns_prefix:elemname@attribname=attribvalue
NOTE: Attribute values that contain spaces must be enclosed in quotation marks.
For example, the entry bg:language@id=xml extracts a language element in the namespace bg that contains the attribute name id with the value of "xml". This entry extracts the following element from an XML file:
<bg:language id="xml">XML is a simple, flexible text format derived from SGML</bg:language>
but does not extract:
<bg:language id="sgml">SGML is a system for defining markup languages.</bg:language>
or
<adv:language id="xml">The namespace should be a Uniform Resource Identifier (URI).</adv:language>
Add Configuration Settings for Custom XML Document Types
You can define element extraction settings for custom XML document types by adding the settings to the kvxconfig.ini file. For example, for files that contain the root element microfocusxml, we could add the following section to the end of the initialization file:
[config101] eKVFormat= szRoot=microfocusxml szInMetaElement=dc:title,dc:meta@title,dc:meta@name=title szExMetaElement=
szInContentElement=microfocus:division@name=keyview,microfocus:division@name=idol,p@ style="Heading 1" szExContentElement= szInAttribute=microfocus:division@name
The custom extraction settings must be preceded by a section heading named [configN], where N is an integer starting at 100 and increasing by 1 for each additional file type, as in [config100], [config101], [config102], and so on. The default extraction settings for the supported XML formats are numbered config0 to config99. Currently only 0 to 6 are used. Since a custom XML document type is not recognized by the KeyView detection module, the format ID is not defined. The file type is identified by the file's root element only.
If a custom XML document type is not defined in the kvxconfig.ini file or by the SetConfigOption method, then the default extraction settings for a generic XML document are used.

IDOL KeyView (12.11)

Page 77 of 286

Filter SDK .NET Programming Guide Chapter 4: Use the Filter API
Configure Headers and Footers
You can configure custom header and footer tags for word processing and spreadsheet documents by editing the formats.ini file.
To configure headers and footers 1. Open the formats.ini file. 2. In the [Options] section, add the following items: header_start_tag=HeaderStart header_end_tag=HeaderEnd footer_start_tag=FooterStart footer_end_tag=FooterEnd For example: header_start_tag=<myHeaderTag> header_end_tag=</myHeaderTag> footer_start_tag=<myFooterTag> footer_end_tag=</myFooterTag>
NOTE: You must encode custom tags in UTF-8.
Tab Delimited Output for Embedded Tables
You can use KeyView to convert embedded tables in Word Processing documents (for example, Microsoft Word documents), and tables detected by Optical Character Recognition (OCR), to tabdelimited form. This inserts a tab character between each cell, and a line break between each row. Tab and line break characters in the cells are replaced with spaces.
To enable tab delimited output for embedded tables l In formats.ini, set the following parameter. [Options] TabDelimited=TRUE

IDOL KeyView (12.11)

Page 78 of 286

Filter SDK .NET Programming Guide Chapter 4: Use the Filter API

Exclude Japanese Guide Text
This option prevents output of Japanese phonetic guide text when Microsoft Excel (.xlsx) files are processed.
To prevent output of Japanese phonetic guide text l In formats.ini, set the following parameter. [Options] NoPhoneticGuides=TRUE

Source Code Identification

When KeyView auto-detects a file that contains source code, it can attempt to identify the programming language that it is written in.

NOTE: Source code identification is available only on Windows 64-bit, Linux 64-bit, and macOS 64-bit platforms.

You can set source code identification to different levels.

Option KVSOURCECODE_OFF KVSOURCECODE_ENABLED
KVSOURCECODE_EXTENDED

Description
Do not enable source code identification.
Enable source code identification for the most common source code formats.
Enable source code identification for all supported source code formats. This option might lead to false positives in some cases (for example, a C++ file might get identified as a rarer format).

For the complete list of source code formats supported for both options, see Supported Formats, on page 89.
To configure source code identification l In formats.ini, set the following parameter to the appropriate level. [Options] SourceCodeDetection=KVSOURCECODE_ENABLED

IDOL KeyView (12.11)

Page 79 of 286

Filter SDK .NET Programming Guide Chapter 4: Use the Filter API
Optical Character Recognition
When processing raster image files, KeyView can perform Optical Character Recognition (OCR) to attempt to filter text that might be visible in the image. If text is detected to form part of a table, it will be filtered in the same way as tables in Word Processing documents.
NOTE: OCR is available only on WINDOWS_X86_64. OCR is not available on 32-bit Windows. If your license includes OCR, it is enabled by default.
To enable or disable OCR l Set the Ocr property of the Filter class.
Document Restrictions
Some applications, and corresponding file formats, allow users to restrict the ways in which a document can be used. For example, you might be able to read a document but additional credentials (such as a password) could be required to modify the document content, add comments, or print the document. The restrictions might not be enforced by encryption, but instead rely on any software that accesses the file to respect the restrictions that have been set.
TIP: These restrictions are not file system permissions (for example, making a file read-only). They are restrictions applied by the software package that created the file. KeyView can report whether a document is protected by write restrictions, for the following file formats. A write restriction is defined as any restriction, enforced by a password, that prevents a user from editing the document content. l Adobe Portable Document Format (.PDF) l Microsoft Word (.DOCX) l Microsoft Excel (.XLSX) l Microsoft PowerPoint (.PPTX)
To determine whether a document is protected by restrictions l In the .NET API, use the method GetRestrictions on the filter object.

IDOL KeyView (12.11)

Page 80 of 286

Chapter 5: Sample Programs

This section describes the sample programs provided with Filter SDK.

· FilterTestDotNet

81

FilterTestDotNet
The FilterTestDotNet sample program calls the following sample code: l TestExtract--demonstrates the File Extraction interface l TestFilter--demonstrates the Filtering methods
The source code is in the directory install\dotnetapi\sample, where install is the path name of the Filter installation directory.
TestExtract
The TestExtract code demonstrates the File Extraction interface. The TestExtract sample code demonstrates the functionality of the Filtering interface. See TestFilter, on page 83. The TestExtract code demonstrates the following functionality:
l opens a document l extracts subfiles from a document l repeats subfile extraction until all subfiles are extracted l enables you to specify the command-line options listed in Options for TestExtract, on the next
page To run TestExtract, type the following at the command line: FilterTestDotNet -ex [options] input_file output_file where: options is one or more of the options listed in Options for TestExtract, on the next page. input_file is the path and file name of the source file. output_file is the path and file name of the output file if the source file is not a container file.

IDOL KeyView (12.11)

Page 81 of 286

Filter SDK .NET Programming Guide Chapter 5: Sample Programs

Options for TestExtract

Option

Description

-cr
-c -dr binDir -e -ed

Creates a root directory on which a hierarchy can be based. See Create a Root Node, on page 35.
Specifies that the subfile directory structure is not created.
Specifies the filter working directory where KeyView binaries are stored. Typically, this is the bin directory.
Extracts the subfiles from a source file but does not filter the files after extraction.
Sets the directory to which the subfiles are extracted.

-f

Extracts the formatted version of the message body (HTML or RTF) from mail files

when possible.

-id idfile
-ip

Specifies the user ID file used to open a protected PST file.
Runs file extraction in the same process as the calling application (in process). See Run Filter In Process, on page 25.

-is

Sets the input as a stream. The default is file.

-l
-lg outfile
-m

Sets the byte order for Unicode text to Little Endian. Sets the log file name.
Extracts default mail metadata and writes it to the log file. See Extract Mail Metadata, on page 36.

-nd

Do not create the subfile directory structure.

-nh

Excludes mail header information from the extracted message body text file. See

Exclude Metadata from the Extracted Text File, on page 42.

-os

Sets the output as a stream. The default is file.

-p password
-sc charset

Specifies the password used to open a protected PST file.
Sets the character set of the source file. charset is a character set defined in the Filter class. See Coded Character Sets, on page 227.

-tc charset

Sets the character set of the output file.
charset is a character set defined in the Filter class. See Coded Character Sets, on page 227.

-u

Specifies the user name used to open a protected PST file.

username

IDOL KeyView (12.11)

Page 82 of 286

Filter SDK .NET Programming Guide Chapter 5: Sample Programs

TestFilter
The TestFilter code demonstrates most of the Filtering methods available in the .NET API. The command-line options are listed in Options for FilterTestDotNet -ft1, below. To run TestFilter, type the following at the command line: FilterTestDotNet filtermode [options] input_file output_file where: filtermode is one of the options listed in Filter modes, below options is one or more of the options listed in Options for FilterTestDotNet -ft1, below. Options are available for the -ft1 filter mode only. input_file is the path and file name of the source file. output_file is the path and file name of the generated file. If you do not specify a path, the file is output to the current directory.
Filter modes
Mode Description
-ft1 Filters an input file to an output file.
-ft2 Filters an input stream to an output file.
-ft3 Filters an input file to an output stream.
-ft4 Filters an input stream to an output stream.

Options for FilterTestDotNet -ft1

Option

Description

-co ooperrorlog

Enable error logging. See Enable or Disable Error Logging, on page 55. Error logs are not generated when in-process filtering is enabled.

-cs charset

Set the character set of the source file.
charset is a character set defined in the Filter class. See Coded Character Sets, on page 227.

-ct tempfile

Specify a temporary directory where temporary files generated by the filtering process are stored. The default is the current working directory.
On Windows systems, there is a 64 K size limit to the temporary directory. When the limit is reached, you must either create a new directory or delete the contents of the existing directory; otherwise, you might receive an error

IDOL KeyView (12.11)

Page 83 of 286

Filter SDK .NET Programming Guide Chapter 5: Sample Programs

Options for FilterTestDotNet -ft1, continued

Option

Description

message.

-cx xmlconfigfile

Filter an XML file by using customized extraction settings defined in the kvxconfig.ini file. If you do not enter the full path to the INI file, the program looks for the file in the current working directory. See Filter XML Files, on page 74.

-d

Extract the file format information.

-dr binDir

Specify the filter working directory where KeyView binaries are stored. Typically, this is the bin directory.

-fto timeout Specifies a Filter timeout value in seconds.

-h

Extract headers and footers, as well as the body text.

-ht

Put tags around header and footer data.

-i filename

Extract the metadata (summary information) and write it to a file.
filename is the name of the file to which the metadata is written. See Extract Metadata, on page 58.

-ia summaryfile

Extract the document summary information and write it to a summary file, including all metadata for the pdfsr reader.

-im

If you set this option, text that was deleted from a document with revision

tracking enabled is extracted from the document and included in the filtered

output. See Extract Deleted Text Marked by Tracked Changes, on page 63.

-ip

Run Filter in the same process as the calling application (in process). See Run

Filter In Process, on page 25.

-lo

Specify that PowerPoint PPT97 and PPTX file text data is output in a logical

reading order.

-ne

Exclude embedded objects in Microsoft Word files.

-pdfauto

The PDF filter determines the paragraph direction (left-to-right or right-to-left) for each PDF page, and then sets the direction accordingly.
See Filter PDF Files, on page 63.

-pdfltr

Specify that PDF files are output in a logical reading order in left-to-right paragraph direction.

-pdfrtl

Specify that PDF files are output in a logical reading order in right-to-left paragraph direction.

-rc character Set a replacement character for characters that cannot be mapped. The

IDOL KeyView (12.11)

Page 84 of 286

Filter SDK .NET Programming Guide Chapter 5: Sample Programs

Options for FilterTestDotNet -ft1, continued

Option

Description

default is a question mark (?).

-tc charset

Set the character set of the output file. Use the -getTargetCS option to determine whether the target character set specified is used in the output file.
charset is a character set defined in the Filter class. See Coded Character Sets, on page 227.

-um

Use MSBLSB byte order. MSBLSB is the "Most Significant Byte Least

Significant Byte," or in other words, the byte order for Big Endian systems

(Unicode text only).

-ul

Use LSBMSB byte order. LSBMSB is the "Least Significant Byte Most

Significant Byte," or in other words, the byte order for Little Endian systems

(Unicode text only).

-ulb

Generate LSBMSB output with byte order marker (Unicode text only).

-umb

Generate MSBLSB output with byte order marker (Unicode text only).

-embeddedfont If you use this option, text that contains embedded fonts is not filtered from PDF documents. See Filter PDF Files, on page 63.

IDOL KeyView (12.11)

Page 85 of 286

Part III: Appendixes
This section lists supported formats, supported character sets, and redistributed files, and provides information on format detection and developing a custom document reader.
l Supported Formats l Document Readers l Character Sets l Extract and Format Lotus Notes Subfiles l File Format Detection l List of Required Files for Redistribution l Develop a Custom Reader l Password Protected Files l OCR Supported Languages

IDOL KeyView (12.11)

Page 86 of 286

Appendix A: Supported Formats

This section lists the file formats that KeyView can detect.

· Key to Supported Formats Table

87

· Supported Formats

89

· File Classes

174

Key to Supported Formats Table

The supported formats table includes the following information:

Column Format Name
Number Category Description MIME Type Extension

Description
The format name that is returned by KeyView format detection. l In the C API, these values are defined in the ENdocFmt enumeration in adDocFmt.h. l In the .NET API these values are defined in the Autonomy.API.Filter.DocFormat enumeration. l In the Java API these values are defined in the com.verity.api.DocFormat enumeration. l In the C++ API these values are defined in keyview::Format, used in DetectionInfo which is returned by Session::detect().
The format number that is returned by KeyView format detection. This is the value associated with the Format Name in the relevant enumeration.
This value is used in the KeyView configuration file formats.ini to specify the reader to use to filter, export, or view the format. Several formats might have the same category value.
A short description of the file format.
The MIME type (if any).
A list of common file extensions for the file format.

NOTE: This is not a complete list of file extensions. KeyView does not distinguish between file types based on their extension. Instead, it detects the file format based on the file content. This is more reliable because content cannot always be predicted from the file extension, and because some file extensions are associated with multiple formats.

IDOL KeyView (12.11)

Page 87 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

File Class

The KeyView file class.
l In the C API, these values are defined in the ENdocClass enumeration in adinfo.h.
l In the .NET API these values are defined in the Autonomy.API.Filter.DocClass enumeration.
l In the Java API these values are defined in the com.verity.api.DocClass enumeration.
l In the C++ API these values are defined in keyview::Category, used in DetectionInfo which is returned by Session::detect().

IDOL KeyView (12.11)

Page 88 of 286

Supported Formats

Format Name Reserved__Fmt Unknown_Fmt AES_Multiplus_ Comm_Fmt ASCII_Text_Fmt MSDOS_Batch_ File_Fmt Applix_Alis_Fmt BMP_Fmt

Number -1 0 1
2 3
4 5

CT_DEF_Fmt

6

Corel_Draw_Fmt 7

CGM_ClearText_ 8 Fmt
CGM_Binary_Fmt 9

CGM_Character_ 10 Fmt

Word_Connection_ 11 Fmt

COMET_TOP_

12

Word_Fmt

CEOwrite_Fmt

13

DSA101_Fmt

14

DCA_RFT_Fmt

15

Category -1 0 1 2 2 3 4 5 6 8 8 8 9 10
11 12 13

Description

MIME Type

Multiplus (AES)

Plain Text file MS-DOS Batch File

text/plain application/x-bat

Applix Asterix

Windows Bitmap Image (BMP)

image/bmp

Convergent Technologies DEF Comm. Format

CorelDRAW (up to version application/coreldraw 13/X3)

Computer Graphics Metafile (CGM)

Computer Graphics Metafile (CGM)

image/cgm

Computer Graphics Metafile (CGM)

Word Connection

Nixdorf COMET TOP Financial Accounting software
CEOwrite
DSA101 (Honeywell Bull)
IBM DCA-RFT (Revisable application/dca-rft Form)

IDOL KeyView (12.11)

Extension
PTF TXT BAT AX BMP
CDR CGM CGM CGM CN
CW RFT, DC

File Class

Readers

AutoDetNoFormat

AutoDetNoFormat

adWORDPROCESSOR

adWORDPROCESSOR afsr

adEXECUTABLE

afsr

adWORDPROCESSOR axsr

adRASTERIMAGE

bmpsr, kpbmprdr

adWORDPROCESSOR cdsr

adVECTORGRAPHIC kpcdrrdr

adVECTORGRAPHIC kpcgmrdr

adVECTORGRAPHIC kpcgmrdr

adVECTORGRAPHIC kpcgmrdr

adWORDPROCESSOR stringssr

adWORDPROCESSOR

adWORDPROCESSOR stringssr adWORDPROCESSOR stringssr adWORDPROCESSOR dcasr

Page 89 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

Format Name CDA_DDIF_Fmt DG_CDS_Fmt
Micrografx_Draw_ Fmt Data_Point_ VistaWord_Fmt DECdx_Fmt Enable_WP_Fmt EPSF_Fmt

Number 16 17
18
19
20 21 22

Category 14 16
18
19
20 21 22

Description

MIME Type

CDA / DDIF

DG Common Data Stream (CDS)

Windows Draw (Micrografx)

image/x-mgx-dsf

Vistaword

DEC WPS Plus DX format application/dec-dx Enable Word Processing application/ewp Encapsulated PostScript application/postscript

Preview_EPSF_ 23

22

Fmt

MS_Executable_ 24

23

Fmt

G31D_Fmt

25

24

GIF_87a_Fmt

26

25

GIF_89a_Fmt

27

25

HP_Word_PC_Fmt 28

26

IBM_1403_

29

27

LinePrinter_Fmt

IBM_DCF_Script_ 30

28

Fmt

IBM_DCA_FFT_ 31

29

Fmt

Interleaf_Fmt

32

30

GEM_Image_Fmt 33

31

IBM_Display_

34

32

Write_Fmt

Sun_Raster_Fmt 35

33

Ami_Pro_Fmt

36

35

Encapsulated PostScript application/postscript

MSDOS/Windows executable
CCITT G3 1D
Graphics Interchange Format (GIF87a)
Graphics Interchange Format (GIF89a)
HP Word PC
IBM 1403 Line Printer

application/x-msdownload
image/gif image/gif

DCF Script

DCA-FFT (IBM Final Form) Interleaf GEM Bit Image IBM DisplayWrite

text/x-ibm-fft application/x-displaywrite

Sun Raster image Lotus Ami Pro

image/x-cmu-raster application/x-lotus-amipro

IDOL KeyView (12.11)

Extension DDIF CDS DRW DV DX WPF EPS
EXE
GIF GIF HW I4 IC IF, FFT
IMG IP RAS, RS, SUN SAM

File Class

Readers

adWORDPROCESSOR

adWORDPROCESSOR stringssr

adVECTORGRAPHIC

adWORDPROCESSOR stringssr

adWORDPROCESSOR

adWORDPROCESSOR stringssr

adRASTERIMAGE, adVECTORGRAPHIC

kpepsrdr

adRASTERIMAGE, adVECTORGRAPHIC

kpepsrdr

adEXECUTABLE

exesr

adRASTERIMAGE adRASTERIMAGE

gifsr, kpgifrdr

adRASTERIMAGE

gifsr, kpgifrdr

adWORDPROCESSOR stringssr adWORDPROCESSOR

adWORDPROCESSOR stringssr

adWORDPROCESSOR

adWORDPROCESSOR adRASTERIMAGE adWORDPROCESSOR dw4sr

adRASTERIMAGE

kpsunrdr

adWORDPROCESSOR lasr

Page 90 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

Format Name

Number

Ami_Pro_

37

StyleSheet_Fmt

MORE_Fmt

38

Lyrix_Fmt

39

MASS_11_Fmt

40

MacPaint_Fmt

41

MS_Word_Mac_ 42 Fmt

SmartWare_II_

43

Comm_Fmt

MS_Word_Win_ 44 Fmt

Multimate_Fmt

45

Multimate_Fnote_ 46 Fmt

Multimate_Adv_

47

Fmt

Multimate_Adv_

48

Fnote_Fmt

Multimate_Adv_II_ 49 Fmt

Multimate_Adv_II_ 50 Fnote_Fmt

Multiplan_PC_Fmt 51

Multiplan_Mac_Fmt 52

MS_RTF_Fmt

53

MS_Word_PC_Fmt 54

MS_Word_PC_

55

StyleSheet_Fmt

MS_Word_PC_

56

Glossary_Fmt

MS_Word_PC_

57

Driver_Fmt

Category 35
36 37 38 39 40
41
42
43 43
43
43
43
43
44 44 45 46
46
46
46

Description

MIME Type

Lotus Ami Pro Style Sheet

MORE Database MAC

Lyrix Word Processing

MASS-11

application/x-mass-11

MacPaint

image/x-macpaint

Microsoft Word for

application/msword

Macintosh (up to version 3)

SmartWare II

Microsoft Word for

application/msword

Windows (up to version 6)

MultiMate

application/x-multimate

MultiMate Footnote File application/x-multimate-note

MultiMate Advantage

MultiMate Advantage Footnote File
MultiMate Advantage II

MultiMate Advantage II Footnote File
Microsoft Multiplan (PC) application/x-ms-multiplan
Microsoft Multiplan (Mac) application/x-ms-multiplan
Rich Text Format (RTF) application/rtf
Microsoft Word for PC (up application/x-ms-wordpc to version 6)
Microsoft Word for PC (up to version 6) Style Sheet
Microsoft Word for PC (up to version 6) Glossary
Microsoft Word for PC (up to version 6) Driver

IDOL KeyView (12.11)

Extension

File Class

Readers

adWORDPROCESSOR lasr

M1 MAC, PIC, PNTG DOC

adOUTLINE

adWORDPROCESSOR stringssr

adWORDPROCESSOR stringssr

adRASTERIMAGE

kpmacrdr

adWORDPROCESSOR mbsr

adCOMMUNICATION

DOC, WPS

adWORDPROCESSOR misr

MM MMFN

adWORDPROCESSOR stringssr adWORDPROCESSOR stringssr

adWORDPROCESSOR stringssr

adWORDPROCESSOR stringssr

adWORDPROCESSOR stringssr

FBX, FNX

adWORDPROCESSOR stringssr

adSPREADSHEET

adSPREADSHEET

RTF

adWORDPROCESSOR rtfsr

MW

adWORDPROCESSOR mwsr

adWORDPROCESSOR mwsr

adWORDPROCESSOR mwsr

adWORDPROCESSOR mwsr

Page 91 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

Format Name
MS_Word_PC_ Misc_Fmt

Number 58

NBI_Async_

59

Archive_Fmt

Navy_DIF_Fmt

60

NBI_Net_Archive_ 61 Fmt

NIOS_TOP_Fmt 62

FileMaker_Mac_ 63 Fmt

ODA_Q1_11_Fmt 64

ODA_Q1_12_Fmt 65

OLIDIF_Fmt

66

Office_Writer_Fmt 67

PC_Paintbrush_ 68 Fmt

CPT_Comm_Fmt 69

Lotus_PIC_Fmt

70

Mac_PICT_Fmt

71

Philips_Script_

72

Word_Fmt

PostScript_Fmt

73

PRIMEWORD_Fmt 74

Quadratron_Q_

75

One_v1_Fmt

Quadratron_Q_

76

One_v2_Fmt

SAMNA_Word_IV_ 77 Fmt

Ami_Pro_Draw_ 78

Category 46
47 48 49 50 51 52 52 53 55 56 57 58 59 60 61 62 63 64 65 66

Description

MIME Type

Microsoft Word for PC (up to version 6) Miscellaneous File

NBI Async Archive Format

Navy DIF (document interchange format)
NBI OASys Net Archive Format
NIOS TOP
Filemaker MAC

application/x-navy

ODA / ODIF Q1 11 ODA / ODIF Q1 12 OLIDIF (Olivetti) Office Writer PC Paintbrush Graphics (PCX) CPT Corporation word processor Lotus PIC Macintosh Raster / QuickDraw Picture Philips Script

image/vnd.zbrush.pcx
image/x-pict image/x-pict

PostScript PRIMEWORD Q-One V1.93J

application/postscript

Q-One V2.0

SAMNA Word

Lotus Ami Pro Draw

IDOL KeyView (12.11)

Extension
ND NN
FP5, FP7 OD OD OW PCX PF PIC PCT
PS Q1, QX Q1, QX SAM SDW

File Class

Readers

adWORDPROCESSOR mwsr

adWORDPROCESSOR

adWORDPROCESSOR stringssr

adWORDPROCESSOR nnsr

adWORDPROCESSOR adDATABASE

adWORDPROCESSOR stringssr

adWORDPROCESSOR stringssr

adWORDPROCESSOR

adWORDPROCESSOR stringssr

adRASTERIMAGE

kppcxrdr

adWORDPROCESSOR stringssr

adVECTORGRAPHIC kppicrdr

adRASTERIMAGE, adVECTORGRAPHIC

kppctrdr

adWORDPROCESSOR

adVECTORGRAPHIC adWORDPROCESSOR pwsr adWORDPROCESSOR stringssr

adWORDPROCESSOR stringssr

adWORDPROCESSOR stringssr

adVECTORGRAPHIC, kpsdwrdr

Page 92 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

Format Name
Fmt
SYLK_ Spreadsheet_Fmt
SmartWare_II_ WP_Fmt
Symphony_Fmt

Number 79 80 81

Targa_Fmt

82

TIFF_Fmt

83

Targon_Word_Fmt 84

Uniplex_Ucalc_Fmt 85

Uniplex_WP_Fmt 86

MS_Word_UNIX_ 87 Fmt

WANG_PC_Fmt 88

WordERA_Fmt

89

WANG_WPS_

90

Comm_Fmt

WordPerfect_Mac_ 91 Fmt

WordPerfect_Fmt 92

WordPerfect_VAX_ 93 Fmt

WordPerfect_

94

Macro_Fmt

WordPerfect_

95

Dictionary_Fmt

WordPerfect_

96

Thesaurus_Fmt

WordPerfect_

97

Resource_Fmt

WordPerfect_

98

Driver_Fmt

Category
67 68 69 70 71 72 73 74 75 76 77 78 79 86 139 139 139 139 139 139

Description

MIME Type

SYmbolic LinK (SYLK) format

Informix SmartWare II word processor

Lotus Symphony spreadsheet

application/vnd.symphony

Truevision Targa image image/x-tga

Tagged Image File Format image/tiff (TIFF)

Targon Word

Uniplex Ucalc

Uniplex word processor

Microsoft Word UNIX

application/msword

Wang IWP for PC WordERA WANG WPS (Word Processing System) WordPerfect MAC

application/x-wang-iwp application/x-corel-wordperfect

WordPerfect version 4 WordPerfect VAX

application/x-corel-wordperfect application/x-corel-wordperfect

WordPerfect Macro

application/vnd.wordperfect

WordPerfect Spelling Dictionary
WordPerfect Thesaurus

application/vnd.wordperfect application/vnd.wordperfect

WordPerfect Resource File
WordPerfect Driver

application/vnd.wordperfect application/vnd.wordperfect

IDOL KeyView (12.11)

Extension SLK DOC, SMT WR1 TGA TIF, TIFF TW SS UP
DOC DC, GL, FR WF
WP, WP4
MRS SPW
WWK, PRS IRS, VRS

File Class adRASTERIMAGE adSPREADSHEET

Readers

adWORDPROCESSOR swsr

adSPREADSHEET

adRASTERIMAGE

kpTGArdr

adRASTERIMAGE, adFAXFORMAT

kptifrdr, tifsr

adWORDPROCESSOR stringssr

adSPREADSHEET

adWORDPROCESSOR stringssr

adWORDPROCESSOR

adWORDPROCESSOR adWORDPROCESSOR stringssr adWORDPROCESSOR stringssr

adWORDPROCESSOR wpmsr

adWORDPROCESSOR stringssr adWORDPROCESSOR

adWORDPROCESSOR

adWORDPROCESSOR

adWORDPROCESSOR

adWORDPROCESSOR

adWORDPROCESSOR

Page 93 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

Format Name

Number

WordPerfect_Cfg_ 99 Fmt

WordPerfect_

100

Hyphenation_Fmt

WordPerfect_Misc_ 101 Fmt

WordMARC_Fmt 102

Windows_Metafile_ 103 Fmt

Windows_Metafile_ 104 NoHdr_Fmt

SmartWare_II_DB_ 105 Fmt

WordPerfect_

106

Graphics_Fmt

WordStar_Fmt

107

WANG_WITA_Fmt 108

Xerox_860_

109

Comm_Fmt

Xerox_Writer_Fmt 110

DIF_SpreadSheet_ 111 Fmt

Enable_

112

Spreadsheet_Fmt

SuperCalc_Fmt

113

UltraCalc_Fmt

114

SmartWare_II_SS_ 115 Fmt

SOF_

116

Encapsulation_Fmt

PowerPoint_Win_ 117 Fmt

PowerPoint_Mac_ 118 Fmt

Category 139 139 139 82 83 83 84 195 87 88 89 91 92 93 94 95 96 97 98 99

Description

MIME Type

WordPerfect Configuration application/vnd.wordperfect File

WordPerfect Hyphenation application/vnd.wordperfect Dictionary

WordPerfect Miscellaneous File

application/vnd.wordperfect

WordMARC Composer

video/x-ms-wm

Windows Metafile

image/wmf

Windows Metafile (no header)
Informix SmartWare II database
WordPerfect Graphics (version 2 and higher)
WordStar
WANG WITA
Xerox 860

image/wmf database/x-smartdata application/vnd.wordperfect application/vnd.wordstar

Xerox Writer
Data Interchange Format (DIF)
Enable Spreadsheet

application/dif+xml application/vnd.epson.ssf

Sorcim SuperCalc spreadsheet

application/x-supercalc5

UltraCalc spreadsheet

Informix SmartWare II spreadsheet

application/x-smartware

Serialized Object Format application/java-serialized-object (SOF)

Microsoft PowerPoint PC application/x-ms-powerpoint (up to version 4)

Microsoft PowerPoint MAC application/x-ms-powerpoint (up to version 4)

IDOL KeyView (12.11)

Extension PFX HYC
WM, PW WMF WMF
WPG, QPG WS, WSD WT
DIF SSF CAL
SOF PPT PPT

File Class

Readers

adWORDPROCESSOR

adWORDPROCESSOR

adWORDPROCESSOR

adWORDPROCESSOR stringssr

adVECTORGRAPHIC, adRASTERIMAGE

kpwmfrdr

adVECTORGRAPHIC kpwmfrdr

adDATABASE

adRASTERIMAGE, adVECTORGRAPHIC

kpwg2rdr, kpwpgrdr

adWORDPROCESSOR stringssr

adWORDPROCESSOR stringssr

adWORDPROCESSOR stringssr

adWORDPROCESSOR stringssr

adSPREADSHEET

difsr

adSPREADSHEET

adSPREADSHEET

adSPREADSHEET adSPREADSHEET

adENCAPSULATION

adPRESENTATION

kpp40rdr

adPRESENTATION

olesr

Page 94 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

Format Name
PowerPoint_95_ Fmt
PowerPoint_97_ Fmt
PageMaker_Mac_ Fmt
PageMaker_Win_ Fmt
MS_Works_Mac_ WP_Fmt
MS_Works_Mac_ DB_Fmt
MS_Works_Mac_ SS_Fmt
MS_Works_Mac_ Comm_Fmt
MS_Works_DOS_ WP_Fmt
MS_Works_DOS_ DB_Fmt
MS_Works_DOS_ SS_Fmt
MS_Works_Win_ WP_Fmt
MS_Works_Win_ DB_Fmt
MS_Works_Win_ SS_Fmt
PC_Library_Fmt
MacWrite_Fmt
MacWrite_II_Fmt
Freehand_Fmt

Number 119 120 121 122 123 124 125 126 127 128 129 130
131 132 133 134 135 136

Category 212 272 100 101 103 104 105 106 107 108 109 227
231 228 111 112 113 114

Description Microsoft PowerPoint 95

MIME Type application/x-ms-powerpoint

Microsoft PowerPoint 97 application/x-ms-powerpoint

PageMaker for Macintosh

PageMaker for Windows

Microsoft Works Word Processor for MAC

application/x-msworks

Microsoft Works Database application/x-msworks for MAC

Microsoft Works Spreadsheet for MAC

application/x-msworks

Microsoft Works Communication for MAC

application/x-msworks

Microsoft Works Word Processor for DOS

application/x-msworks

Microsoft Works Database application/x-msworks for DOS

Microsoft Works Spreadsheet for DOS

application/x-msworks

Microsoft Works Word

application/x-msworks

Processor for Windows (up

to 2000)

Microsoft Works Database application/x-msworks for Windows

Microsoft Works

application/x-msworks

Spreadsheet for Windows

DOS/Windows Object Library

application/x-archive

MacWrite

application/macwriteii

MacWrite II

application/macwriteii

Adobe/Macrovision FreeHand image

image/x-freehand

IDOL KeyView (12.11)

Extension PPT PPT
MWK
WPS WDB
WPS, W40
WKS, S30, S40 LIB, A
FH3, FH4, FH5, FH7, FH8, FH9, FH10, FH11

File Class adPRESENTATION

Readers kpp95rdr

adPRESENTATION

kpp97rdr

adDESKTOPPUBLSH

adDESKTOPPUBLSH

adWORDPROCESSOR stringssr

adDATABASE

adSPREADSHEET

mwssr

adCOMMUNICATION

adWORDPROCESSOR stringssr

adDATABASE

adSPREADSHEET

mwssr

adWORDPROCESSOR msw6sr, mswsr

adDATABASE

adSPREADSHEET

mwssr

adLIBRARY

adWORDPROCESSOR stringssr adWORDPROCESSOR stringssr adVECTORGRAPHIC

Page 95 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

Format Name

Number

Disk_Doubler_Fmt 137

HP_GL_Fmt

138

FrameMaker_Fmt 139

FrameMaker_

140

Book_Fmt

Maker_Markup_ 141 Language_Fmt

Maker_

142

Interchange_Fmt

JPEG_File_

143

Interchange_Fmt

Reflex_Fmt

144

Framework_Fmt 145

Framework_II_Fmt 146

Paradox_Fmt

147

MS_Windows_

148

Write_Fmt

Quattro_Pro_DOS_ 149 Fmt

Quattro_Pro_Win_ 150 Fmt

Persuasion_Fmt 151

Windows_Icon_Fmt 152

Windows_Cursor_ 153 Fmt

MS_Project_

154

Activity_Fmt

MS_Project_

155

Resource_Fmt

MS_Project_Calc_ 156 Fmt

PKZIP_Fmt

157

Category 115 116 136 136
174
117
118
119 276 120 121 123
124
184
126 128 133
129
129
129
132

Description Disk Doubler HP Graphics Language FrameMaker FrameMaker Book

MIME Type
vector/x-hpgl application/vnd.framemaker application/vnd.framemaker

Maker Markup Language application/vnd.mif

Adobe FrameMaker

application/x-mif

Interchange Format (MIF)

JPEG File Interchange Format

image/jpeg

Borland Reflex database database/reflex

Framework office suite

Framework II office suite

Borland Paradox database application/paradox

Microsoft Windows Write application/x-ms-write

Corel Quattro Pro for DOS application/x-quattropro

Corel Quattro Pro for Windows Adobe Persuasion Windows Icon Format Windows Cursor

application/x-quattro-win
image/vnd.microsoft.icoN image/x-win-bitmap

Microsoft Project (up to version 3) activity file
Microsoft Project (up to version 3) resource file
Microsoft Project (up to version 3) calc file
ZIP Archive

application/zip

Quark_Xpress_Fmt 158

134

Quark Xpress MAC

IDOL KeyView (12.11)

Extension
HPGL, HPG FM, FRM BOOK

File Class adENCAPSULATION adVECTORGRAPHIC adDESKTOPPUBLSH adDESKTOPPUBLSH

Readers

adDESKTOPPUBLSH

MIF

adWORDPROCESSOR mifsr

JPG, JPEG, JFIF, JFI
FW3 DB WRI

adRASTERIMAGE

jpgsr, kpjpgrdr

adDATABASE adMIXED adMIXED adDATABASE adWORDPROCESSOR mwsr

WQ1

adSPREADSHEET

WB1, WB2, WB3 adSPREADSHEET

qpssr

ICO CUR

adPRESENTATION adRASTERIMAGE adRASTERIMAGE

kpicordr

adSCHEDULE

adSCHEDULE

adSCHEDULE

ZIP, ZIPX

adENCAPSULATION, adEXECUTABLE
adDESKTOPPUBLSH

unzip

Page 96 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

Format Name

Number

ARC_PAK_

159

Archive_Fmt

MS_Publisher_Fmt 160

PlanPerfect_Fmt 161

WordPerfect_

162

Auxiliary_Fmt

MS_WAVE_Audio_ 163 Fmt

MIDI_Audio_Fmt 164

AutoCAD_DXF_ 165 Binary_Fmt

AutoCAD_DXF_ 166 Text_Fmt

dBase_Fmt

167

OS_2_PM_

168

Metafile_Fmt

Lasergraphics_

169

Language_Fmt

AutoShade_

170

Rendering_Fmt

GEM_VDI_Fmt

171

Windows_Help_ 172 Fmt

Volkswriter_Fmt

173

Ability_WP_Fmt

174

Ability_DB_Fmt

175

Ability_SS_Fmt

176

Ability_Comm_Fmt 177

Ability_Image_Fmt 178

XyWrite_Fmt

179

CSV_Fmt

180

Category 135
137
138 139
141
142 143
143
144 145
146
147
148 149
150
151 151 151 151 151 152 153

Description PAK/ARC Archive
Microsoft Publisher (up to version 3) PlanPerfect Corel WordPerfect auxiliary file Microsoft Wave audio
MIDI audio Autodesk AutoCAD DXF binary format Autodesk AutoCAD DXF text format dBase Database III+/IV OS/2 PM Metafile
Lasergraphics Language
AutoShade Rendering
GEM VDI Metafile image Windows Help File
Volkswriter word processor Ability Word Processor Ability Database Ability Spreadsheet Ability Presentation Ability Image XYWrite / Nota Bene CSV (Comma Separated Values)

MIME Type application/x-mspublisher
audio/wav audio/mid image/x-dxf image/x-dxf application/x-dbf
application/x-autoshade application/winhlp
text/csv

IDOL KeyView (12.11)

Extension ARC, PAK PUB
WPW WAV MID, MIDI DXF DXF DBF, VCX MET
GEM, GDI HLP VW4
XY4 CSV

File Class adENCAPSULATION

Readers

adDESKTOPPUBLSH mspubsr

adSCHEDULE
adMISC, adENCAPSULATION
adSOUND

MCI, riffsr

adSOUND adVECTORGRAPHIC
adVECTORGRAPHIC
adDATABASE adVECTORGRAPHIC

MCI
kpDXFrdr, kpODArdr
kpDXFrdr, kpODArdr
dbfsr

adVECTORGRAPHIC

adVECTORGRAPHIC

adVECTORGRAPHIC adMISC

adWORDPROCESSOR stringssr

adWORDPROCESSOR

adDATABASE

adSPREADSHEET

adCOMMUNICATION

adRASTERIMAGE

adWORDPROCESSOR xywsr

adSPREADSHEET

csvsr

Page 97 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

Format Name
IBM_Writing_ Assistant_Fmt
WordStar_2000_ Fmt
HP_PCL_Fmt

Number 181 182 183

UNIX_Exe_

184

PreSysV_VAX_Fmt

UNIX_Exe_Basic_ 185 16_Fmt

UNIX_Exe_x86_ 186 Fmt

UNIX_Exe_iAPX_ 187 286_Fmt

UNIX_Exe_

188

MC68k_Fmt

UNIX_Exe_3B20_ 189 Fmt

UNIX_Exe_

190

WE32000_Fmt

UNIX_Exe_VAX_ 191 Fmt

UNIX_Exe_Bell_5_ 192 Fmt

UNIX_Obj_VAX_ 193 Demand_Fmt

UNIX_Obj_

194

MS8086_Fmt

UNIX_Obj_Z8000_ 195 Fmt

AU_Audio_Fmt

196

NeWS_Font_Fmt 197

cpio_Archive_

198

CRChdr_Fmt

cpio_Archive_

199

CHRhdr_Fmt

Category 154 155 157 158 158 158 158 158 158 158 158 158 159 159 159 161 162 163 163

Description IBM Writing Assistant

MIME Type

WordStar 2000

HP Printer Control Language
UNIX executable (PDP11/pre-System V VAX)
UNIX executable (Basic16)
UNIX executable (x86)

application/pcl application/octet-stream application/octet-stream application/octet-stream

UNIX executable (iAPX 286)
UNIX executable (MC680x0)
UNIX executable (3B20)

application/octet-stream application/octet-stream application/octet-stream

UNIX executable (WE32000)
UNIX executable (VAX)

application/octet-stream application/octet-stream

UNIX executable (Bell 5.0) application/octet-stream

UNIX object module (VAX Demand)

UNIX object module (old MS 8086)

UNIX object module (Z8000)

NeXT/Sun Audio Data

audio/basic

NeWS bitmap font

cpio archive (CRC Header) application/x-cpio

cpio archive (CHR Header) application/x-cpio

IDOL KeyView (12.11)

Extension IWA WS2 PCL
AU, SND CPIO CPIO

File Class

Readers

adWORDPROCESSOR stringssr

adWORDPROCESSOR stringssr

adVECTORGRAPHIC

adEXECUTABLE

adEXECUTABLE

adEXECUTABLE

adEXECUTABLE

adEXECUTABLE

adEXECUTABLE

adEXECUTABLE

adEXECUTABLE

adEXECUTABLE

adOBJECTMODULE

adOBJECTMODULE

adOBJECTMODULE

adSOUND

MCI

adFONT

adENCAPSULATION

adENCAPSULATION

Page 98 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

Format Name PEX_Binary_ Archive_Fmt Sun_vfont_Fmt Curses_Screen_ Fmt UUEncoded_Fmt WriteNow_Fmt PC_Obj_Fmt

Number 200
201 202
203 204 205

Windows_Group_ 206 Fmt
TrueType_Font_ 207 Fmt
Windows_PIF_Fmt 208

MS_COM_

209

Executable_Fmt

StuffIt_Fmt

210

PeachCalc_Fmt

211

Wang_GDL_Fmt 212

Q_A_DOS_Fmt

213

Q_A_Win_Fmt

214

WPS_PLUS_Fmt 215

DCX_Fmt

216

OLE_Fmt

217

EBCDIC_Fmt

218

DCS_Fmt

219

UNIX_SHAR_Fmt 220

Lotus_Notes_

221

BitMap_Fmt

Category 164
165 166
167 168 169
170
171
172
173
175 176 177 179 180
181 182
183
186 187 190 191

Description SUN PEX Binary Archive

MIME Type

SUN vfont Definition Curses Screen Image

UU-encoded text WriteNow MAC DOS/Windows Object Module Windows Group

text/x-uuencode application/octet-stream

TrueType Font

application/x-font-ttf

Program Information File (PIF)
PC (.COM)

application/octet-stream application/octet-stream

StuffIt (MAC)

application/x-stuffit

PeachCalc

WANG Office GDL Header

Symantec Q&A for DOS application/x-qa-write

Symantec Q&A for Windows

application/x-qa-write

WPS-PLUS

application/vnd.ms-wpl

DCX FAX Format(PCX images)

image/dcx

OLE Compound Document

EBCDIC Text

application/ebcdic

DCS

SHAR shell archive format application/x-shar

Lotus Notes Bitmap

IDOL KeyView (12.11)

Extension
UUE OBJ, EXP GRP TTF PIF COM HQX CAL
JW WPL DCX OLE
SHAR

File Class adENCAPSULATION

Readers

adFONT adRASTERIMAGE

adENCAPSULATION uudsr adWORDPROCESSOR stringssr adOBJECTMODULE

adMISC

adFONT

adMISC

adEXECUTABLE

adENCAPSULATION adSPREADSHEET adENCAPSULATION adWORDPROCESSOR stringssr adWORDPROCESSOR stringssr

adWORDPROCESSOR stringssr

adFAXFORMAT

kpdcxrdr

adENCAPSULATION olesr

adWORDPROCESSOR adWORDPROCESSOR adENCAPSULATION adRASTERIMAGE

Page 99 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

Format Name

Number

Lotus_Notes_CDF_ 222 Fmt

Compress_Fmt

223

GZ_Compress_Fmt 224

TAR_Fmt

225

ODIF_FOD26_Fmt 226

ODIF_FOD36_Fmt 227

ALIS_Fmt

228

Envoy_Fmt

229

PDF_Fmt

230

Category 193
192 198 194 196
196
197 199 200

Description Lotus Notes CDF

MIME Type application/cdf

UNIX Compress archive application/x-compress

GZ Compress archive

application/gzip

TAR (tape archive)

application/tar

Open Document

application/oda

Architecture (ODA / ODIF)

FOD26

Open Document

application/oda

Architecture (ODA / ODIF)

FOD36

ALIS

WordPerfect Envoy

application/envoy

Adobe PDF (Portable Document Format)

application/pdf

BinHex_Fmt SMTP_Fmt

231

206

232

207

MIME_Fmt

233

208

USENET_Fmt

234

264

SGML_Fmt

235

209

HTML_Fmt

236

210

ACT_Fmt

237

211

PNG_Fmt

238

213

MS_Video_Fmt

239

214

Windows_

240

215

Animated_Cursor_

Fmt

Windows_CPP_ 241

216

Obj_Storage_Fmt

Windows_Palette_ 242

217

Fmt

BinHex

application/mac-binhex40

SMTP (Text Mail / Outlook message/rfc822 Express)
MIME (EML / MBX email)1 message/rfc822

USENET

message/news

SGML

text/sgml

HTML

text/html

ACT! CRM software

Portable Network Graphics image/png (PNG)

Video for Windows (AVI) video/avi

Windows Animated Cursor

Windows C++ Object Storage
Windows Palette

IDOL KeyView (12.11)

Extension CDF Z GZ TAR F26
F36
EVY PDF
HQX SMTP EML, MBX
SGML HTM, HTML ACT PNG AVI ANI
PAL

File Class

Readers

adWORDPROCESSOR stringssr

adENCAPSULATION kvzee, kvzeesr adENCAPSULATION kvgz, kvgzsr adENCAPSULATION tarsr adWORDPROCESSOR

adWORDPROCESSOR

adWORDPROCESSOR

adWORDPROCESSOR

adWORDPROCESSOR

kppdf2rdr, kppdfrdr, pdf2sr, pdfsr

adENCAPSULATION kvhqxsr

adENCAPSULATION emlsr

adENCAPSULATION mbxsr

adWORDPROCESSOR

adWORDPROCESSOR afsr

adWORDPROCESSOR htmsr

adWORDPROCESSOR

adRASTERIMAGE

kppngrdr, pngsr

adMOVIE

MCI

adRASTERIMAGE

kpanirdr

adMIXED adRASTERIMAGE

Page 100 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

Format Name RIFF_DIB_Fmt

Number 243

RIFF_MIDI_Fmt

244

RIFF_Multimedia_ 245 Movie_Fmt

MPEG_Fmt

246

QuickTime_Fmt

247

AIFF_Fmt

248

Amiga_MOD_Fmt 249

Amiga_IFF_8SVX_ 250 Fmt

Creative_Voice_ 251 Audio_Fmt

AutoDesk_

252

Animator_FLI_Fmt

AutoDesk_

253

AnimatorPro_FLC_

Fmt

Compactor_

254

Archive_Fmt

VRML_Fmt

255

QuickDraw_3D_ 256 Metafile_Fmt

PGP_Secret_

257

Keyring_Fmt

PGP_Public_

258

Keyring_Fmt

PGP_Encrypted_ 259 Data_Fmt

PGP_Signed_

260

Data_Fmt

PGP_

261

SignedEncrypted_

Data_Fmt

Category 218 219 220 221 222 223 224 225 226 229 230
233 234 235 236 237 238 239 240

Description

MIME Type

RIFF Device Independent Bitmap

RIFF MIDI

audio/midi

RIFF Multimedia Movie

MPEG Movie

video/mpeg

QuickTime Movie, MPEG- video/quicktime 4 audio

Audio Interchange File Format (AIFF)

audio/aiff

Amiga MOD

Amiga IFF (8SVX) Sound audio/x-8svx

Creative Voice (VOC)

AutoDesk Animator FLIC video/x-fli

AutoDesk Animator Pro FLIC

video/x-flc

Compactor / Compact Pro application/mac-compactpro

VRML QuickDraw 3D Metafile

model/vrml

PGP secret key

application/pgp

PGP public key

application/pgp

PGP encrypted data

application/pgp

PGP signed data

application/pgp

PGP signed and encrypted application/pgp data

IDOL KeyView (12.11)

Extension
RMI MMM
MOV, QT, MP4 AIF, AIFF, AIFC MOD IFF VOC FLI FLC

File Class adRASTERIMAGE adSOUND adMOVIE adMOVIE adMOVIE adSOUND adSOUND adSOUND adSOUND adANIMATION adANIMATION

Readers
MCI, mpeg4sr MCI, aiffsr

WRL

adENCAPSULATION adVECTORGRAPHIC adVECTORGRAPHIC adENCAPSULATION adENCAPSULATION adENCAPSULATION adENCAPSULATION adENCAPSULATION

Page 101 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

Format Name

Number

PGP_Sign_

262

Certificate_Fmt

PGP_

263

Compressed_

Data_Fmt

PGP_ASCII_

264

Public_Keyring_

Fmt

PGP_ASCII_

265

Encoded_Fmt

PGP_ASCII_

266

Signed_Fmt

OLE_DIB_Fmt

267

SGI_Image_Fmt 268

Lotus_

269

ScreenCam_Fmt

MPEG_Audio_Fmt 270

FTP_Software_

271

Session_Fmt

Netscape_

272

Bookmark_File_

Fmt

Corel_Draw_CMX_ 273 Fmt

AutoDesk_DWG_ 274 Fmt

AutoDesk_WHIP_ 275 Fmt

Macromedia_

276

Director_Fmt

Real_Audio_Fmt 277

MSDOS_Device_ 278 Driver_Fmt

Micrografx_

279

Category 241 246
242
243 244 245 247 248 249 250 210
252 253 254 255
256 257 258

Description PGP signature certificate

MIME Type application/pgp-signature

PGP compressed data

application/pgp

ASCII-armored PGP public application/pgp key

ASCII-armored PGPencoded message
ASCII-armored PGP signed
OLE DIB object
SGI RGB Image
Lotus ScreenCam

application/pgp application/pgp
image/sgi application/vnd.lotus-screencam

MPEG-1 Audio layer3 (MP3)
FTP Session Data

audio/mpeg

Netscape Bookmark File text/html

Corel CMX
AutoDesk AutoCAD Drawing (DWG) AutoDesk WHIP
Macromedia Shockwave/Adobe Director Real Audio MSDOS Device Driver
Micrografx Designer

application/cmx image/x-dwg
application/x-director audio/x-pn-realaudio application/octet-stream

IDOL KeyView (12.11)

Extension SIG

File Class adENCAPSULATION

Readers

adENCAPSULATION

PGP

adENCAPSULATION

adENCAPSULATION

adENCAPSULATION

RGB SCM

adRASTERIMAGE adRASTERIMAGE adANIMATION

kpsgirdr

MPEGA, MPG, MP3 adSOUND

MCI, mp3sr

STE

adCOMMUNICATION

adWORDPROCESSOR htmsr

CMX DWG WHP DCR, DXR, DIR

adVECTORGRAPHIC

adVECTORGRAPHIC adVECTORGRAPHIC

kpDWGrdr, kpODArdr

adANIMATION

RM, RA SYS
DSF

adSOUND adEXECUTABLE
adVECTORGRAPHIC

Page 102 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

Format Name Designer_Fmt SVF_Fmt

Number 280

Applix_Words_Fmt 281
Applix_Graphics_ 282 Fmt
MS_Access_Fmt 283

MS_Access_95_ 284 Fmt

MS_Access_97_ 285 Fmt

MacBinary_Fmt

286

Apple_Single_Fmt 287

Apple_Double_Fmt 288

Enhanced_

289

Metafile_Fmt

MS_Office_

290

Drawing_Fmt

XML_Fmt

291

DeVice_

292

Independent_Fmt

Unicode_Fmt

293

Lotus_123_

294

Worksheet_Fmt

Lotus_123_

295

Format_Fmt

Lotus_123_97_Fmt 296

Lotus_Word_Pro_ 297 96_Fmt

Lotus_Word_Pro_ 298 97_Fmt

Freelance_DOS_ 299 Fmt

Category
259 261 262 263 263 263 265 266 267 270 271 285 274 275 81 81 81 268 268 140

Description

MIME Type

Simple Vector Format (SVF)
Applix Words
Applix Graphics

image/x-svf application/x-applix-word

Microsoft Access (versions application/x-msaccess 1 and 2)

Microsoft Access 95

application/msaccess

Microsoft Access 97

application/msaccess

MacBinary Apple Single Apple Double Enhanced Metafile

application/x-macbinary
multipart/appledouble image/x-emf

Microsoft Office Drawing

XML DeVice Independent file (DVI) Unicode text file Lotus 1-2-3

text/xml application/x-dvi
text/plain application/x-lotus-123

Lotus 1-2-3 Formatting

application/x-123

Lotus 1-2-3 97 Lotus Word Pro 96

application/x-lotus-123 application/vnd.lotus-wordpro

Lotus Word Pro 97

application/vnd.lotus-wordpro

Lotus Freelance for DOS application/x-freelance

IDOL KeyView (12.11)

Extension

File Class

Readers

SVF

adVECTORGRAPHIC

AW

adWORDPROCESSOR awsr

AG

adPRESENTATION

kpagrdr

MDB

adDATABASE

mdbsr

MDB

adDATABASE

mdbsr

MDB

adDATABASE

mdbsr

BIN
AD EMF

adENCAPSULATION adENCAPSULATION adENCAPSULATION adVECTORGRAPHIC

macbinsr kpemfrdr

adVECTORGRAPHIC kpmsordr

XML DVI

adWORDPROCESSOR xmlsr adVECTORGRAPHIC

UNI
WKS, WK1, WK3, WK4
FM3

adWORDPROCESSOR unisr

adSPREADSHEET

wkssr

adSPREADSHEET

l123sr

123 LWP, MWP

adSPREADSHEET

l123sr

adWORDPROCESSOR lwpsr

LWP, MWP

adWORDPROCESSOR lwpsr

PRZ

adPRESENTATION

kpprzrdr

Page 103 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

Format Name

Number

Freelance_Win_ 300 Fmt

Freelance_OS2_ 301 Fmt

Freelance_96_Fmt 302

Freelance_97_Fmt 303

MS_Word_95_Fmt 304

MS_Word_97_Fmt 305

Excel_Fmt

306

Excel_Chart_Fmt 307

Excel_Macro_Fmt 308

Excel_95_Fmt

309

Excel_97_Fmt

310

Corel_

311

Presentations_Fmt

Harvard_Graphics_ 312 Fmt

Harvard_Graphics_ 313 Chart_Fmt

Harvard_Graphics_ 314 Symbol_Fmt

Harvard_Graphics_ 315 Cfg_Fmt

Harvard_Graphics_ 316 Palette_Fmt

Lotus_123_R9_Fmt 317

Applix_

318

Spreadsheets_Fmt

MS_Pocket_Word_ 319 Fmt

MS_DIB_Fmt

320

Category 140 140 140 140 189 269 90 90 90 188 188 127 131 131 131 131 131 81 278 45 279

Description Lotus Freelance for Windows Lotus Freelance for OS/2
Lotus Freelance 96 Lotus Freelance 97 Microsoft Word 95 Microsoft Word 97 Microsoft Excel (up to version 5) Microsoft Excel (up to version 5) chart Microsoft Excel (up to version 5) macro Microsoft Excel 95 Microsoft Excel 97 Corel Presentations
Harvard Graphics
Harvard Graphics Chart
Harvard Graphics Symbol File (v3) Harvard Graphics Configuration File Harvard Graphics Palette
Lotus 1-2-3 Release 9 Applix Spreadsheets
Microsoft Pocket Word for Handheld PC Microsoft Device

MIME Type application/x-freelance application/x-freelance application/x-freelance application/x-freelance application/msword application/msword application/x-ms-excel application/x-ms-excel application/vnd.ms-excel application/x-ms-excel application/x-ms-excel application/x-corelpresentations
application/x-lotus-123 application/x-applix-spreadsheet
image/bmp

IDOL KeyView (12.11)

Extension PRE, FLW

File Class adPRESENTATION

Readers kpprerdr

PRS

adPRESENTATION

kpprerdr

PRZ PRZ DOC DOC, WPS, WBK XLS

adPRESENTATION

kpprzrdr

adPRESENTATION

kpprzrdr

adWORDPROCESSOR mw6sr

adWORDPROCESSOR mw8sr

adSPREADSHEET

xlssr

XLC

adSPREADSHEET

xlssr

XLM

adSPREADSHEET

xlssr

XLS XLS, XLR SHW, PRC

adSPREADSHEET adSPREADSHEET adPRESENTATION

xlssr xlssr kpshwrdr

PR4

adPRESENTATION

CH3, CHT

adVECTORGRAPHIC

SY3

adVECTORGRAPHIC

adVECTORGRAPHIC

PL

adVECTORGRAPHIC

123

adSPREADSHEET

l123sr

AS

adSPREADSHEET

assr

PWD

adWORDPROCESSOR rtfsr

DIB

adRASTERIMAGE

Page 104 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

Format Name

Number

MS_Word_2000_ 321 Fmt

Excel_2000_Fmt 322

PowerPoint_2000_ 323 Fmt

MS_Access_2000_ 324 Fmt

MS_Project_4_Fmt 325

MS_Project_41_ 326 Fmt

MS_Project_98_ 327 Fmt

Folio_Flat_Fmt

328

HWP_Fmt

329

ICHITARO_Fmt

330

IS_XML_Fmt

331

Oasys_Fmt

332

PBM_ASC_Fmt

333

PBM_BIN_Fmt

334

PGM_ASC_Fmt

335

PGM_BIN_Fmt

336

PPM_ASC_Fmt

337

PPM_BIN_Fmt

338

XBM_Fmt

339

XPM_Fmt

340

Category
269 188 272 263 281 281 281 282 283 284 273 286 287 287 288 288 289 289 290 291

Description Independent Bitmap Microsoft Word 2000

MIME Type application/msword

Microsoft Excel 2000

application/x-ms-excel

Microsoft PowerPoint 2000 application/x-ms-powerpoint

Microsoft Access 2000

application/x-msaccess

Microsoft Project 4 Microsoft Project 4.1

Microsoft Project 98

application/vnd.ms-project

Folio Flat File

Haansoft Hangul HWP (Arae-Ah Hangul)

application/x-hwp

ICHITARO (v4-10)

application/x-ichitaro

Extended or Custom XML text/xml

Fujitsu OASYS

application/vnd.fujitsu.oasys

Portable Bitmap Utilities ASCII format (PBM)

image/pbm

Portable Bitmap Utilities BINARY format (PBM)

image/pbm

Portable Greymap Utilities image/x-pgm ASCII format (PGM)

Portable Greymap Utilities image/x-pgm BINARY format (PGM)

Portable Pixmap Utilities ASCII format (PPM)

image/x-portable-pixmap

Portable Pixmap Utilities BINARY format (PPM)

image/x-portable-pixmap

X-Window X Bitmap format image/x-xbitmap (XBM)

X-Window X Pixmap

image/xpm

IDOL KeyView (12.11)

Extension

File Class

Readers

DOC

adWORDPROCESSOR mw8sr

XLS

adSPREADSHEET

xlssr

PPT

adPRESENTATION

kpp97rdr

MDB

adDATABASE

mdbsr

MPP MPP

adSCHEDULE adSCHEDULE

mppsr mppsr

MPP

adSCHEDULE

mppsr

FFF HWP

adWORDPROCESSOR foliosr adWORDPROCESSOR hwposr, hwpsr

JTD XML OAS, OA2, OA3 PBM, PNM

adWORDPROCESSOR jtdsr adWORDPROCESSOR adWORDPROCESSOR oa2sr adRASTERIMAGE

PBM, PNM

adRASTERIMAGE

PGM, PNM

adRASTERIMAGE

PGM, PNM

adRASTERIMAGE

PPM, PNM

adRASTERIMAGE

PPM, PNM

adRASTERIMAGE

XBM

adRASTERIMAGE

XPM

adRASTERIMAGE

Page 105 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

Format Name

Number

FPX_Fmt

341

PCD_Fmt

342

MS_Visio_Fmt

343

MS_Project_2000_ 344 Fmt
MS_Outlook_Fmt 345

ELF_Relocatable_ 346 Fmt

ELF_Executable_ 347 Fmt

ELF_Dynamic_Lib_ 348 Fmt

MS_Word_XML_ 349 Fmt

MS_Excel_XML_ 350 Fmt

MS_Visio_XML_ 351 Fmt

SO_Text_XML_

352

Fmt

SO_Spreadsheet_ 353 XML_Fmt

SO_Presentation_ 354 XML_Fmt

XHTML_Fmt

355

MS_OutlookPST_ 356 Fmt

RAR_Fmt

357

Category
292 293 294 281 295 159 158 160 285 285 285 314
315
316
296 297 298

Description
format (XPM)
Kodak FlashPix FPX Image format
PCD Image format
Microsoft Visio (up to version 11)
Microsoft Project 2000

MIME Type
image/fpx image/pcd image/x-vsd application/vnd.ms-project

Microsoft Outlook message
ELF Relocatable

application/vnd.ms-outlook application/octet-stream

ELF Executable

application/octet-stream

ELF Dynamic Library

application/octet-stream

Microsoft Word 2003 XML text/xml

Microsoft Excel 2003 XML text/xml

Microsoft Visio 2003 XML text/xml

OpenDocument format (OpenOffice 1/StarOffice 6,7) Text XML

application/vnd.sun.xml.writer

OpenDocument format (OpenOffice 1/StarOffice 6,7) Spreadsheet XML

application/vnd.sun.xml.calc

OpenDocument format (OpenOffice 1/StarOffice 6,7) Presentation XML

application/vnd.sun.xml.impress

XHTML

text/xhtml

Microsoft Outlook

application/vnd.ms-outlook-pst

Personal Folders File (.pst)

RAR archive format

application/x-rar-compressed

IDOL KeyView (12.11)

Extension FPX PCD VSD MPP MSG, OFT O
SO XML XML VDX SXW

File Class

Readers

adRASTERIMAGE

olesr

adRASTERIMAGE adPRESENTATION
adSCHEDULE

kpVSD2rdr, vsdsr
mppsr

adENCAPSULATION msgsr

adOBJECTMODULE

adEXECUTABLE

adLIBRARY

adWORDPROCESSOR xmlsr

adWORDPROCESSOR xmlsr

adWORDPROCESSOR xmlsr

adWORDPROCESSOR odfwpsr

SXC, STC

adSPREADSHEET

sosr

SXD, SXI

adPRESENTATION

kpodfrdr

XML, XHTML, XHT adWORDPROCESSOR

PST

adENCAPSULATION pstnsr, pstsr,

pstxsr

RAR, REV, R00, R01

adENCAPSULATION, adEXECUTABLE

rarsr

Page 106 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

Format Name

Number

Lotus_Notes_NSF_ 358 Fmt

Macromedia_

359

Flash_Fmt

MS_Word_2007_ 360 Fmt

MS_Excel_2007_ 361 Fmt

MS_PPT_2007_ 362 Fmt

OpenPGP_Fmt

363

Intergraph_V7_

364

DGN_Fmt

MicroStation_V8_ 365 DGN_Fmt

MS_Word_Macro_ 366 2007_Fmt

MS_Excel_Macro_ 367 2007_Fmt

MS_PPT_Macro_ 368 2007_Fmt

LZH_Fmt

369

Office_2007_Fmt 370

MS_XPS_Fmt

371

Lotus_Domino_

372

DXL_Fmt

ODF_Text_Fmt

373

ODF_

374

Spreadsheet_Fmt

ODF_

375

Presentation_Fmt

Category 299 300 301 302 303 304
305
306 307 308 309 310 311 312
313 314 315 316

Description

MIME Type

IBM Lotus Notes Database application/x-lotus-notes NSF/NTF

Macromedia Flash (.swf) application/x-shockwave-flash

Microsoft Word 2007 XML application/x-ms-word07 - Docx
Microsoft Excel 2007 XML application/x-ms-excel07

Microsoft PowerPoint 2007 application/x-ms-powerpoint07 XML

OpenPGP/GPG Message Format (with new packet format)

application/pgp-encrypted

Intergraph Standard File Format (ISFF) V7 DGN (non-OLE)

MicroStation V8 DGN (OLE)

Microsoft Word Macro 2007 XML

application/x-ms-word07m

Microsoft Excel Macro 2007 XML

application/x-ms-excel07m

Microsoft PPT Macro 2007 application/x-ms-powerpoint07m XML

LZH Archive

application/x-lzh-compressed

Office 2007 document

Microsoft Open XML Paper Specification (XPS/OXPS)

application/vnd.ms-xpsdocument

IBM Domino Data in XML text/xml format (.dxl)

ODF Text

application/vnd.oasis.opendocument.text

ODF Spreadsheet

application/vnd.oasis.opendocument.spreadsheet

ODF Presentation

application/vnd.oasis.opendocument.presentation

Extension NSF
SWF, SWD
DOCX, DOTX
XLSX, XLTX
PPTX, POTX, PPSX GPG, PGP
DGN
DGN
DOCM, DOTM
XLSM, XLTM, XLAM PPTM, POTM, PPSM, PPAM LZH, LHA XLSB XPS, OXPS
DXL
ODT ODS
ODP

File Class adENCAPSULATION

Readers nsfsr

adWORDPROCESSOR swfsr

adWORDPROCESSOR mwxsr

adSPREADSHEET

xlsxsr

adPRESENTATION

kpppxrdr

adENCAPSULATION

adVECTORGRAPHIC

adVECTORGRAPHIC olesr

adWORDPROCESSOR mwxsr

adSPREADSHEET

xlsxsr

adPRESENTATION

kpppxrdr

adENCAPSULATION lzhsr adMISC adWORDPROCESSOR xpssr

adENCAPSULATION dxlsr

adWORDPROCESSOR odfwpsr

adSPREADSHEET

odfsssr

adPRESENTATION

kpodfrdr

IDOL KeyView (12.11)

Page 107 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

Format Name

Number

Legato_Extender_ 376 ONM_Fmt

bin_Unknown_Fmt 377

TNEF_Fmt

378

CADAM_Drawing_ 379 Fmt

CADAM_Drawing_ 380 Overlay_Fmt

NURSTOR_

381

Drawing_Fmt

HP_GLP_Fmt

382

ASF_Fmt

383

WMA_Fmt

384

WMV_Fmt

385

EMX_Fmt

386

Z7Z_Fmt

387

Category 317 318 319
320 321 322 323 324 325 326 327 328

Description

MIME Type

Legato Extender Native Message ONM

application/x-lotus-notes

Bin unknown format (.xxx)

Transport Neutral Encapsulation Format (TNEF)

application/vnd.ms-tnef

CADAM Drawing

CADAM Drawing Overlay

NURSTOR Drawing

HP Graphics Language (Plotter)
Advanced Systems Format (ASF)
Windows Media Audio Format (WMA)
Windows Media Video Format (WMV)
Legato EMailXtender Archives Format (EMX)
7-Zip archive (7z)

vector/x-hpgl2 application/x-ms-asf audio/x-ms-wma video/x-ms-wmv
application/7z

MS_Excel_Binary_ 388

329

2007_Fmt

CAB_Fmt

389

330

CATIA_Fmt

390

331

Microsoft Excel Binary 2007
Microsoft Cabinet File (CAB)
CATIA Formats (CAT*)

application/vnd.msexcel.sheet.binary.macroenabled.12
application/vnd.ms-cab-compressed

YIM_Fmt

391

332

ODF_Drawing_Fmt 392

316

Founder_CEB_Fmt 393

333

Yahoo! Instant Messenger History
ODF Drawing/Graphics application/vnd.oasis.opendocument.graphics
Founder Chinese E-paper application/ceb Basic (ceb)

Extension ONM

File Class adENCAPSULATION

Readers onmsr

adWORDPROCESSOR adENCAPSULATION tnefsr

CDD

adVECTORGRAPHIC

CDO

adVECTORGRAPHIC

NUR

adVECTORGRAPHIC

HPG

adVECTORGRAPHIC

ASF

adMISC

asfsr

WMA

adSOUND

asfsr

WMV

adMOVIE

asfsr

EMX

adENCAPSULATION emxsr

7Z XLSB

adENCAPSULATION, adEXECUTABLE
adSPREADSHEET

z7zsr xlsbsr

CAB

adENCAPSULATION cabsr

CATPART, CATPRODUCT2
DAT

adVECTORGRAPHIC kpCATrdr adWORDPROCESSOR yimsr

ODG CEB

adVECTORGRAPHIC kpodfrdr adWORDPROCESSOR cebsr

IDOL KeyView (12.11)

Page 108 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

Format Name QPW_Fmt

Number 394

MHT_Fmt

395

MDI_Fmt

396

GRV_Fmt

397

IWWP_Fmt

398

IWSS_Fmt

399

IWPG_Fmt

400

BKF_Fmt

401

MS_Access_2007_ 402 Fmt

ENT_Fmt

403

DMG_Fmt

404

CWK_Fmt

405

OO3_Fmt

406

OPML_Fmt

407

Omni_Graffle_

408

XML_Fmt

PSD_Fmt

409

Apple_Binary_

410

PList_Fmt

Apple_iChat_Fmt 411

OOUTLINE_Fmt 412

BZIP2_Fmt

413

Category 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353

Description

MIME Type

Corel Quattro Pro 9+ for Windows

application/quattro-pro

MIME HTML MHTML format (MHT)1

multipart/related

Microsoft Document Imaging Format

image/vnd.ms-modi

Microsoft Office Groove Format

application/vnd.groove-injector

Apple iWork Pages format application/vnd.apple.pages

Apple iWork Numbers format

application/vnd.apple.numbers

Apple iWork Keynote format

application/vnd.apple.keynote

Microsoft Windows Backup File

Microsoft Access 2007

application/msaccess

Microsoft Entourage Database Format

Mac Disk Copy Disk Image application/x-apple-diskimage File

AppleWorks (Claris Works) File

application/appleworks

Omni Outliner V3 File

Omni Outliner OPML File

Omni Graffle XML File

Adobe Photoshop Document

image/vnd.adobe.photoshop

Apple Binary Property List application/x-bplist format

Apple iChat format

OOutliner File

Bzip 2 Compressed File application/x-bzip2

IDOL KeyView (12.11)

Extension QPW

File Class adSPREADSHEET

Readers qpwsr

MHT, MHTML

adWORDPROCESSOR mhtsr

MDI

adRASTERIMAGE

GRV

adWORDPROCESSOR

PAGES NUMBERS

adWORDPROCESSOR iwwpsr

adSPREADSHEET

iwsssr

KEY

adPRESENTATION

kpIWPGrdr

BKF

adENCAPSULATION bkfsr

ACCDB

adDATABASE

mdbsr

adENCAPSULATION entsr

DMG, ISO, IMAGE adENCAPSULATION dmgsr

CWK

adWORDPROCESSOR stringssr

OO3 OPML GRAFFLE

adWORDPROCESSOR oo3sr adWORDPROCESSOR oo3sr adVECTORGRAPHIC kpGFLrdr

PSD, PSB

adRASTERIMAGE

psdsr

PLIST

adMISC

ICHAT OOUTLINE BZ2

adWORDPROCESSOR ichatsr adWORDPROCESSOR oo3sr adENCAPSULATION bzip2sr

Page 109 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

Format Name ISO_Fmt
DocuWorks_Fmt RealMedia_Fmt
AC3Audio_Fmt NEF_Fmt SolidWorks_Fmt

Number 414
415 416
417 418 419

Category 354
355 356
357 358 359

Description ISO-9660 CD Disc Image Format DocuWorks Format RealMedia Streaming Media AC3 Audio File Format Nero Encrypted File SolidWorks Format Files

MIME Type application/x-iso9660-image
application/vnd.fujixerox.docuworks application/vnd.rn-realmedia
audio/ac3

XFDL_Fmt

420

366

Apple_XML_PList_ 421

367

Fmt

OneNote_Fmt

422

368

IFilter_Fmt Dicom_Fmt

423

369

424

370

EnCase_Fmt

425

371

Scrap_Fmt

426

372

MS_Project_2007_ 427

373

Fmt

MS_Publisher_98_ 428

374

Fmt

Skype_Fmt

429

375

Hl7_Fmt

430

377

MS_OutlookOST_ 431

378

Fmt

Epub_Fmt

432

379

MS_OEDBX_Fmt 433

380

Extensible Forms Description Language
Apple XML Property List format
Microsoft OneNote Note Format
iFilter
Digital Imaging and Communications in Medicine (Dicom)
Expert Witness Compression Format (EnCase)
Shell Scrap Object File
Microsoft Project 2007

application/x-xfdl application/x-plist application/onenote application/dicom
application/vnd.ms-project

Microsoft Publisher from version 98

application/x-mspublisher

Skype Log File

Health level7 message

Microsoft Outlook Offline Folders File (OST)

application/vnd.ms-outlook-pst

Open Publication Structure application/epub+zip electronic publication

Microsoft Outlook Express DBX Message Database

IDOL KeyView (12.11)

Extension ISO

File Class adENCAPSULATION

Readers isosr

XDW RM, RA

adWORDPROCESSOR adMOVIE

AC3

adSOUND

NEF

adENCAPSULATION

SLDASM, SLDPRT, adVECTORGRAPHIC SLDDRW, SLDDRT

XFDL, XFD

adPRESENTATION

olesr kpXFDLrdr

PLIST

adMISC

ONE

adWORDPROCESSOR onesr

DCM

adWORDPROCESSOR

adRASTERIMAGE

dcmsr

E01, L01, LX01
SHS MPP PUB DBB HL7 OST EPUB DBX

adENCAPSULATION

encase2sr, encasesr

adENCAPSULATION adSCHEDULE

olesr mppsr

adDESKTOPPUBLSH mspubsr

adWORDPROCESSOR skypesr adWORDPROCESSOR hl7sr adENCAPSULATION pffsr

adWORDPROCESSOR epubsr

adENCAPSULATION dbxsr

Page 110 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

Format Name BB_Activ_Fmt DiskImage_Fmt Milestone_Fmt

Number 434 435 436

Category 381 382 383

Description BlackBerry Activation File Disk Image Milestone Document

MIME Type

E_Transcript_Fmt 437

384

PostScript_Font_ 438

385

Fmt

Ghost_DiskImage_ 439

386

Fmt

JPEG_2000_JP2_ 440

387

File_Fmt

Unicode_HTML_ 441

388

Fmt

CHM_Fmt

442

389

EMCMF_Fmt

443

390

MS_Access_2007_ 444

391

Tmpl_Fmt

Jungum_Fmt

445

392

JBIG2_Fmt

446

393

EFax_Fmt

447

394

AD1_Fmt

448

395

SketchUp_Fmt

449

396

GWFS_Email_Fmt 450

397

JNT_Fmt

451

398

Yahoo_yChat_Fmt 452

399

PaperPort_MAX_ 453

400

File_Fmt

RealLegal E-Transcript File
PostScript Type 1 Font

application/x-font

Ghost Disk Image File

JPEG-2000 JP2 File Format Syntax (ISO/IEC 15444-1)
Unicode HTML

image/jp2 text/html

Microsoft Compiled HTML application/x-chm Help

Documentum EMCMF format

Microsoft Access 2007 Template

Samsung Electronics

application/jungum

Jungum Global document

JBIG2 File Format

image/jbig2

eFax file

AD1 Evidence file

Google SketchUp

GroupWise FileSurf email

Windows Journal format

Yahoo! Messenger chat log

PaperPort MAX image file image/max

IDOL KeyView (12.11)

Extension
DAT
DMG
MLS, ML3, ML4, ML5, ML6, ML7, ML8, ML9, MLA
PTX

File Class

Readers

adWORDPROCESSOR

adENCAPSULATION

adRASTERIMAGE

adWORDPROCESSOR

PFB

adFONT

pfasr

GHO, GHS

adENCAPSULATION

JP2, JPF, J2K, JPWL, JPX, PGX

adRASTERIMAGE

jp2000sr, kpjp2000rdr

HTM, HTML

adWORDPROCESSOR unihtmsr

CHM

adENCAPSULATION chmsr

EMCMF

adENCAPSULATION msgsr

ACCDT

adDATABASE

GUL

adWORDPROCESSOR

JB2, JBIG2 EFX AD1 SKP GWFS JNT YCHAT

adRASTERIMAGE

kpJBIG2rdr

adRASTERIMAGE

adENCAPSULATION ad1sr

adVECTORGRAPHIC

adENCAPSULATION gwfssr

adWORDPROCESSOR

adWORDPROCESSOR

MAX

adRASTERIMAGE

Page 111 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

Format Name ARJ_Fmt
RPMSG_Fmt

Number 454
455

MAT_Fmt

456

SGY_Fmt

457

CDXA_MPEG_PS_ 458 Fmt

EVT_Fmt

459

EVTX_Fmt

460

MS_OutlookOLM_ 461 Fmt

WARC_Fmt

462

JAVACLASS_Fmt 463

VCF_Fmt

464

EDB_Fmt

465

ICS_Fmt

466

MS_Visio_2013_ 467 Fmt

Category 402 403
404 405 406 407 408 409 410 411 412 413
414 415

Description
ARJ (Archive by Robert Jung) file format
Microsoft Outlook Restricted Permission Message
MATLAB file format
SEG-Y Seismic Data format
MPEG-PS container with CDXA stream
Microsoft Windows NT Event Log
Microsoft Windows Vista Event Log
Microsoft Outlook for Macintosh format
Web ARChive
Java Class format
Microsoft Outlook vCard file format
Microsoft Exchange Server Database file format
Microsoft Outlook iCalendar file format
Microsoft Visio 2013

MIME Type application/arj application/x-microsoft-rpmsg-message application/x-matlab-data video/mpeg
application/warc application/x-java-class text/vcard
text/calendar application/vnd.visio

MS_Visio_2013_ 468

415

Macro_Fmt

ICHITARO_ Compr_Fmt

469

417

IWWP13_Fmt

470

418

IWSS13_Fmt

471

419

Microsoft Visio 2013 macro
ICHITARO Compressed format
Apple iWork 2013 Pages format
Apple iWork 2013 Numbers format

application/vnd.visio application/x-js-taro

Extension ARJ
RPMSG

File Class adENCAPSULATION

Readers multiarcsr

adENCAPSULATION rpmsgsr

MAT, FIG SGY, SEGY MPG EVT EVTX OLM WARC CLASS VCF EDB

adWORDPROCESSOR adWORDPROCESSOR adMOVIE adMISC adMISC adENCAPSULATION olmsr adENCAPSULATION adWORDPROCESSOR adWORDPROCESSOR vcfsr adENCAPSULATION

ICS, VCS

adENCAPSULATION icssr

VSDX, VSTX, VSSX
VSDM, VSTM, VSSM JTDC

adPRESENTATION adPRESENTATION

ActiveX components, kpVSDXrdr
kpVSDXrdr

adWORDPROCESSOR jtdsr

IWA, PAGES

adWORDPROCESSOR iwwp13sr

IWA, NUMBERS adSPREADSHEET

iwss13sr

IDOL KeyView (12.11)

Page 112 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

Format Name IWPG13_Fmt

Number 472

XZ_Fmt

473

Sony_WAVE64_ 474 Fmt

Conifer_

475

WAVPACK_Fmt

Xiph_OGG_

476

VORBIS_Fmt

MS_Visio_2013_ 477 Stencil_Fmt

MS_Visio_2013_ 478 Stencil_Macro_Fmt

MS_Visio_2013_ 479 Template_Fmt

MS_Visio_2013_ 480 Template_Macro_ Fmt

Borland_Reflex_2_ 481 Fmt

PKCS_12_Fmt

482

B1_Fmt

483

ISO_IEC_MPEG_ 484 4_Fmt

RAR5_Fmt

485

Unigraphics_NX_ 486 Fmt

PTC_Creo_Fmt

487

KML_Fmt

488

KMZ_Fmt

489

WML_Fmt

490

ODF_Formula_Fmt 491

Category 420 421 422 423 424 415 415 415 415
425 426 427 428 429 362 430 431 432 433 434

Description

MIME Type

Apple iWork 2013 Keynote format

XZ archive format

application/x-xz

Sony Wave64 format

audio/wav64

Conifer Wavpack format audio/x-wavpack

Xiph Ogg Vorbis format audio/ogg

MS Visio 2013 stencil format
MS Visio 2013 stencil Macro format
MS Visio 2013 template format
MS Visio 2013 template Macro format

application/vnd.visio application/vnd.visio application/vnd.visio application/vnd.visio

Borland Reflex 2 format

PKCS #12 (p12) format application/x-pkcs12

B1 format

application/x-b1

ISO/IEC MPEG-4 (ISO 14496) format

video/mp4

RAR5 Format

application/x-rar-compressed

Unigraphics (UG) NX CAD Format

PTC Creo CAD Format

Keyhole Markup Language application/vnd.google-earth.kml+xml

Zipped Keyhole Markup Language

application/vnd.google-earth.kmz

Wireless Markup Language

text/vnd.wap.wml

ODF Formula

application/vnd.oasis.opendocument.formula

Extension IWA, KEY XZ W64 WV OGG VSSX VSSM VSTX VSTM
R2D P12, PFX B1 MP4 RAR PRT ASM, PRT KML KMZ WML ODF

File Class adPRESENTATION
adENCAPSULATION adSOUND

Readers
kpIWPG13rdr, kpIWPGrdr
multiarcsr

adSOUND

adSOUND

adPRESENTATION

kpVSDXrdr

adPRESENTATION

kpVSDXrdr

adPRESENTATION

kpVSDXrdr

adPRESENTATION

kpVSDXrdr

adDATABASE

adWORDPROCESSOR

adENCAPSULATION b1sr

adMOVIE

mpeg4sr

adENCAPSULATION adVECTORGRAPHIC

multiarcsr kpUGrdr

adVECTORGRAPHIC adWORDPROCESSOR xmlsr adWORDPROCESSOR unzip

adWORDPROCESSOR xmlsr

adWORDPROCESSOR unzip

IDOL KeyView (12.11)

Page 113 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

Format Name SO_Text_Fmt

Number 492

Category 435

Description

MIME Type

Star Office 4,5 Writer Text application/vnd.stardivision.writer

SO_Spreadsheet_ 493

436

Fmt

SO_Presentation_ 494

437

Fmt

SO_Math_Fmt

495

438

STEP_Fmt

496

439

STL_Fmt

497

364

AppleScript_Fmt 498

440

Assembly_Fmt

499

441

C_Fmt

500

442

Csharp_Fmt

501

443

CPlusPlus_Fmt

502

444

Css_Fmt

503

445

Clojure_Fmt

504

446

CoffeeScript_Fmt 505

447

Lisp_Fmt

506

448

Dockerfile_Fmt

507

449

Eiffel_Fmt

508

450

Erlang_Fmt

509

451

Fsharp_Fmt

510

452

Fortran_Fmt

511

453

Go_Fmt

512

454

Groovy_Fmt

513

455

Haskell_Fmt

514

456

Ini_Fmt

515

457

Star Office 4,5 Calc Spreadsheet

application/vnd.stardivision.calc

Star Office 4,5 Impress Presentation

application/vnd.stardivision.draw

Star Office 4,5 Math

application/vnd.stardivision.math

ISO 10303-21 STEP format

3D Systems Stereo Lithography STL ASCII format

AppleScript Source Code3 text/x-applescript

Assembly Code3

text/x-assembly

C Source Code3

text/x-c

C# Source Code3

text/x-csharp

C++ Source Code3

text/x-c++

Cascading Style Sheet3 text/css

Clojure Source Code3

text/x-clojure

CoffeeScript Source Code3

text/x-coffeescript

Common Lisp Source Code3 Dockerfile3 Eiffel Source Code3 Erlang Source Code3 F# Source Code3 Fortran Source Code3 Go Source Code3 Groovy Source Code3 Haskell Source Code3 Initialization (INI) file3

text/x-common-lisp
text/x-dockerfile text/x-eiffel text/x-erlang text/x-fsharp text/x-fortran text/x-go text/x-groovy text/x-haskell text/x-ini

IDOL KeyView (12.11)

Extension SDW, SGL, VOR
SDC

File Class

Readers

adWORDPROCESSOR kpsdwrdr, starwsr

adSPREADSHEET

starcsr

SDD, SDA

adPRESENTATION

kpsddrdr

SMF

adMISC adMISC

olesr

adCAD

APPLESCRIPT

adSOURCECODE

afsr

adSOURCECODE

afsr

C, H

adSOURCECODE

afsr

CS

adSOURCECODE

afsr

CPP, HPP

adSOURCECODE

afsr

CSS

adSOURCECODE

afsr

CLJ, CL2

adSOURCECODE

afsr

COFFEE, CAKE

adSOURCECODE

afsr

EL

adSOURCECODE

afsr

E ERL, ES FS F GO GRT, GVY HS

adSOURCECODE

afsr

adSOURCECODE

afsr

adSOURCECODE

afsr

adSOURCECODE

afsr

adSOURCECODE

afsr

adSOURCECODE

afsr

adSOURCECODE

afsr

adSOURCECODE

afsr

adSOURCECODE

afsr

Page 114 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

Format Name Java_Fmt Javascript_Fmt Lua_Fmt Makefile_Fmt Mathematica_Fmt
ObjC_Fmt ObjCpp_Fmt
ObjJ_Fmt PHP_Fmt PLSQL_Fmt Pascal_Fmt Perl_Fmt Powershell_Fmt Prolog_Fmt Puppet_Fmt Python_Fmt R_Fmt Ruby_Fmt Rust_Fmt Scala_Fmt Shell_Fmt Smalltalk_Fmt ML_Fmt
Swift_Fmt Tcl_Fmt
Tex_Fmt

Number 516 517 518 519 520
521 522
523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538
539 540
541

Category 458 459 460 461 462
464 465
466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481
482 483
484

Description Java Source Code3 Javascript Source Code3 Lua Source Code3 Makefile3

MIME Type text/x-java-source text/javascript text/x-lua text/x-makefile

Wolfram Mathematica Source Code3

text/x-mathematica

Objective-C Source Code3 text/x-objc

Objective-C++ Source Code3

text/x-objectivec++

Objective-J Source Code3 text/x-objectivej

PHP Source Code3

text/x-php

PLSQL Source Code3

text/x-plsql

Pascal Source Code3

text/x-pascal

Perl Source Code3

text/x-perl

PowerShell Source Code3 text/x-powershell

Prolog Source Code3

text/x-prolog

Puppet Source Code3

text/x-puppet

Python Source Code3

text/x-python

R Source Code3

text/x-rsrc

Ruby Source Code3

text/x-ruby

Rust Source Code3

text/x-rust

Scala Source Code3

text/x-scala

Shell Script3

application/x-sh

Smalltalk Source Code3 text/x-stsrc

Standard ML Source Code3
Swift Source Code3

text/x-ml text/x-swift

Tool Command Language (Tcl) Source Code3
TeX Typesetting File3

text/x-tcl application/x-tex

IDOL KeyView (12.11)

Extension JAVA JS LUA MAKE M
J PHP
PASCAL PL PS1 PRO, PROLOG PP PY R RB RS SC SH ST ML
SWIFT TM

File Class adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE
adSOURCECODE adSOURCECODE
adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE
adSOURCECODE adSOURCECODE
adSOURCECODE

Readers afsr afsr afsr afsr afsr
afsr afsr
afsr afsr afsr afsr afsr afsr afsr afsr afsr afsr afsr afsr afsr afsr afsr afsr
afsr afsr
afsr

Page 115 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

Format Name TypeScript_Fmt Verilog_Fmt YAML_Fmt Wiki_Fmt MS_Word_2007_ Flat_XML_Fmt Matroska_Fmt SVG_Fmt
Shapefile_Fmt Flash_Video_Fmt Embedded_ OpenType_Fmt Web_Open_Font_ Fmt OpenType_Fmt MNG_Fmt
JNG_Fmt AppleScript_ Binary_Fmt Maya_Binary_Fmt Jupiter_ Tesselation_Fmt OGV_Fmt OGG_Container_ Fmt GNU_Message_ Catalog_Fmt Windows_ Shortcut_Fmt Apple_ Typedstream_Fmt

Number 542 543 544 545 546
547 548
549 550 551
552
553 554
555 556
557 558
559 560
561
562
563

Category 485 486 487 488 301
489 490
491 492 493
494
495 496
497 498
499 363
500 501
502
503
504

Description TypeScript Source Code3 Verilog Source Code3 YAML File3

MIME Type text/x-typescript text/x-verilog text/x-yaml

MediaWiki File

text/x-mediawiki

Microsoft Word 2007 XML text/xml - Flat xml

Matroska video File

video/x-matroska

Scalable Vector Graphics image/svg+xml image

Shapefile

application/x-shapefile

Flash video File

video/x-flv

Embedded OpenType font application/vnd.ms-fontobject

Web Open Font Format font/woff

OpenType Font

font/otf

Multiple-image Network Graphics

video/x-mng

JPEG Network Graphics image/x-jng

AppleScript Binary Source Code

Autodesk Maya binary file

UGS Jupiter Tesselation file

Ogg Theora Video format video/ogg

General Ogg Container format

application/ogg

GNU Message Catalog format

Windows shortcut file

application/x-ms-shortcut

Apple/NeXT typedstream data format

IDOL KeyView (12.11)

Extension TS V YML
XML
MKV SVG
SHP, SHX FLV EOT
WOFF, WOFF2
OTF MNG
JNG SCPT
MB JT
OGV OGG
MO
LNK

File Class

Readers

adSOURCECODE

afsr

adSOURCECODE

afsr

adSOURCECODE

afsr

adWORDPROCESSOR afsr

adWORDPROCESSOR mwxsr

adMOVIE adVECTORGRAPHIC

xmlsr

adGIS adMOVIE adFONT

adFONT

adFONT adANIMATION

adRASTERIMAGE adSOURCECODE

adCAD adCAD

adMOVIE adMISC

adMISC

adMISC

adMISC

Page 116 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

Format Name

Number

XCF_Fmt

564

PaintShop_Pro_ 565 Fmt

SQLite_Database_ 566 Fmt

MySQL_Table_Fmt 567

Microsoft_

568

Program_DB_Fmt

OpenEXR_Fmt

569

XMV_Fmt

570

AMV_Fmt

571

NIFF_Fmt

572

CuBase_Fmt

573

SoundFont_Fmt

574

WebP_Fmt

575

ICC_Fmt

576

PCF_Fmt

577

WebM_Fmt

578

AMFF_Fmt

579

ANBM_Fmt

580

ANIM_Fmt

581

DEEP_Fmt

582

FAXX_Fmt

583

ICON_Fmt

584

ILBM_Fmt

585

LWOB_Fmt

586

MAUD_Fmt

587

Category 505 506
507
508 509
510 511 512 513
514 515 516 517
518
519 520 521 522
523 524 525 526 527 528

Description GIMP XCF image PaintShop Pro image

MIME Type image/x-xcf

SQLite database format application/x-sqlite3

MySQL table definition file

Microsoft Program Database format

OpenEXR image format

4X Movie File

AMV video file

Notation Interchange File Format

Steinberg CuBase file

SoundFont file

WebP image

image/webp

International Color Consortium files

application/vnd.iccprofile

X11 Portable Compiled Font file

application/x-font-pcf

WebM video file

video/webm

Amiga Metafile

IFF Animated Bitmap

IFF Amiga animated raster graphics format

IFF-DEEP TVPaint image

IFF-FAXX Facsimile image

IFF Glow Icon image

Interleaved BitMap image

LightWave Object format

IFF-MAUD MacroSystem audio format

IDOL KeyView (12.11)

Extension XCF PSP, PSPIMAGE

File Class adRASTERIMAGE adRASTERIMAGE

Readers

QHC

adDATABASE

FRM PDB

adDATABASE adDATABASE

EXR 4XM AMV NIF

adRASTERIMAGE adMOVIE adMOVIE adSOUND

WEBP ICC, ICM

adSOUND adSOUND adRASTERIMAGE adMISC

PCF

adFONT

WEBM AMF

adMOVIE adVECTORGRAPHIC adRASTERIMAGE adRASTERIMAGE

DEEP
IFF LWOB

adRASTERIMAGE adRASTERIMAGE adRASTERIMAGE adRASTERIMAGE adMISC adSOUND

Page 117 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

Format Name PBM_Fmt TDDD_Fmt
DjVu_Fmt InDesign_Fmt Calamus_Fmt
Adaptive_ MultiRate_Fmt FLAC_Fmt
Ogg_FLAC_Fmt
SAS7BDAT_Fmt
Design_Web_ Format_Fmt Adobe_Flash_ Audio_Book_Fmt Adobe_Flash_ Audio_Fmt Adobe_Flash_ Protected_Video_ Fmt Adobe_Flash_ Video_Fmt Audible_ Audiobook_Fmt Canon_Camera_ Fmt Canon_Raw_Fmt Casio_Camera_ Fmt Convergent_ Design_Fmt

Number 588 589 590 591 592 593 594 595 596 597 598 599 600
601 602 603 604 605 606

Category 529 530 531 532 533 534 535 536 537 538 539 540 541
542 543 544 545 546 547

Description

MIME Type

IFF Planar BitMap

IFF TDDD and Imagine Object animation format

AT&T DjVu format

image/vnd.djvu

Adobe InDesign document application/x-indesign

Calamus Desktop Publishing

Adaptive Multi-Rate audio audio/amr format

Free Lossless Audio Codec format

audio/flac

Ogg Container FLAC audio format

SAS7BDAT database storage format

Autodesk Design Web Format

model/vnd.dwf

Adobe Flash Player audio audio/mp4 book

Adobe Flash Player audio audio/mp4

Adobe Flash Player protected video

video/mp4

Adobe Flash Player video video/x-f4v

Audible Enhanced Audiobook
Canon Digital Camera image
Canon Raw image
Casio Digital Camera image
Convergent Design file

audio/vnd.audible.aax

IDOL KeyView (12.11)

Extension TDD DJVU INDD
AMR FLAC OGG SAS7BDAT DWF F4B F4A F4P
F4V AAX
CR3

File Class adRASTERIMAGE adRASTERIMAGE

Readers

adWORDPROCESSOR adDESKTOPPUBLSH adDESKTOPPUBLSH

adSOUND

adSOUND

adSOUND

adDATABASE

sassr

adCAD

adSOUND

mpeg4sr

adSOUND

mpeg4sr

adMOVIE

mpeg4sr

adMOVIE adSOUND adRASTERIMAGE adRASTERIMAGE adRASTERIMAGE adRASTERIMAGE

mpeg4sr mpeg4sr

Page 118 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

Format Name

Number

DMB_MAF_Audio_ 607 Fmt

DMB_MAF_Video_ 608 Fmt

DMP_Content_Fmt 609

DVB_Fmt

610

Dirac_Wavelet_

611

Compression_Fmt

HEICS_Image_

612

Sequence_Fmt

HEIC_Image_Fmt 613

HEIFS_Image_

614

Sequence_Fmt

HEIF_Image_Fmt 615

ISMACryp_Fmt

616

ISO_3GPP2_Fmt 617

ISO_3GPP_Fmt 618

ISO_JPEG2000_ 619 JP2_Fmt

ISO_JPEG2000_ 620 JPM_Fmt

ISO_JPEG2000_ 621 JPX_Fmt

ISO_QuickTime_ 622 Fmt

KDDI_Video_Fmt 623

MAF_Photo_

624

Player_Fmt

MPEG4_AVC_Fmt 625

Category 548 549 550 551 552 553
554 555 556 557 558 559 560 561 562 563 564 565 566

Description
DMB MAF audio
DMB MAF video
Digital Media Project Content Format
Digital Video Broadcast format
ISO-BMFF Dirac Wavelet compression
High Efficiency Image Format HEVC image sequence
High Efficiency Image Format HEVC image
High Efficiency Image Format image sequence
High Efficiency Image Format image
ISMACryp 2.0 Encrypted format
3GPP2 video file
3GPP video file
ISO-BMFF JPEG 2000 image
ISO-BMFF JPEG 2000 compound image
ISO-BMFF JPEG 2000 with extensions
Apple ISO-BMFF QuickTime video
KDDI Video file
MAF Photo Player
ISO-BMFF MPEG-4 with AVC extension

MIME Type
video/vnd.dvb.file
image/heic-sequence image/heic image/heif-sequence image/heif
video/3gpp2 video/3gpp image/jp2 image/jpm image/jpx video/quicktime video/3gpp2 video/mp4

IDOL KeyView (12.11)

Extension
DVB
HEICS HEIC HEIFS HEIF
3G2 3GP JP2 JPM JPX QT, MOV

File Class adSOUND adMOVIE adMISC adMOVIE adMISC adRASTERIMAGE

Readers

adRASTERIMAGE

adRASTERIMAGE

adRASTERIMAGE

adENCAPSULATION

adMOVIE adMOVIE adRASTERIMAGE
adRASTERIMAGE
adRASTERIMAGE
adMOVIE

mpeg4sr
mpeg4sr
jp2000sr, kpjp2000rdr
jp2000sr, kpjp2000rdr
jp2000sr, kpjp2000rdr
MCI

adMOVIE adMISC

mpeg4sr

adMOVIE

mpeg4sr

Page 119 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

Format Name

Number

MPEG4_M4A_Fmt 626

MPEG4_M4B_Fmt 627

MPEG4_M4P_Fmt 628

MPEG4_M4V_Fmt 629

MPEG4_Sony_

630

PSP_Fmt

MPEG_21_Fmt

631

Mobile_

632

QuickTime_Fmt

Motion_JPEG_

633

2000_Fmt

NTT_MPEG4_Fmt 634

Nero_MPEG4_

635

AVC_Profile

Nero_MPEG4_

636

Audio_Fmt

Nero_MPEG4_

637

Profile

OMA_DRM_Fmt 638

Panasonic_

639

Camera_Fmt

Ross_Video_Fmt 640

SDA_Video_Fmt 641

Samsung_

642

Stereoscopic_Fmt

Sony_XAVC_Fmt 643

JPEG_2000_PGX_ 644 Fmt

Apple_Desktop_ 645

Category 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586

Description
Apple MPEG-4 Part 14 audio
Apple MPEG-4 Part 14 audio book
Apple MPEG-4 Part 14 protected audio
Apple MPEG-4 Part 14 video
Sony PSP MPEG-4

MIME Type audio/x-m4a audio/mp4 audio/mp4 video/x-m4v audio/mp4

MPEG-21 Mobile QuickTime video

audio/mp4 video/quicktime

Motion JPEG 2000

video/mj2

NTT MPEG-4
Nero MPEG-4 profile with AVC extension
Nero AAC audio

video/mp4 video/mp4
audio/mp4

Nero MPEG-4 profile

video/mp4

OMA DRM (ISOBMFF) Format
Panasonic Digital Camera image
Ross video
SDA SD Memory Card video
Samsung stereoscopic stream
Sony XAVC video
JPEG 2000 PGX Verification Model image
Apple Desktop Services

IDOL KeyView (12.11)

Extension M4A M4B M4P M4V MP4 MQV MJ2, MJP2
PGX DS_Store

File Class adSOUND adSOUND adSOUND adMOVIE adSOUND adMISC adMOVIE adMOVIE adMOVIE adMOVIE adSOUND adMOVIE adMISC adRASTERIMAGE adMOVIE adMOVIE adMISC adMOVIE adRASTERIMAGE adMISC

Readers mpeg4sr mpeg4sr mpeg4sr mpeg4sr mpeg4sr mpeg4sr MCI jp2000sr, kpjp2000rdr mpeg4sr
mpeg4sr
mpeg4sr jp2000sr, kpjp2000rdr

Page 120 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

Format Name Services_Store_ Fmt Core_Audio_Fmt VICAR_Fmt FITS_Fmt

Number
646 647 648

DIF_Fmt

649

MPEG_Transport_ 650 Stream_Fmt

MPEG_Sequence_ 651 Fmt

Ogg_OGM_Fmt

652

Ogg_Speex_Fmt 653

Ogg_Opus_Fmt

654

Musepack_Audio_ 655 Fmt

ART_Image_Fmt 656

Vivo_Fmt

657

QCP_Fmt

658

CSP_Codec_Fmt 659

TwinVQ_Fmt

660

Interplay_MVE_

661

Fmt

IRIX_Moviemaker_ 662 Fmt

Sega_FILM_Fmt 663

SMAF_Fmt

664

NIST_SPHERE_ 665 Fmt
Chinese_AVS_Fmt 666

Category
587 588 589
590
591
592
593 594 595 596
597 598 599 600
601 602
603
604 605
606
607

Description Store file

MIME Type

Apple Core Audio Format
VICAR image format
Flexible Image Transport System FITS image
Digital Interface Format (DIF) DV video
MPEG Transport Stream data
MPEG Sequence format

audio/x-caf image/fits
video/MP2T video/mpeg

Ogg OGM video format Ogg Speex audio format Ogg Opus audio format Musepack audio format

video/ogg audio/ogg audio/ogg audio/x-musepack

ART image format

Vivo audio-video format video/vnd.vivo

Qualcomm QCP audio

audio/qcelp

Creative Signal Processor codec

NTT TwinVQ audio format

Interplay MVE video format

IRIX Silicon Graphics moviemaker video file

video/x-sgi-movie

Sega FILM video format

Synthetic music Mobile Application Format

application/vnd.smaf

NIST SPeech HEader REsources format

Chinese AVS video format

IDOL KeyView (12.11)

Extension

File Class

Readers

CAF IMG FIT

adSOUND adRASTERIMAGE adRASTERIMAGE

DV

adMOVIE

TS, M2T, M2TS, MTS

adMISC adMISC

OGM SPX OGG MPC

adMOVIE adSOUND adSOUND adSOUND

ART VIV QCP CSP

adRASTERIMAGE adMOVIE adSOUND adMISC

VQF MVE

adSOUND adMOVIE

MV, MOVIE

adMOVIE

CPK, CAK MMF

adMOVIE adSOUND

NIST

adSOUND

adMOVIE

Page 121 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

Format Name VQA_Fmt

Number 667

YAFA_Fmt

668

Origin_MVE_Fmt 669

BBC_Dirac_Fmt 670 Maya_ASCII_Fmt 671

RenderMan_Fmt 672

NOFF_Binary_Fmt 673

VTK_ASCII_Fmt 674

VTK_Binary_Fmt 675

Wolfram_CDF_Fmt 676

Wolfram_

677

Notebook_Fmt

HDF4_Fmt

678

HDF5_Fmt

679

ARMovie_Fmt

680

Windows_TV_

681

DVR_Fmt

InstallShield_Z_

682

Fmt

MS_DirectDraw_ 683 Surface_Fmt

Bink_Fmt

684

Category 608
609 610 611 612 613 614 615 616 617
618 619 620 621 622 623 624 625

Description

MIME Type

Westwood Studios Vector Quantized Animation video file

Wildfire YAFA animation

Origin Wing Commander III MVE movie format

BBC Dirac video format video/x-dirac

Autodesk Maya ASCII file format

Pixar RenderMan Interface Bytestream file

NOFF 3D Object File Format

Visualization Toolkit VTK ASCII format

Visualization Toolkit VTK Binary format

Wolfram Mathematica Computable Document Format

application/cdf

Wolfram Mathematica Notebook Format

Hierarchical Data Format application/x-hdf HDF4

Hierarchical Data Format application/x-hdf HDF5

Acorn RISC ARMovie video format

Windows Television DVR format

InstallShield Z archive format

application/x-compress

Microsoft DirectDraw Surface container format

Bink audio-video container format

IDOL KeyView (12.11)

Extension VQA
YAFA MVE DRC MA RIB NOFF VTK VTK CDF
NB HDF, H4 HDF, H5 RPL WTV Z DDS BIK, BK2

File Class adANIMATION

Readers

adANIMATION adMOVIE adMOVIE adCAD adVECTORGRAPHIC adVECTORGRAPHIC adVECTORGRAPHIC adVECTORGRAPHIC adMISC

adMISC adMISC adMISC adMOVIE adMOVIE adENCAPSULATION adENCAPSULATION adMOVIE

Page 122 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

Format Name LZMA_Fmt

Number 685

True_Audio_Fmt 686

Keepass_Fmt

687

RPM_Fmt

688

Printer_Font_

689

Metrics_Fmt

Adobe_Font_

690

Metrics_Fmt

Printer_Font_

691

ASCII_Fmt

Netware_

692

Loadable_Module_

Fmt

TCPdump_pcap_ 693 Fmt

Multiple_Master_ 694 Font_Fmt

TrueType_Font_ 695 Collection_Fmt

Shapefile_Spatial_ 696 Index_Fmt

Java_Key_Store_ 697 Fmt

Java_JCE_Key_ 698 Store_Fmt

Quark_Xpress_

699

Intel_Fmt

Windows_Imaging_ 700 Fmt

VMware_Virtual_ 701 Disk_Fmt

XPConnect_

702

Typelib_Fmt

Category 626 627 628 629 630 631 632 633
634 635 636 637 638 639 640 641 642 643

Description

MIME Type

LZMA compressed data format

application/x-lzma

True Audio format

audio/x-tta

Keepass Password file

RPM Package Manager file

application/x-rpm

Adobe Printer Font Metrics application/x-font-printer-metric format

Adobe Font Metrics ASCII application/x-font-adobe-metric format

Adobe Printer Font ASCII application/x-font-type1 format

Netware Loadable Module format

TCPdump packet stream application/vnd.tcpdump.pcap capture savefile format

Adobe Multiple master font format

TrueType font collection format

application/x-font-ttf

Shapefile binary spatial index format

application/x-shapefile

Java Key Store format

application/x-java-keystore

Java JCE Key Store format application/x-java-jce-keystore

QuarkXPress Intel format application/vnd.quark.quarkxpress

Microsoft Windows Imaging Format WIM
VMware Virtual Disk Format 5.0
XPConnect Typelib Format

application/x-vmdk

IDOL KeyView (12.11)

Extension LZMA TTA KDB, KDBX RPM PFM AFM PFA NLM
PCAP MMM TTC SBX, SBN KS
QXB WIM VMDK XPT

File Class adENCAPSULATION

Readers

adSOUND adMISC adENCAPSULATION

adFONT

adFONT

afmsr

adFONT

pfasr

adMISC

adMISC adFONT adFONT adGIS adMISC adMISC adDESKTOPPUBLSH adENCAPSULATION adMISC adMISC

Page 123 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

Format Name
MS_DOS_ Compression_Fmt

Number 703

DLS_Fmt

704

MS_Windows_

705

Registry_Fmt

Microsoft_Help_2_ 706 Fmt

Qt_Translation_

707

Fmt

PEM_SSL_

708

Certificate_Fmt

PostScript_Printer_ 709 Description_Fmt

Speedo_Font_Fmt 710

InstallShield_

711

Cabinet_Fmt

InstallShield_

712

Uninstall_Fmt

MS_OEDBX_

713

Folder_Fmt

LabVIEW_Fmt

714

SAP_Archive_

715

SAR_Fmt

Netscape_

716

Address_Book_Fmt

Universal_3D_Fmt 717

Open_Inventor_

718

ASCII_Fmt

Open_Inventor_

719

Binary_Fmt

X_Window_Dump_ 720 Fmt

Git_Packfile_Fmt 721

Category 644
645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662

Description
Microsoft MS-DOS installation compression (SZDD, KWAJ)
DLS Downloadable Sounds format
Microsoft Windows Registry format
Microsoft Help 2.0 format
Qt binary translation file format
PEM-encoded SSL certificate
Adobe PostScript Printer Description file
Speedo Font format
InstallShield Cabinet Archive format
InstallShield Uninstall format
Outlook Express DBX folder database format
National Instruments LabVIEW file format
SAP compression archive SAR format
Netscape Address Book format
Universal 3D file format
Open Inventor ASCII format
Open Inventor Binary format
X Window Dump image
Git Packfile format

MIME Type application/x-ms-compress application/x-ms-reader application/pkix-cert application/vnd.cups-ppd
image/x-xwindowdump

IDOL KeyView (12.11)

Extension EX_

File Class adENCAPSULATION

Readers

DLS

adSOUND

adMISC

HXD, HXW, HXH adENCAPSULATION

QM

adMISC

CRT, PEM, CER, KEY
PPD

adENCAPSULATION adMISC

SPD CAB, HDR

adFONT adENCAPSULATION

ISU

adENCAPSULATION

DBX

adENCAPSULATION

VI

adMISC

SAR

adENCAPSULATION

NAB

adMISC

U3D IV

adVECTORGRAPHIC adVECTORGRAPHIC

IV

adVECTORGRAPHIC

XWD

adRASTERIMAGE

PACK

adWORDPROCESSOR gitpacksr

Page 124 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

Format Name

Number

Xara_Xar_Fmt

722

Internet_Archive_ 723 ARC_Fmt

Applix_Builder_Fmt 724

Applix_Bitmap_Fmt 725

PEM_RSA_

726

Private_Key_Fmt

MIFF_Fmt

727

Subversion_Dump_ 728 Fmt

Virtual_Hard_Disk_ 729 Fmt

Direct_Access_

730

Archive_Fmt

Debian_Binary_

731

Fmt

XUL_Fastload_Fmt 732

Nastran_OP2_Fmt 733

Binary_Logging_ 734 Fmt

Measurement_

735

Data_Fmt

Abaqus_ODB_Fmt 736

Open_Diagnostic_ 737 Data_Exchange_ Fmt

Vector_ASCII_Fmt 738

LSDYNA_State_ 739 Database_Fmt
LSDYNA_Binary_ 740 Output_Fmt
MS_Power_BI_Fmt 741

Category 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678
679 680 681 682

Description

MIME Type

Xara X Xar image format application/vnd.xara

Internet Archive ARC format

application/x-ia-arc

Applix Builder format

Applix Bitmap image format

PEM-encoded RSA private key

Magick Image File Format

Subversion Dump format

Microsoft Virtual Hard Disk application/x-vhd format

PowerISO Direct Access Archive format

Debian binary package format

application/x-debian-package

Mozilla XUL Fastload format

Nastran OP2 format

CAD Binary Logging Format

CAD Measurement Data Format

Abaqus ODB Format

Vector Open Diagnostic Data Exchange format

Vector CAD ASCII ASC format
LS-DYNA State Database format
LS-DYNA binary output (binout) format
Microsoft Power BI

IDOL KeyView (12.11)

Extension XAR ARC AB IM PEM MIF, MIFF
VHD DAA DEB MFL OP2 BLF MDF ODB ODX
ASC
PBIX

File Class adVECTORGRAPHIC adENCAPSULATION

Readers

adMISC adRASTERIMAGE

adENCAPSULATION

adRASTERIMAGE adENCAPSULATION

adENCAPSULATION

adENCAPSULATION

adENCAPSULATION

adMISC

adCAD adCAD

adCAD

adCAD adCAD

xmlsr

adCAD adCAD adCAD adANALYTICS

pbixsr

Page 125 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

Format Name
Tableau_ Workbook_Fmt Tableau_ Packaged_ Workbook_Fmt Tableau_Extract_ Fmt Tableau_Data_ Source_Fmt Tableau_ Packaged_Data_ Source_Fmt Tableau_ Preferences_Fmt Tableau_Map_ Source_Fmt ABAP_Fmt AMPL_Fmt APL_Fmt ASN1_Fmt ATS_Fmt Agda_Fmt Alloy_Fmt Apex_Fmt Arduino_Fmt AsciiDoc_Fmt AspectJ_Fmt Awk_Fmt BlitzMax_Fmt Bluespec_Fmt Brainfuck_Fmt

Number 742

Category 683

Description

MIME Type

Desktop format

Tableau Workbook format

743

684

Tableau Packaged Workbook format

744

685

Tableau Extract format

745

686

746

687

Tableau Data Source format
Tableau Packaged Data Source format

747

688

748

689

749

690

750

691

751

692

752

693

753

694

754

695

755

696

756

697

757

698

758

699

759

700

760

701

761

702

762

703

763

704

Tableau Preferences format
Tableau Map Source format ABAP Source Code4 AMPL Source Code4 APL Source Code4 ASN.1 Source Code4 ATS Source Code4 Agda Source Code4 Alloy Source Code4 Apex Source Code4 Arduino Source Code4 AsciiDoc Source Code4 AspectJ Source Code4 Awk Source Code4 BlitzMax Source Code4 Bluespec Source Code4 Brainfuck Source Code4

text/x-abap
text/x-agda text/x-alloy text/x-arduino text/x-asciidoc text/x-aspectj text/x-awk text/x-bmx text/x-brainfuck

IDOL KeyView (12.11)

Extension
TWB
TWBX
TDE
TDS
TDSX
TPS
TMS
ABAP AMPL APL ASN
AGDA ALS CLS INO ASC AJ AWK BMX BSV B, BF

File Class adANALYTICS adANALYTICS

Readers xmlsr unzip

adANALYTICS adANALYTICS adANALYTICS

xmlsr unzip

adANALYTICS
adANALYTICS
adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE

xmlsr
xmlsr
afsr afsr afsr afsr afsr afsr afsr afsr afsr afsr afsr afsr afsr afsr afsr

Page 126 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

Format Name Brightscript_Fmt CLIPS_Fmt CMake_Fmt COBOL_Fmt

Number 764 765 766 767

Category 705 706 707 708

Description

MIME Type

Brightscript Source Code4

CLIPS Source Code4

CMake Source Code4

text/x-cmake

COBOL Source Code4

text/x-cobol

CWeb_Fmt

768

709

CartoCSS_Fmt

769

710

Ceylon_Fmt

770

711

Chapel_Fmt

771

712

Clarion_Fmt

772

713

Clean_Fmt

773

714

Component_ Pascal_Fmt

774

715

Cool_Fmt

775

716

Coq_Fmt

776

717

Creole_Fmt

777

718

Crystal_Fmt

778

719

Csound_Fmt

779

720

Csound_

780

721

Document_Fmt

Cuda_Fmt

781

722

D_Fmt

782

723

DIGITAL_

783

724

Command_

Language_Fmt

DTrace_Fmt

784

725

Dart_Fmt

785

726

E_Fmt

786

727

ECL_Fmt

787

728

Elm_Fmt

788

729

Emacs_Lisp_Fmt 789

730

CWeb Source Code4 CartoCSS Source Code4 Ceylon Source Code4 Chapel Source Code4 Clarion Source Code4 Clean Source Code4

text/x-ceylon

Component Pascal Source text/x-component-pascal Code4

Cool Source Code4

Coq Source Code4

text/x-coq

Creole Source Code4

Crystal Source Code4

Csound Source Code4

Csound Document Source Code4

Cuda Source Code4

text/x-cuda

D Source Code4

text/x-d

DIGITAL Command Language Source Code4

DTrace Source Code4

Dart Source Code4

text/x-dart

E Source Code4

ECL Source Code4

application/x-ecl

Elm Source Code4

text/x-elm

Emacs Lisp Source Code4 text/x-emacs-lisp

IDOL KeyView (12.11)

Extension BRS CLP CMAKE CBL, CCP, COB, CPY W MSS CEYLON CHPL CLW DCL, ICL CP

File Class adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE
adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE

CL V CREOLE CR ORC CSD

adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE

CU DCL, ICL COM

adSOURCECODE adSOURCECODE adSOURCECODE

Readers afsr afsr afsr afsr
afsr afsr afsr afsr afsr afsr afsr
afsr afsr afsr afsr afsr afsr
afsr afsr afsr

D DART E ECL ELM EL

adSOURCECODE

afsr

adSOURCECODE

afsr

adSOURCECODE

afsr

adSOURCECODE

afsr

adSOURCECODE

afsr

adSOURCECODE

afsr

Page 127 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

Format Name EmberScript_Fmt
Fantom_Fmt Forth_Fmt FreeMarker_Fmt Frege_Fmt G_code_Fmt GAMS_Fmt GAP_Fmt GDScript_Fmt GLSL_Fmt Game_Maker_ Language_Fmt Gnuplot_Fmt Golo_Fmt Gosu_Fmt Gradle_Fmt GraphQL_Fmt Graphviz_DOT_ Fmt HLSL_Fmt Hack_Fmt Haml_Fmt Handlebars_Fmt Hy_Fmt IDL_Fmt IGOR_Pro_Fmt Idris_Fmt Inform_7_Fmt Ioke_Fmt

Number 790
791 792 793 794 795 796 797 798 799 800
801 802 803 804 805 806
807 808 809 810 811 812 813 814 815 816

Category 731
732 733 734 735 736 737 738 739 740 741
742 743 744 745 746 747
748 749 750 751 752 753 754 755 756 757

Description

MIME Type

EmberScript Source Code4

Fantom Source Code4

application/x-fantom

Forth Source Code4

text/x-forth

FreeMarker Source Code4

Frege Source Code4

G-code Source Code4

GAMS Source Code4

GAP Source Code4

GDScript Source Code4

GLSL Source Code4

text/x-glslsrc

Game Maker Language Source Code4 Gnuplot Source Code4 Golo Source Code4 Gosu Source Code4 Gradle Source Code4 GraphQL Source Code4

text/x-gnuplot text/x-gosu

Graphviz (DOT) Source Code4

HLSL Source Code4

Hack Source Code4

Haml Source Code4

text/x-haml

Handlebars Source Code4

Hy Source Code4

text/x-hy

IDL Source Code4

text/x-idl

IGOR Pro Source Code4 text/ipf

Idris Source Code4

text/x-idris

Inform 7 Source Code4

Ioke Source Code4

text/x-iokesrc

IDOL KeyView (12.11)

Extension EM
FAN FOR, FORTH FTL FR G GMS
GD GLSL GML
GNU, GP GOLO GS GRADLE GRAPHQL DOT
HLSL
HAML HBS HY PRO IPF IDR I7X IK

File Class adSOURCECODE
adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE
adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE
adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE

Readers afsr
afsr afsr afsr afsr afsr afsr afsr afsr afsr afsr
afsr afsr afsr afsr afsr afsr
afsr afsr afsr afsr afsr afsr afsr afsr afsr afsr

Page 128 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

Format Name

Number

Isabelle_Fmt

817

J_Fmt

818

JSONiq_Fmt

819

JSX_Fmt

820

Jasmin_Fmt

821

Jolie_Fmt

822

Julia_Fmt

823

KiCad_Layout_Fmt 824

KiCad_Schematic_ 825 Fmt

Kotlin_Fmt

826

LFE_Fmt

827

LOLCODE_Fmt

828

Lasso_Fmt

829

Limbo_Fmt

830

LiveScript_Fmt

831

M_Fmt

832

MAXScript_Fmt

833

Markdown_Fmt

834

Matlab_Fmt

835

Max_Code_Fmt

836

Mercury_Fmt

837

Modelica_Fmt

838

Modula_2_Fmt

839

Monkey_Fmt

840

Moocode_Fmt

841

NL_Fmt

842

NSIS_Fmt

843

NetLogo_Fmt

844

Category 758 759 760 761 762 763 764 765
766
767 768 769 770 771 772 773 774 775 463 776 777 778 779 780 781 782 783 784

Description Isabelle Source Code4 J Source Code4 JSONiq Source Code4 JSX Source Code4 Jasmin Source Code4 Jolie Source Code4 Julia Source Code4
KiCad Layout Source Code4
KiCad Schematic Source Code4 Kotlin Source Code4 LFE Source Code4 LOLCODE Source Code4 Lasso Source Code4 Limbo Source Code4 LiveScript Source Code4 M Source Code4 MAXScript Source Code4 Markdown Source Code4 Matlab Source Code4 Max Source Code4 Mercury Source Code4 Modelica Source Code4 Modula-2 Source Code4 Monkey Source Code4 Moocode Source Code4 NL Source Code4 NSIS Source Code4 NetLogo Source Code4

MIME Type text/x-isabelle text/x-j
text/x-julia
text/x-kotlin text/x-lasso text/limbo text/x-livescript
text/x-matlab
text/x-modelica text/x-modula2 text/x-monkey text/x-moocode text/x-nsis

IDOL KeyView (12.11)

Extension
IJS JQ JSX J
JL
SCH
KT LFE LOL LAS, LASSO
LS M MS MD M MXT
MO MOD MONKEY MOO NL NSI NLOGO

File Class adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE
adSOURCECODE
adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE

Readers afsr afsr afsr afsr afsr afsr afsr afsr
afsr
afsr afsr afsr afsr afsr afsr afsr afsr afsr afsr afsr afsr afsr afsr afsr afsr afsr afsr afsr

Page 129 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

Format Name NewLisp_Fmt Nginx_Fmt Nix_Fmt Nu_Fmt OCaml_Fmt OpenCL_Fmt OpenEdge_ABL_ Fmt OpenSCAD_Fmt Ox_Fmt Oxygene_Fmt Oz_Fmt PAWN_Fmt PLpgSQL_Fmt Pan_Fmt Parrot_Assembly_ Fmt PicoLisp_Fmt Pike_Fmt Pony_Fmt Processing_Fmt PureBasic_Fmt QMake_Fmt RAML_Fmt RDoc_Fmt REXX_Fmt Racket_Fmt Ragel_Fmt Rascal_Fmt Rebol_Fmt

Number 845 846 847 848 849 850 851
852 853 854 855 856 857 858 859
860 861 862 863 864 865 866 867 868 869 870 871 872

Category 785 786 787 788 789 790 791
792 793 794 795 796 797 798 799
800 801 802 803 804 805 806 807 808 809 810 811 812

Description NewLisp Source Code4 Nginx Source Code4 Nix Source Code4 Nu Source Code4 OCaml Source Code4 OpenCL Source Code4

MIME Type text/x-newlisp text/x-nginx-conf text/x-nix
text/x-ocaml

OpenEdge ABL Source Code4

text/x-openedge

OpenSCAD Source Code4

Ox Source Code4

Oxygene Source Code4

Oz Source Code4

PAWN Source Code4

text/x-pawn

PLpgSQL Source Code4 text/x-plpgsql

Pan Source Code4

Parrot Assembly Source Code4 PicoLisp Source Code4 Pike Source Code4 Pony Source Code4 Processing Source Code4 PureBasic Source Code4 QMake File4 RAML Source Code4 RDoc Source Code4 REXX Source Code4 Racket Source Code4 Ragel Source Code4 Rascal Source Code4 Rebol Source Code4

text/x-pike
text/x-rexx text/x-racket text/x-rebol

IDOL KeyView (12.11)

Extension NL VHOST NIX NU
CL
SCAD OX OXYGENE OZ PWN PLSQL PAN PASM
PIKE PONY PDE PB
RAML RDOC REXX
RSC REB, REBOL

File Class adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE
adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE
adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE

Readers afsr afsr afsr afsr afsr afsr afsr
afsr afsr afsr afsr afsr afsr afsr afsr
afsr afsr afsr afsr afsr afsr afsr afsr afsr afsr afsr afsr afsr

Page 130 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

Format Name Red_Fmt RenPy_Fmt RenderScript_Fmt

Number 873 874 875

Ring_Fmt

876

RobotFramework_ 877 Fmt

SAS_Fmt

878

SPARQL_Fmt

879

SQL_Fmt

880

SQLPL_Fmt

881

SaltStack_Fmt

882

Scheme_Fmt

883

Scilab_Fmt

884

Squirrel_Fmt

885

Stan_Fmt

886

Stata_Fmt

887

Stylus_Fmt

888

SuperCollider_Fmt 889

SystemVerilog_Fmt 890

TXL_Fmt

891

Turing_Fmt

892

Turtle_Fmt

893

UrWeb_Fmt

894

Vim_script_Fmt

895

Visual_Basic_Fmt 896

WebAssembly_Fmt 897

Category 813 814 815
816 817
818 819 820 821 822 823 824 825 826 827 828 829
830
831 832 833 834 835 836
837

Description Red Source Code4 Ren'Py Source Code4
RenderScript Source Code4 Ring Source Code4
RobotFramework Source Code4 SAS Source Code4 SPARQL format4 SQL format4 SQLPL Source Code4 SaltStack Source Code4 Scheme Source Code4 Scilab Source Code4 Squirrel Source Code4 Stan Source Code4 Stata Source Code4 Stylus Source Code4
SuperCollider Source Code4
SystemVerilog Source Code4 TXL Source Code4 Turing Source Code4 Turtle Source Code4 UrWeb Source Code4 Vim script File4
Visual Basic Source Code4
WebAssembly Source Code4

MIME Type text/x-red
text/x-robotframework application/sparql-query text/x-sql
text/x-scheme text/scilab
text/supercollider text/x-systemverilog
text/turtle text/x-vim text/x-vbasic

IDOL KeyView (12.11)

Extension RED RPY RS RING ROBOT SAS
SLS
SCI NUT STAN
STYL SC SV TXL T TTL UR, URS VIM VB WAT

File Class adSOURCECODE adSOURCECODE adSOURCECODE
adSOURCECODE adSOURCECODE
adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE
adSOURCECODE
adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE
adSOURCECODE

Readers afsr afsr afsr
afsr afsr
afsr afsr afsr afsr afsr afsr afsr afsr afsr afsr afsr afsr
afsr
afsr afsr afsr afsr afsr afsr
afsr

Page 131 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

Format Name

Number

WebIDL_Fmt

898

X10_Fmt

899

XQuery_Fmt

900

Xojo_Fmt

901

Xtend_Fmt

902

YANG_Fmt

903

Zephir_Fmt

904

eC_Fmt

905

reStructuredText_ 906 Fmt

xBase_Fmt

907

Windows_Installer_ 908 Fmt

Autodesk_3ds_

909

Max_Fmt

PhotoDraw_Mix_ 910 Fmt

Softimage_SCN_ 911 Fmt

Parasolid_XT_Fmt 912

Parasolid_XB_Fmt 913

IGES_Fmt

914

ACE_Archive_Fmt 915

Grasshopper_

916

GHX_Fmt

MS_FrontPage_ 917 Macro_Fmt

MS_AtWork_Fax_ 918 Fmt

MS_Image_

919

Composer_Fmt

MS_Visual_

920

Category 838 839 840 841 842 843 844 845 846
847 848
849
850
851
852 853 854
855 856
857
858
859
860

Description WebIDL Source Code4 X10 Source Code4 XQuery Source Code4 Xojo Source Code4 Xtend Source Code4 YANG Source Code4 Zephir Source Code4 eC Source Code4
reStructuredText Source Code4 xBase Source Code4
MSI Windows Installer format
Autodesk 3ds Max format

MIME Type text/x-x10 text/xquery text/x-xtend
text/x-ecsrc text/x-rst
application/x-ole-storage

PhotoDraw MIX image

image/vnd.mix

Softimage Scene SCN format

Parasolid ascii XT format

Parasolid binary XB format

Initial Graphics Exchange model/iges Specification format

ACE archive format

application/x-ace-compressed

Grasshopper GHX format

Microsoft FrontPage macro file format
Microsoft AtWork Fax format
Microsoft Image Composer format
Microsoft Visual InterDev

IDOL KeyView (12.11)

Extension WEBIDL X10 XQM
XTEND YANG ZEP EC
MSI MAX MIX SCN X_T X_B IGS ACE GHX FPM AWD MIC WDM

File Class adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE adSOURCECODE

Readers afsr afsr afsr afsr afsr afsr afsr afsr afsr

adSOURCECODE adENCAPSULATION

afsr olesr

adCAD

olesr

adRASTERIMAGE

olesr

adCAD

adCAD adCAD adCAD

adENCAPSULATION adCAD

xmlsr

adWORDPROCESSOR

adFAXFORMAT

olesr

adRASTERIMAGE

adSWDEV

Page 132 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

Format Name
InterDev_Fmt
Macromedia_ Flash_FLA_OLE_ Fmt
Corel_Draw_X4_ Fmt
Ogg_Daala_Fmt
Ogg_BBC_Dirac_ Fmt
PKCS_7_Fmt

Number
921
922 923 924 925

Time_Stamped_ 926 Data_Fmt

Sereal_Fmt

927

Associated_

928

Signature_Simple_

Fmt

Associated_

929

Signature_

Extended_Fmt

iBooks_Fmt

930

PDF_Forms_Data_ 931 Fmt

PDF_XML_Forms_ 932 Data_Fmt

AxCrypt_Fmt

933

Unix_Archive_Fmt 934

Berkeley_Btree_ 935 Database_Fmt

Berkeley_Hash_ 936 Database_Fmt

Berkeley_Log_

937

Database_Fmt

Category
861
862 863 864 865 866 867 868
869
870 871 872 873 874 875 876 877

Description
web project items file
Macromedia Flash FLA Project File OLE format

MIME Type

CorelDRAW version X4 onwards

application/x-vnd.corel.zcf.draw.document+zip

Ogg Daala video format video/daala

Ogg BBC Dirac video format

video/x-dirac

PKCS #7 cryptographic format

application/pkcs7-signature

Time-stamped data format application/timestamped-data

Sereal data serialization format
Associated Signature Container Simple format

application/sereal application/vnd.etsi.asic-s+zip

Associated Signature

application/vnd.etsi.asic-e+zip

Container Extended format

Apple iBooks format PDF Forms Data Format

application/x-ibooks+zip application/vnd.fdf

PDF XML Forms Data Format

application/vnd.adobe.xfdf

AxCrypt encrypted document

application/x-axcrypt

Unix Archive ar format

application/x-archive

Berkeley DB btree database format

application/x-berkeley-db

Berkeley DB hash database format

application/x-berkeley-db

Berkeley DB log database application/x-berkeley-db format

Extension
FLA
CDRX OGV OGV P7S TSD SRL ASICS
ASICE
IBOOKS FDF XFDF AXX AR DB DB

File Class

Readers

adWORDPROCESSOR

adVECTORGRAPHIC adMOVIE adMOVIE adENCAPSULATION pkcs7sr adENCAPSULATION adMISC adENCAPSULATION

adENCAPSULATION

adWORDPROCESSOR epubsr adWORDPROCESSOR adWORDPROCESSOR xmlsr adENCAPSULATION adENCAPSULATION adDATABASE adDATABASE adDATABASE

IDOL KeyView (12.11)

Page 133 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

Format Name

Number

Berkeley_Queue_ 938 Database_Fmt

BitTorrent_Fmt

939

Chrome_

940

Extension_Fmt

Dalvik_Executable_ 941 Fmt

Foxmail_Fmt

942

GRIB_Fmt

943

Zstandard_Fmt

944

LZ4_Fmt

945

MS_Money_Fmt 946

NetCDF_Fmt

947

SAS6_Data_Fmt 948
SAS_Transport_ 949 Fmt
Snappy_Framed_ 950 Fmt
Stata_Data_Fmt 951
SPSS_SAV_Fmt 952

Zoo_Archive_Fmt 953

CDX_Fmt

954

CDXML_Fmt

955

BPG_Fmt

956

Apple_Icon_Fmt 957

NITF_Fmt

958

Category 878
879 880
881
882 883
884
885 886 887
888 889
890
891 892
893
894 895 896
897 898

Description

MIME Type

Berkeley DB queue database format

application/x-berkeley-db

BitTorrent file format

application/x-bittorrent

Google Chrome Extension application/x-chrome-package format

Dalvik Executable dex format

application/x-dex

Foxmail email format

application/x-foxmail

General Regularlydistributed Information in Binary form GRIB format

application/x-grib

Zstandard compression format

application/zstd

LZ4 compressed file

application/x-lz4

Microsoft Money format application/x-msmoney

Network Common Data Form NetCDF format

application/x-netcdf

SAS 6 Data storage format application/x-sas-data-v6

SAS Transport File XPORT format

application/x-sas-xport

Snappy Framed compression format

application/x-snappy-framed

Stata Data Format

application/x-stata-dta

SPSS Statistics Data File Format

Zoo Compressed Archive application/x-zoo Format

ChemDraw CDX format chemical/x-cdx

ChemDraw CDXML format application/vnd.chemdraw+xml

Better Portable Graphics image/x-bpg BPG format

Apple Icon image format image/icns

National Imagery

image/nitf

Transmission Format NITF

IDOL KeyView (12.11)

Extension
TORRENT CRX DEX BOX GRB, GRIB2

File Class adDATABASE

Readers

adMISC adENCAPSULATION

adEXECUTABLE

adWORDPROCESSOR adSCIENTIFIC

ZSTD
LZ4 MNY NC
SD2 XPT, XPORT
SZ
DTA SAV
ZOO
CDX CDXML BPG
ICNS NTF, NITF

adENCAPSULATION zstdsr

adENCAPSULATION adSPREADSHEET adMISC

adDATABASE adDATABASE

adENCAPSULATION

adDATABASE adDATABASE

adENCAPSULATION

adSCIENTIFIC adSCIENTIFIC adRASTERIMAGE

xmlsr

adRASTERIMAGE adRASTERIMAGE

Page 134 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

Format Name

Number

ERDAS_Imagine_ 959 Fmt

MS_Office_

960

Temporary_

Owner_Fmt

EAC3_Audio_Fmt 961

COFF_

962

Relocatable_Fmt

COFF_Executable_ 963 Fmt
COFF_Dynamic_ 964 Lib_Fmt

ELF_Core_Fmt

965

Purify_Fmt

966

Kryptel_Fmt

967

Windows_Core_ 968 Dump_Fmt

Qt_Prerendered_ 969 Font_Fmt

AIX_Relocatable_ 970 Fmt

AIX_Executable_ 971 Fmt

AIX_Dynamic_Lib_ 972 Fmt

HPUX_

973

Relocatable_Fmt

HPUX_

974

Executable_Fmt

HPUX_Dynamic_ 975 Lib_Fmt

XML_EBCDIC_Fmt 976

Category
899 900
901 902
903 904
905 906 907 908 909 910 911 912 913 914 915 916

Description

MIME Type

image

ERDAS Imagine image format

application/x-erdas-hfa

Microsoft Office temporary application/x-ms-owner owner file

Enhanced-AC3 (EAC3) Audio File format

audio/eac3

Common Object File Format (COFF) relocatable object

application/x-object-file

Common Object File

application/x-executable-file

Format (COFF) executable

Common Object File Format (COFF) dynamic library

application/x-library-file

ELF Core file

application/x-coredump

Rational Purify data file

Kryptel encrypted file

Windows heap or mini core application/x-dmp dump file

Qt Prerendered Font format

AIX/RISC COFF relocatable object

application/x-object-file

AIX/RISC COFF executable

application/x-executable-file

AIX/RISC COFF dynamic application/x-library-file library

HPUX/PA-RISC COFF relocatable object

application/x-object-file

HPUX/PA-RISC COFF executable

application/x-executable-file

HPUX/PA-RISC COFF dynamic library

application/x-library-file

EBCDIC-encoded XML file application/xml

IDOL KeyView (12.11)

Extension

File Class

Readers

HFA, RRD, AUX

adRASTERIMAGE

adMISC

AC3

adSOUND

O

adOBJECTMODULE

adEXECUTABLE adLIBRARY

PFY EDC DMP QPF2
A
SL XML

adMISC adMISC adENCAPSULATION adMISC adFONT adOBJECTMODULE adEXECUTABLE adLIBRARY adOBJECTMODULE adEXECUTABLE adLIBRARY adWORDPROCESSOR

Page 135 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

Format Name

Number

MPEG_JVT_H264_ 977 Fmt

Material_

978

Exchange_Fmt

MS_Agent_

979

Character_Fmt

Quicken_Fmt

980

MS_Outlook_

981

Address_Fmt

MS_Answer_

982

Wizard_Fmt

ADX_Fmt

983

System_

984

Deployment_

Image_Fmt

Free_Lossless_

985

Image_Fmt

DPX_Fmt

986

Avro_Fmt

987

InstallShield_

988

Archive_Fmt

Mac_Executable_ 989 Fmt

GDSII_Fmt

990

ActiveMime_Fmt 991

SmartCharts_Fmt 992

Webex_ARF_Fmt 993

Webex_WRF_Fmt 994

PGP_NetShare_ 995 Fmt

Category 917 918
919 920 921 922 923 924
925 926 927 928 929 930 931 932 933 934 935

Description

MIME Type

MPEG JVT-NAL sequence video/h264 H264 video

Material Exchange Format application/mxf audio-video container format

Microsoft Agent Character file

Quicken data file

Microsoft Outlook address file

Microsoft Answer Wizard file

ADX audio file

Microsoft System Deployment Image SDI format

Free Lossless Image Format (FLIF)

image/flif

Digital Picture Exchange (DPX) image format

image/dpx

Apache Avro binary format

InstallShield archive (early versions) format

Mac OS-X (Mach-O) executable format

GDSII data format

Microsoft ActiveMime (mso) documents

application/x-mso

BizInt SmartCharts data format

Webex advanced network ARF recordings

Webex local WRF recordings

Symantec PGP NetShare encrypted file

IDOL KeyView (12.11)

Extension 264 MXF
ACS QDF WAB
ADX SDI
FLIF DPX AVRO EX_
GDS, GDS2 MSO CHP, CHRR ARF WRF

File Class adMOVIE
adMOVIE

Readers

adMOVIE
adMISC adMISC
adMISC
adSOUND adMISC

adRASTERIMAGE

adRASTERIMAGE

adMISC adENCAPSULATION

avrosr

adEXECUTABLE

adCAD adMISC

gdsiisr

adMISC

adMOVIE

adMOVIE

adENCAPSULATION

Page 136 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

Format Name

Number

Ability_WP_OLE_ 996 Fmt

Ability_SS_OLE_ 997 Fmt

InDesign_IDML_ 998 Fmt

Executable_JAR_ 999 Fmt

IDOL_IDX_Fmt

1000

Android_Package_ 1001 Kit_Fmt

Android_Binary_ XML_Fmt

1002

Java_WAR_Fmt 1003

Java_EAR_Fmt

1004

Atom_Syndication_ 1005 Fmt

RSS_Fmt

1006

SMIL_Fmt

1007

XSLT_Fmt

1008

XML_Shareable_ Playlist_Fmt
FictionBook_Fmt

1009 1010

Adobe_Premiere_ Project_Fmt
RDF_XML_Fmt
Really_Simple_ Discovery_Fmt

1011
1012 1013

Category 936 937 938 939 940 941 942
943 944 945 946 947
948
949 950 951 952 953

Description

MIME Type

Ability Write later versions format

Ability Spreadsheet later versions format

Adobe InDesign IDML format

application/vnd.adobe.indesign-idml-package

Executable Java Archive application/java-archive (jar) file

IDOL Server IDX file

Android Package Kit (APK) application/vnd.android.package-archive format

Android Binary XML (compressed by aapt) format

application/xml

Java WAR file format

Java EAR file format

Atom Syndication Format application/atom+xml

RSS syndication XML format
Synchonized Multimedia Integration Language (SMIL) XML format
Extensible Stylesheet Language Transformations (XSLT) format
XML Shareable Playlist Format (XSPF)
FictionBook e-book XML format
Adobe Premiere project format
RDF/XML format
Really Simple Discovery (RSD) XML format

application/rss+xml application/smil+xml
application/xslt+xml
application/xspf+xml application/x-fictionbook+xml image/vnd.adobe.premiere application/rdf+xml application/rsd+xml

Extension AWW AWS IDML JAR IDX APK XML
WAR EAR ATOM RSS SMIL
XSL, XSLT
XSPF FB2 PPJ RDF RSD

File Class

Readers

adWORDPROCESSOR olesr

adSPREADSHEET

adDESKTOPPUBLSH

adENCAPSULATION unzip

adENCAPSULATION adEXECUTABLE

adWORDPROCESSOR

adENCAPSULATION adENCAPSULATION adWORDPROCESSOR xmlsr
adWORDPROCESSOR xmlsr
adWORDPROCESSOR xmlsr

adWORDPROCESSOR xmlsr

adWORDPROCESSOR xmlsr adWORDPROCESSOR xmlsr adMISC adWORDPROCESSOR xmlsr adWORDPROCESSOR xmlsr

IDOL KeyView (12.11)

Page 137 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

Format Name SBML_Fmt

Number 1014

SRU_Fmt SSML_Fmt

1015 1016

PLS_Fmt

1017

TEI_Fmt METS_Fmt

1018 1019

MODS_Fmt

1020

Metalink_Fmt Open_eBook_Fmt

1021 1022

SRGS_Fmt

1023

SPARQL_Results_ 1024 Fmt

Adobe_XML_Data_ 1025 Package_Fmt

ESzigno_Fmt

1026

Mozilla_XUL_Fmt 1027

SyncML_Fmt

1028

Category 954
955 956
957
958 959
960
961 962 963
964 965 966 967
968

Description

MIME Type

Systems Biology Markul Language (SBML) XML format

application/sbml+xml

Search/Retrieve via URL application/sru+xml (SRU) XML format

Speech Synthesis Markup application/ssml+xml Language (SSML) XML format

Pronunciation Lexicon Specification (PLS) XML format

application/pls+xml

Text Encoding Initiative (TEI) XML format

application/tei+xml

Metadata Encoding and Transmission Standard (METS) XML format

application/mets+xml

Metadata Object Description Schema (MODS) XML format

application/mods+xml

Metalink XML format

application/metalink4+xml

Open eBook (OEBPS) XML format

application/oebps-package+xml

Speech Recognition Grammar Specification (SRGS) XML format

application/srgs+xml

SPARQL Query Results XML format

application/sparql-results+xml

Adobe XML Data Package application/vnd.adobe.xdp+xml format

e-Szigno signed xml document

application/vnd.eszigno3+xml

Mozilla XML User Interface application/vnd.mozilla.xul+xml Language (XUL) XML format

Synchronization Markup Language (SyncML) XML format

application/vnd.syncml+xml

IDOL KeyView (12.11)

Extension SBML
SRU SSML
PLS
TEI METS
MODS
METALINK OPF SRGS
SRX XDP ES3 XUL
XML

File Class

Readers

adWORDPROCESSOR xmlsr

adWORDPROCESSOR xmlsr adWORDPROCESSOR xmlsr

adWORDPROCESSOR xmlsr

adWORDPROCESSOR xmlsr adWORDPROCESSOR xmlsr

adWORDPROCESSOR xmlsr

adWORDPROCESSOR xmlsr adWORDPROCESSOR xmlsr
adWORDPROCESSOR xmlsr

adWORDPROCESSOR xmlsr adWORDPROCESSOR xmlsr adWORDPROCESSOR xmlsr adWORDPROCESSOR xmlsr

adWORDPROCESSOR xmlsr

Page 138 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

Format Name VoiceXML_Fmt

Number 1029

TI_Target_

1030

Configuration_Fmt

LZFSE_Fmt

1031

Kindle_eBook_Fmt 1032 Oasis_Stream_Fmt 1033

Amazon_KFX_Fmt 1034

KTX_Fmt

1035

GMSH_Mesh_Fmt 1036

Collada_DAE_Fmt 1037

YIN_Fmt
MPEG_Playlist_ Fmt
Windows_Audio_ Playlist_Fmt
DTS_Audio_Fmt

1038 1039 1040 1041

Chemical_Markup_ 1042 Language_Fmt

CrystalMaker_Fmt 1043

VTK_XML_Fmt

1044

IPFIX_Fmt

1045

Category 969 970
971
972 973
974 975 976 977 978 979 980 981 982
983 984 985

Description

MIME Type

VoiceXML (VXML) XML format

application/voicexml+xml

Texas Instruments CCXML target configuration XML format

Lempel-Ziv Finite State Entropy (LZFSE) compression format

Amazon Kindle or

application/vnd.amazon.ebook

Mobipocket eBook format

Open Artwork System Interchange Standard (OASIS) format

Amazon KFX eBook format

KTX image format

image/ktx

GMSH Mesh polygon format

model/mesh

Collada Digital Asset Exchange (DAE) format

model/vnd.collada+xml

YIN XML format

application/yin+xml

MPEG audio playlist format

audio/mpegurl

Windows Audio playlist format

audio/x-ms-wax

DTS Coherent Acoustics audio format

audio/vnd.dts

Chemical Markup Language (CML) XML format

chemical/x-cml

CrystalMaker chemical format

chemical/x-cmdf

Visualization Toolkit VTK model/vnd.vtu XML format

IP Flow Information Export application/ipfix (IPFIX) format

IDOL KeyView (12.11)

Extension VXML CCXML
LZFSE
AZW, PRC OAS
KFX KTX MSH DAE YIN M3U WAX DTS CML
CMDF VTU IPFIX

File Class

Readers

adWORDPROCESSOR xmlsr

adWORDPROCESSOR

adENCAPSULATION

adWORDPROCESSOR adMISC

adWORDPROCESSOR

adRASTERIMAGE adCAD

adCAD

xmlsr

adWORDPROCESSOR xmlsr adSOUND

adSOUND

xmlsr

adSOUND

adWORDPROCESSOR xmlsr

adSCIENTIFIC adVECTORGRAPHIC xmlsr adMISC

Page 139 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

Format Name
Portable_Font_ Resource_Fmt
MARC_Fmt

Number 1046
1047

MARC_XML_Fmt 1048

XAR_Fmt

1049

Symbian_Installer_ 1050 Fmt

SO_Drawing_ XML_Fmt

1051

SO_Text_Global_ 1052 XML_Fmt

ODF_Chart_Fmt 1053

ODF_Database_ Fmt

1054

ODF_Image_Fmt 1055

ODF_Text_Master_ 1056 Fmt

ODF_Text_Web_ Fmt

1057

ODF_Chart_ Template_Fmt

1058

ODF_Formula_ Template_Fmt

1059

ODF_Drawing_ Template_Fmt

1060

ODF_Image_ Template_Fmt

1061

ODF_ Presentation_

1062

Category 986 987
988
989 990 316
991
992 993 994 995 996 997 998 316 999 316

Description Portable Font Resource font format Machine-Readable Cataloging (MARC21) format Machine-Readable Cataloging (MARC) XML format Extensible Archive (XAR) format Symbian installer format
OpenDocument format (OpenOffice 1/StarOffice 6.7) Drawing XML OpenDocument format (OpenOffice 1/StarOffice 6.7) Writer Master document XML ODF Chart ODF Database
ODF Image ODF Text Master
ODF Text Web
ODF Chart Template
ODF Formula Template
ODF Drawing/Graphics Template ODF Image Template
ODF Presentation Template

MIME Type application/font-tdpfr application/marc
application/marcxml+xml
application/vnd.symbian.install application/vnd.sun.xml.draw
application/vnd.sun.xml.writer.global
application/vnd.oasis.opendocument.chart application/vnd.sun.xml.base application/vnd.oasis.opendocument.image application/vnd.oasis.opendocument.text-master application/vnd.oasis.opendocument.text-web application/vnd.oasis.opendocument.chart-template application/vnd.oasis.opendocument.formulatemplate application/vnd.oasis.opendocument.graphicstemplate application/vnd.oasis.opendocument.image-template application/vnd.oasis.opendocument.presentationtemplate

Extension PFR MARC
XML
SIS SXD
SXG
ODC ODB ODI ODM OTH OTC OTF OTG OTI OTP

File Class adFONT
adDATABASE

Readers

adWORDPROCESSOR xmlsr

adENCAPSULATION adENCAPSULATION adVECTORGRAPHIC kpodfrdr

adWORDPROCESSOR

adVECTORGRAPHIC adDATABASE

adRASTERIMAGE adWORDPROCESSOR odfwpsr

adWORDPROCESSOR odfwpsr

adVECTORGRAPHIC

adWORDPROCESSOR unzip

adVECTORGRAPHIC kpodfrdr

adRASTERIMAGE

adPRESENTATION

kpodfrdr

IDOL KeyView (12.11)

Page 140 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

Format Name

Number

Template_Fmt

ODF_ Spreadsheet_ Template_Fmt

1063

ODF_Text_ Template_Fmt

1064

ODF_Chart_XML_ 1065 Fmt

ODF_Drawing_ XML_Fmt

1066

ODF_Formula_ XML_Fmt

1067

ODF_Image_XML_ 1068 Fmt

ODF_

1069

Presentation_XML_

Fmt

ODF_ Spreadsheet_ XML_Fmt

1070

ODF_Text_XML_ Fmt

1071

ODF_Extension_ Fmt

1072

StarView_Metafile_ 1073 Fmt

BBeB_LRF_ eBook_Fmt

1074

GPG_Trust_DB_ Fmt

1075

VICE_Emulator_ Fmt

1076

Portable_Game_ Notation_Fmt
Doom_WAD_Fmt

1077 1078

Category 315
314 1000 1001 1002 1003 1004
1005
1006 1007 1008 1009 1010 1011
1012 1013

Description

MIME Type

Extension

ODF Spreadsheet Template

application/vnd.oasis.opendocument.spreadsheettemplate

OTS

ODF Text Template

application/vnd.oasis.opendocument.text-template

OTT

ODF Chart flat XML format application/vnd.oasis.opendocument.chart.xml

FODC

ODF Drawing/Graphics flat application/vnd.oasis.opendocument.formula.xml XML format

FODG

ODF Formula flat XML format

application/vnd.oasis.opendocument.graphics.xml

FODF

ODF Image flat XML format

application/vnd.oasis.opendocument.image.xml

FODI

ODF Presentation flat XML application/vnd.oasis.opendocument.presentation.xml FODP format

ODF Spreadsheet flat XML application/vnd.oasis.opendocument.spreadsheet.xml FODS format

ODF Text flat XML format application/vnd.oasis.opendocument.text.xml

FODT

ODF Extension format

application/vnd.openofficeorg.extension

OXT

OpenOffice StarView MetaFile format

image/x-svm

Broad Band eBook (BBeB) application/x-ext-lrf in LRF format

GPG trust database format

SVM LRF GPG

VICE (Versatile Commodore Emulator) format

Portable Game Notation chess format

application/vnd.chess-pgn

Doom IWAD/PWAD format application/x-doom

VSF PGN WAD

File Class

Readers

adSPREADSHEET

odfsssr

adWORDPROCESSOR odfwpsr adVECTORGRAPHIC adWORDPROCESSOR adVECTORGRAPHIC adRASTERIMAGE adPRESENTATION

adSPREADSHEET

adWORDPROCESSOR adMISC adRASTERIMAGE adWORDPROCESSOR adMISC adMISC

adWORDPROCESSOR adMISC

IDOL KeyView (12.11)

Page 141 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

Format Name

Number

Device_Tree_Blob_ 1079 Fmt

BDF_Font_Fmt

1080

PC_Screen_Font_ Fmt
JNLP_Fmt

1081 1082

XAML_Browser_ Application_Fmt
MS_Binder_Fmt

1083 1084

XAP_Fmt

1085

StuffIt_X_Fmt

1086

FIG_Fmt

1087

XPInstall_Fmt

1088

XDF_Fmt

1089

MXML_Fmt

1090

MusicXML_Fmt

1091

Finale_Fmt

1092

Spotfire_DXP_Fmt 1093

MS_Office_ Theme_2007_Fmt
Adobe_AIR_ Installer_Fmt
Flex_Project_Fmt

1094 1095 1096

Category 1014 1015 1016 1017 1018 1019 1020 1021 1022
1023
1024 1025 1026 1027 1028 1029 1030 1031

Description
Linux Device Tree Blob format
Glyph Bitmap Distribution Format
PC Screen Font format

MIME Type
application/x-font-bdf application/x-font-psf

Java Network Launching application/x-java-jnlp-file Protocol

XAML Browser Application application/x-ms-xbap (XBAP) format

Microsoft Office Binder format

application/x-msbinder

Microsoft Silverlight application (XAP) format

application/x-silverlight-app

StuffIt X (SITX) archive format

application/x-stuffitx

Facility for Interactive

application/x-xfig

Generation of figures (FIG)

image format

XPInstall Cross-Platform Installer Module (XPI) format

application/x-xpinstall

Extensible Data Format (XDF) XML format

MXML UI markup language XML format

MusicXML format

application/vnd.recordare.musicxml

Finale audio format

TIBCO Spotfire DXP data application/vnd.spotfire.dxp format

Microsoft Office theme format

application/vnd.ms-officetheme

Adobe AIR application installer package

application/vnd.adobe.air-application-installerpackage+zip

Adobe Flash Flex project application/vnd.adobe.fxp file format

Extension DTB BDF PSF JNLP XBAP OBP XAP SITX FIG
XPI
XDF MXML MXL MUS DXP THMX AIR FXP

File Class adMISC

Readers

adFONT

adFONT

adWORDPROCESSOR xmlsr

adWORDPROCESSOR xmlsr

adENCAPSULATION olesr

adENCAPSULATION

adENCAPSULATION

adVECTORGRAPHIC

adENCAPSULATION

adWORDPROCESSOR xmlsr

adWORDPROCESSOR xmlsr

adENCAPSULATION adSOUND adANALYTICS

xmlsr

adMISC

adENCAPSULATION

adENCAPSULATION

IDOL KeyView (12.11)

Page 142 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

Format Name FoxPro_Fmt

Number 1097

VST_Preset_Fmt 1098

Mischief_Image_ Fmt

1099

FreeArc_Fmt

1100

Autodesk_3ds_Fmt 1101

Monkeys_Audio_ Fmt

1102

CALS_Fmt

1103

Dr_Halo_PAL_Fmt 1104

DPG_Fmt

1105

JPEG_XR_Fmt

1106

TCR_eBook_Fmt 1107

IHEX_Fmt
QCOW_Fmt
VDI_Fmt
OneNote_ Alternate_Fmt
RMS_Protected_ Fmt

1108 1109 1110 1111
1112

Portfolio_PDF_Fmt 1113

Crystal_Reports_ Fmt

1114

Thumbs_db_Fmt 1115

PagePlus_Fmt

1116

Category 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042
1043 1044 1045 1046 1047
1048 1049 1050 1051

Description

MIME Type

FoxPro compiled source format

Virtual Studio Technology (VST) preset format

Mischief vector graphics image format

FreeArc archive format

application/x-freearc

Autodesk 3ds format

application/x-3ds

Monkey's Audio format

CALS raster image format

Dr Halo raster image PAL file format

Nintendo DS DPG video format

JPEG XR (extended range) image format

image/vnd.ms-photo

TCR/ZVR (Text Compression for Reader) eBook format

Intel Hex format

QEMU Copy On Write

VirtualBox Disk Image

OneNote Alternative Packaging Format

Rights Management Services (RMS)-protected format

Portfolio PDF File

application/pdf

SAP Crystal Reports format

application/x-rpt

Microsoft Windows thumbs.db format

Serif PagePlus format

IDOL KeyView (12.11)

Extension FXP FXP ART ARC 3DS APE CAL PAL DPG JXR, HDP TCR, ZVR

File Class adLIBRARY

Readers

adSOUND

adVECTORGRAPHIC

adENCAPSULATION adCAD adSOUND

adRASTERIMAGE adRASTERIMAGE

adMOVIE

adRASTERIMAGE

adWORDPROCESSOR

IHEX QCOW VDI
PFILE, PPDF, PJPG, PTXT PDF RPT DB PPP

adENCAPSULATION adENCAPSULATION adENCAPSULATION adWORDPROCESSOR onealtsr
adWORDPROCESSOR pfilesr

adWORDPROCESSOR pdfsr

adANALYTICS

olesr

adENCAPSULATION

adDESKTOPPUBLSH olesr

Page 143 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

Format Name

Number

MS_Project_ Exchange_Fmt

1117

MS_Management_ 1118 Pack_MPX_Fmt

AutoCAD_VBA_ Project_Fmt
PLY_ASCII_Fmt

1119 1120

PLY_Binary_Fmt 1121

JavaView_JVX_ Fmt
X3D_Fmt

1122 1123

ZBrush_Project_ Fmt
ZBrush_Tool_Fmt

1124 1125

Windows_Installer_ 1126 Patch_Fmt

Windows_Installer_ 1127 Transform_Fmt

Lotus_Approach_ 1128 Fmt

Outlook_SendRcv_ 1129 Settings_Fmt

MS_Publisher_ Scheme_Fmt

1130

SO_Chart_Fmt

1131

SO_Database_Fmt 1132

SO_Library_Fmt 1133

PageMaker_

1134

Category 1052 1053
1054 1055 1056 1057 1058 1059 1060 1061
1062
1063 1064 1065 1066 1067 1068 1069

Description

MIME Type

Microsoft Project Exchange format

Microsoft Systems Center Operation Manager (SCOM) management pack MPX format

AutoCAD VBA project format

Polygon File Format (PLY) ASCII format

Polygon File Format (PLY) binary format

JavaView XML (JVX) format

Extensible 3d Graphics (X3D) XML format

model/x3d+xml

ZBrush ZProject (ZPR) format

ZBrush ZTtool (ZTL) format

Microsoft Windows Installer Patch Package (MSP) format

Microsoft Windows Installer Transform (MST) format

Lotus Approach format

application/vnd.lotus-approach

Microsoft Outlook 2002 Send-Receive Settings

Microsoft Publisher colour scheme

Star Office 4,5 Chart

application/vnd.stardivision.chart

Star Office 4,5 Database application/vnd.stardivision.base

Star Office 4,5 Library

Adobe PageMaker

application/pagemaker

IDOL KeyView (12.11)

Extension MPX
MPX

File Class adSCHEDULE
adMISC

Readers xmlsr

DVB PLY PLY JVX X3D ZPR ZTL MSP
MST
APR, MPR SRS SCM SDS SDB SBL PMD

adMISC

adCAD

adCAD

adCAD

xmlsr

adCAD

adCAD

adCAD

adENCAPSULATION olesr

adENCAPSULATION

adDATABASE

adMISC

adMISC

adVECTORGRAPHIC adDATABASE adLIBRARY adDESKTOPPUBLSH

olesr olesr

Page 144 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

Format Name Document_Fmt MS_DTS_Fmt

Number 1135

Cognos_ PowerPlay_PPR_ Fmt
Visual_Studio_ SUO_Fmt

1136 1137

MS_GraphEdit_ Fmt
ArcGIS_Graph_ Fmt
SID_Audio_Fmt
MrSID_Fmt

1138 1139 1140 1141

Cardfile_Fmt

1142

MS_Word_Mac_4_ 1143 Fmt

WordPerfect_5_ Fmt

1144

WordPerfect_6_ Fmt

1145

WordPerfect_ Graphics_1_Fmt

1146

Organization_ Chart_Fmt

1147

Lotus_Organizer_ 1148 Fmt

MS_DBML_Fmt

1149

XMind_Fmt

1150

Category 1070
1071
1072
1073 1074 1075 1076 1077
205 80 178 85 1078 1079 1080
1081

Description
document
Microsoft Data Transformation Services (DTS) package file
Cognos PowerPlay up to version 7 (PPR) format

MIME Type

Microsoft Visual Studio solution user options (suo) file
Microsoft GraphEdit File format
ArcGIS Graph format

SID Audio format
LizardTech MrSID image format
Microsoft Windows Cardfile address book format
Microsoft Word for Macintosh (version 4,5)
WordPerfect (version 5)

audio/prs.sid image/x-mrsid application/x-mscardfile
application/msword application/x-corel-wordperfect

Corel WordPerfect (version 6 and higher)
WordPerfect Graphics (version 1)
OrgPlus Organization Chart
Lotus Organizer documents
Microsoft Database Markup Language XML document
XMind document

application/x-corel-wordperfect application/vnd.wordperfect application/orgplus application/vnd.lotus-organizer
application/xmind

IDOL KeyView (12.11)

Extension DTS

File Class adMISC

Readers

PPR

adANALYTICS

SUO

adSWDEV

GRF GRF SID SID CRD

adMISC adGIS adSOUND adRASTERIMAGE adWORDPROCESSOR

DOC

adWORDPROCESSOR mbsr

WOP, DOC

adWORDPROCESSOR wosr

WPD

adWORDPROCESSOR wp6sr

WPG, QPG OPX

adRASTERIMAGE, adVECTORGRAPHIC
adDATABASE

OR2, OR3, OR4, OR5, OR6
DBML

adSCHEDULE adWORDPROCESSOR

XMIND

adPRESENTATION

Page 145 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

Format Name MSI_Cerius_Fmt
GenBank_Fmt
GIS_World_File_ Fmt

Number 1151 1152 1153

Category 1082 1083 1084

Description
MSI Cerius chemical formula document
GenBank DNA character sequence document
ESRI GIS World file

MIME Type chemical/x-cerius
chemical/x-genbank

GIS_Projection_ Metadata_Fmt
PowerWorld_ Binary_Fmt
PowerWorld_ Display_Fmt
ArcXML_Fmt

1154 1155 1156 1157

GAMS_GDX_Fmt 1158

1085 1086 1087 1088 1089

ArcMap_MXD_Fmt 1159

RRDtool_Fmt

1160

HWPX_Fmt

1161

SolidWorks_2015_ 1162 Fmt

MS_Photo_Editor_ 1163 Fmt

MS_Word_HTML_ 1164 Fmt

MS_Excel_HTML_ 1165 Fmt

Portable_ FloatMap_Fmt

1166

RGBE_Fmt

1167

1090 1091 1092 1093 1094 1095 1096 1097 1098

ESRI Projection Metadata (PRJ) file

PowerWorld Binary (PWB) file

PowerWorld Display (PWD) file

ESRI ArcIMS project XML file (ArcXML)

General Algebraic Modeling System (GAMS) Data Exchange (GDX) format

ArcMap Map Exchange Document project (MXD)

RRDtool (Round Robin Database) data file

Hangul HWPX document application/hwp+zip

SolidWorks (2015 onwards) file

Microsoft Photo Editor 'embedded GIF' file

application/vnd.ms-photo-editor

Microsoft Word HTML format

Microsoft Excel HTML format

Portable FloatMap (PFM) image/x-portable-floatmap image

Radiance RGBE (HDR) image

image/vnd.radiance

IDOL KeyView (12.11)

Extension MSI

File Class adSCIENTIFIC

GB

adSCIENTIFIC

BPW, GFW, JGW, J2W, PGW, SDW, TFW, WLD
PRJ

adGIS adGIS

PWB

adCAD

PWD

adCAD

AXL

adGIS

GDX

adSCIENTIFIC

Readers afsr

MXD

adGIS

RRD

adDATABASE

HWPX

adWORDPROCESSOR hwpxsr

SLDPRT,

adCAD

SLDDRW, SLDASM

adRASTERIMAGE

DOC, HTM

adWORDPROCESSOR htmlsr

XLS, HTM

adWORDPROCESSOR htmlsr

PFM

adRASTERIMAGE

HDR, PIC, RGBE, XYZE

adRASTERIMAGE

Page 146 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

Format Name APNG_Fmt

Number 1168

Enhanced_ Compressed_ Wavelet_Fmt

1169

Ensoniq_Waveset_ 1170 Fmt

Corel_Photo_ Paint_Fmt

1171

OpenRaster_Fmt 1172

Krita_Fmt

1173

Gerber_Fmt

1174

PGML_Fmt

1175

Away3D_Fmt CAD_3MF_Fmt

1176 1177

AMF_Fmt

1178

C3D_Fmt

1179

CAD_3DSystems_ 1180 BFF_Fmt

NRRD_Fmt

1181

Cinema_4D_Fmt FBX_ASCII_Fmt

1182 1183

FBX_Binary_Fmt 1184

Wavefront_OBJ_ Fmt
Wavefront_MTL_ Fmt

1185 1186

Category 1099
1100
1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117

Description
Animated Portable Network Graphics (Animated-PNG)
Enhanced Compressed Wavelet image

MIME Type image/apng
image/ecw

Ensoniq Waveset audio data file

Corel Photo Paint (version image/x-corelphotopaint 7 and higher)

OpenRaster image

image/openraster

Krita image

application/x-krita

Gerber image format

application/vnd.gerber

Precision Graphics Markup Language

Away3D scene file

3D Manufacturing Format application/vnd.ms-package.3dmanufacturing-

document

3dmodel+xml

Additive manufacturing file application/x-amf format (AMF) document

Coordinate 3D (C3D) format

3D Sprint (3D Systems) SLA Build file

NRRD (nearly raw raster data) image format

Cinema 4D model

Kaydara FBX project (ASCII)

Kaydara FBX project (binary)

Wavefront OBJ geometry definition file

Wavefront Material Template Library (MTL)

Extension APNG, PNG
ECW
ECW CPT ORA KRA GBR PGML AWD 3MF AMF C3D BFF NRRD C4D FBX FBX OBJ MTL

File Class adANIMATION

Readers kppngrdr

adRASTERIMAGE

adSOUND

adRASTERIMAGE

adRASTERIMAGE adRASTERIMAGE adVECTORGRAPHIC adVECTORGRAPHIC

xmlsr

adCAD adCAD

adCAD

xmlsr

adCAD

adCAD

adRASTERIMAGE

adCAD adCAD

adCAD

adCAD

adCAD

IDOL KeyView (12.11)

Page 147 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

Format Name
MS_Power_BI_ Template_Fmt
Windows_Sticky_ Notes_Fmt
BlakHole_Fmt

Number 1187 1188 1189

PowerArchiver_Fmt 1190

PageMagic_Fmt 1191

PIM_Archiver_Fmt 1192

Softdisk_Text_ Compressor_Fmt

1193

Ability_PhotoPaint_ 1194 Fmt

Softlib_Fmt

1195

Timeworks_ Publisher_Fmt
Scribe_Fmt

1196 1197

SQLite_Write_ Ahead_Log_Fmt

1198

SQLite_WAL_ Index_Fmt

1199

AutoForm_Design_ 1200 Fmt

TSV_Fmt

1201

OpenStreetMap_ XML_Fmt
OpenStreetMap_ PBF_Fmt

1202 1203

Nero_Audio_ Compilation_Fmt

1204

Category 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128
1129 1130 1131 1132 1133 1134
1135

Description

MIME Type

Microsoft Power BI Desktop template format

Microsoft Windows Sticky Notes format

BlakHole compression format

PowerArchiver PA compression format

NEBS PageMagic format

PIM Archiver format

Softdisk Text Compressor format

Ability Office PhotoPaint image

Softdisk Softlib compression format

Timeworks Publisher (Publish It) format

Scribe markup language and word processing system

SQLite Write-Ahead Log file

SQLite WAL-index (shm) file

AutoForm Design file

Tab-separated values (TSV) file

text/tab-separated-values

OpenStreetMap XML data

OpenStreetMap Protocolbuffer Binary Format data file (.osm.pbf)
Nero Audio-CD compilation file

IDOL KeyView (12.11)

Extension PBIT SNT BH PA DTP PIM CTX APX SLB DTP MSS
WAL SHM AFD TSV, TAB OSM PBF
NRA

File Class adANALYTICS

Readers

adWORDPROCESSOR

adENCAPSULATION

adENCAPSULATION

adDESKTOPPUBLSH adENCAPSULATION adENCAPSULATION

olesr

adRASTERIMAGE

adENCAPSULATION

adDESKTOPPUBLSH

adWORDPROCESSOR afsr

adDATABASE adDATABASE adCAD adWORDPROCESSOR afsr, afsr adGIS adGIS

adMISC

Page 148 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

Format Name

Number

Nero_ISO_ Compilation_Fmt

1205

WordStar_for_ Windows_Fmt

1206

MS_Outlook_PAB_ 1207 Fmt

HLSL_FXO_Fmt 1208

HLSL_CSO_Fmt 1209

Oberon_ Document_Fmt

1210

Oberon_Symbol_ Fmt

1211

Oberon_Code_Fmt 1212

Python_Bytecode_ 1213 Fmt

PCPaint_Fmt

1214

PCRaster_Map_ Fmt

1215

COM_Type_ Library_Fmt

1216

MS_Visual_C_ Export_Fmt
Lotus_Organizer_ Report_Fmt
Audible_ Audiobook_AA_ Fmt

1217 1218 1219

Category 1136 1137 1138
1139
1140
1141 1142 1143
1144 1145 1146
1147
1148 1149 1150

Description Nero ISO compilation file

MIME Type

WordStar for Windows file

Microsoft Outlook Personal Address Book (PAB)
DirectX High-Level Shader Language (HLSL) precompiled shader
DirectX High-Level Shader Language (HLSL) compiled shader object
Component Pascal / Oberon Document file
Component Pascal / Oberon Symbol file
Component Pascal / Oberon Code (executable and loadable object) file
Python compiled bytecode application/x-bytecode.python

PCPaint / Pictor Paint image format

PCRaster Map / Cross System Format geographical data

Microsoft Component Object Model (COM) Type library

Microsoft Visual C++ Export file

Lotus Organizer report document

Audible Audiobook (AA) file

audio/audible

IDOL KeyView (12.11)

Extension NRI WSD PAB
FXO
CSO
ODC OSF OCF
PYC PIC MAP, CSF
TLB
EXP REP AA

File Class adMISC

Readers

adWORDPROCESSOR stringssr

adMISC

adCAD

adCAD

adSOURCECODE adOBJECTMODULE adEXECUTABLE

adEXECUTABLE adRASTERIMAGE adGIS

adLIBRARY

adLIBRARY adSCHEDULE adSOUND

Page 149 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

Format Name DOS_RED_Fmt

Number 1220

CA_ZIPXP_Fmt

1221

Kindle_Topaz_Fmt 1222

Windows_Shim_ Database_Fmt

1223

MS_Incremental_ Linker_Fmt

1224

Lotus_Smart_Icon_ 1225 Fmt

Lotus_Organizer_ 1226 Layout_Fmt

CMZ_Fmt

1227

RFFlow_Fmt

1228

InstallShield_ Script_Fmt

1229

InstallShield_ Rules_Fmt

1230

Windows_FTS_Fmt 1231

DVD_Info_Fmt
Emacs_Lisp_ Bytecode_Fmt
Windows_ Resource_Fmt
MS_Precompiled_ Header_Fmt

1232 1233 1234 1235

Borland_Turbo_ Project_Fmt
PS_Font_ Descriptor_Fmt

1236 1237

Category 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166
1167 1168

Description

MIME Type

MS-DOS RED installer library format

CA Technologies ZIPXP compressed document

Amazon Kindle Topaz eBook

Microsoft Windows Shim Database file

Microsoft Visual Studio incremental linker file

Lotus Smart Icon image file

Lotus Organizer print/paper layout file

CMZ compression format

RFFlow flowchart document

InstallShield script document

InstallShield Compiled Rules file

Microsoft Windows 95/NT help full-text-search file

DVD Information (IFO) file content/dvd

Byte-compiled Lisp (Emacs/XEmacs)

application/x-bytecode.elisp

Microsoft Windows binary resource file

Microsoft Visual C/C++ binary pre-compiled header

Borland Turbo C project file

PostScript binary Font Descriptor file

IDOL KeyView (12.11)

Extension RED

File Class adLIBRARY

Readers

CAZ

adENCAPSULATION

AZW, AZW1, TPZ adWORDPROCESSOR

SDB

adDATABASE

ILK

adSWDEV

SMI

adRASTERIMAGE

PLT

adSCHEDULE

CMZ FLO

adENCAPSULATION adPRESENTATION

INS

adENCAPSULATION

INX

adENCAPSULATION

FTS

adDATABASE

IFO

adDATABASE

ELC

adEXECUTABLE

RES

adMISC

PCH

adSWDEV

PRJ

adSWDEV

NTF

adFONT

Page 150 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

Format Name

Number

MySQL_Index_Fmt 1238

MS_SQL_Fmt

1239

DNL_eBook_Fmt GD_Image_Fmt ITunes_Library_ Fmt MS_SQM_Fmt

1240 1241 1242
1243

VIFF_Fmt

1244

JBIG_Fmt
CodeWarrior_ Project_Fmt
PaintShop_Pro_ JBF_Fmt
Delphi_Diagram_ Portfolio_Fmt
Adobe_Swatch_ Exchange_Fmt
ASCII_Scene_ Exporter_Fmt
AVR_Fmt

1245 1246 1247 1248 1249 1250 1251

Winamp_AVS_Fmt 1252

After_Effects_ Project_Fmt
Anfy_Applet_ Generator_Fmt
SmartCipher_Fmt
General_ Exchange_Fmt

1253 1254 1255 1256

Category 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183
1184 1185 1186 1187

Description

MIME Type

MySQL MyISAM Table index

Microsoft SQL Server primary database file

DNAML DNL eBook

GD Library image

Apple iTunes music library

Microsoft Windows Live Messenger/Mail log file

Khoros Visualization

image/x-viff

Image File Format (VIFF)

JBIG (JBIG1) image

image/jbig

CodeWarrior C/C++ project

PaintShop Pro JBF image image/jbf cache file

Delphi Diagram Portfolio file

Adobe Swatch Exchange Format

Autodesk 3ds Max ASCII Scene Exporter file

AVR (Audio Visual Research) format

Winamp AVS (Advanced Visualization Studio) plugin file

Adobe After Effects project

Anfy (Java) Applet Generator file
SmartCipher encrypted file
General Exchange Format application/gxf (GXF)

IDOL KeyView (12.11)

Extension MYI MDF DNL GD, GD2 ITL SQM XV, VIF, VIFF JBG, JBIG, BIE MCP JBF DDP ASE, ASEF ASE AVR AVS

File Class adDATABASE

Readers

adDATABASE

adWORDPROCESSOR adRASTERIMAGE adDATABASE

adMISC

adRASTERIMAGE

adRASTERIMAGE adSWDEV

adMISC

adMISC

adRASTERIMAGE

adCAD

adSOUND

adSOUND

AEP AJP
GXF

adMOVIE adMISC adENCAPSULATION adMOVIE

Page 151 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

Format Name Maxis_XA_Fmt NUT_Fmt

Number 1257 1258

OpenMG_Audio_ Fmt
TXD_Fmt

1259 1260

DFA_Fmt

1261

FunCom_ISS_Fmt 1262 Sony_MSV_Fmt 1263

THP_Fmt

1264

Smush_Animation_ 1265 Fmt

SIFF_Audio_Fmt 1266

SNES_SPC_Fmt Sierra_VMD_Fmt

1267 1268

VTech_MJP_Fmt 1269 Nullsoft_Video_Fmt 1270

Shorten_Fmt Leitch_Video_Fmt

1271 1272

ETV_Fmt TAK_Audio_Fmt Maelstrom_ANM_ Fmt SW_ANM_Fmt

1273 1274 1275
1276

DeluxePaint_ Animation_Fmt

1277

Category 1188 1189
1190
1191
1192
1193 1194
1195 1196
1197
1198 1199
1200 1201
1202 1203
1204 1205 1206
1207
1208

Description

MIME Type

Maxis XA audio file

NUT Open Container Format

Sony OpenMG Audio (OMA) container file

Renderware Texture Dictionary (TXD) file

DreamForge DFA FMV format

FunCom ISS audio

Sony Compressed Audio (MSV/DVF)

GameCube THP Video

LucasArts Smush SAN Animation Format

Beam Software SIFF audio file

SNES SPC700 audio file

Sierra Video and Music Data format

VTech MHP video format

Nullsoft Video format (NSV)

Shorten audio file

Leitch Exchange Format video (LXF)

ETV video file

TAK audio file

Maelstrom ANM animation

Savage Warriors ANM animation
DeluxePaint animation

IDOL KeyView (12.11)

Extension XA NUT
OMA, OMG
TXD
DFA
ISS DVF, ICS, MSV
THP SAN, NUT
SON
SPC VMD
MJP NSV
SHN LXF
ETV TAK ANM
ANM
ANM

File Class adSOUND adMOVIE
adSOUND
adRASTERIMAGE
adMOVIE
adSOUND adSOUND
adMOVIE adANIMATION
adSOUND
adSOUND adMOVIE
adMOVIE adMOVIE
adSOUND adMOVIE
adMOVIE adSOUND adANIMATION
adANIMATION
adANIMATION

Readers

Page 152 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

Format Name

Number

Crack_Art_Fmt

1278

Time_Shift_Video_ 1279 Fmt

XBV_Fmt

1280

HNM4_Fmt

1281

HNM6_Fmt

1282

NXV_Fmt

1283

VP5_Fmt

1284

FutureVision_FST_ 1285 Fmt

Electronic_Arts_ Audio_Fmt

1286

YOP_Fmt

1287

Matrox_Setup_ Program_Fmt

1288

Vivado_Design_ Suite_Fmt

1289

Meridian_

1290

Lossless_Packing_

Fmt

Electronic_Arts_ SEAD_Fmt

1291

Electronic_Arts_ MPC_Fmt

1292

PMP_Fmt

1293

DEGAS_Fmt

1294

DEGAS_

1295

Compressed_Fmt

AutoCAD_Plotter_ Fmt
Tiny_Stuff_Fmt

1296 1297

Category 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221
1222 1223 1224 1225
1226
1227 1228

Description Crack Art image Time Shift Video (TSV) format XBV video CRYO HNM4 video CRYO HNM6 video NXV video On2 VP5 video FutureVision FST video

MIME Type

Electronic Arts audio file

Psygnosis YOP video
Matrox Setup Program Archive MVA file
Xilinx Vivado Design Suite file
Meridian Lossless Packing Audio file

Electronic Arts SEAD audio
Electronic Arts MPC video

PMP video
DEGAS (Design & Entertainment Graphic Arts System) image
DEGAS (Design & Entertainment Graphic Arts System) compressed image
AutoCAD Plot Style and Configuration files
Tiny Stuff image

IDOL KeyView (12.11)

Extension CA1, CA2, CA3 TSV
XBV HNM HNM, HNS NXV VP5 FST
STR
YOP MVA
VDS
MLP

File Class adRASTERIMAGE adMOVIE
adMOVIE adMOVIE adMOVIE adMOVIE adMOVIE adMOVIE
adSOUND
adMOVIE adMISC
adMISC
adSOUND

Readers

TGV MPC PMP PI1, PI2, PI3

adSOUND adMOVIE adMOVIE adRASTERIMAGE

PC1, PC2, PC3

adRASTERIMAGE

CTB, STB, PC3, PMP
TNY, TN1, TN2,

adCAD adRASTERIMAGE

Page 153 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

Format Name

Number Category Description

MIME Type

JV_Video_Fmt REDCode_Fmt SIFF_Video_Fmt

1298 1299 1300

VP6_Fmt MTV_Fmt RSO_Fmt Star3_Fmt DXA_Fmt MTH_Fmt

1301 1302 1303 1304 1305 1306

MAD_Fmt

1307

Bink2_Fmt

1308

PVA_Fmt Interplay_ACMP_ Fmt Ipix_Fmt IVR_Fmt

1309 1310
1311 1312

NuppelVideo_Fmt VFlash_PTX_Fmt PMD_Ringtone_ Fmt RoQ_Fmt CRYO_APC_Fmt

1313 1314 1315
1316 1317

VGZ_Fmt

1318

Novastorm_Video_ 1319 Fmt

1229 1230 1231
1232 1233 1234 1235 1236 1237
1238
1239
1240 1241
1242 1243
1244 1245 1246
1247 1248
1249 1250

Bitmap Brothers JV video REDCode video format Beam Software SIFF video file On2 VP6 video Chinese MP4/MTV video Mindstorm RSO audio Creative Labs Star 3 audio Runesoft DXA video Nintendo GameCube video file Electronic Arts MAD video file Bink Video 2 audio-video container TechnoTrend PVA video Interplay ACMP audio
Ipix spherical image RealNetworks Internet Video Recording (IVR) file NuppelVideo file VTech V.Flash VTX image Polyphonic Ringtone PMD application/x-pmd audio RoQ video CRYO Interactive APC audio VGZ video Novastorm Media video file

IDOL KeyView (12.11)

Extension

File Class

TN3.TN4.TN5.TN6

JV

adMOVIE

R3D

adMOVIE

VB

adMOVIE

VP6 MTV RSO ST3 DXA MTH

adMOVIE adMOVIE adSOUND adSOUND adMOVIE adMOVIE

MAD

adMOVIE

BIK, BK2

adMOVIE

PVA

adMOVIE adSOUND

IPX

adRASTERIMAGE

IVR

adMOVIE

NUV PTX PMD

adMOVIE adRASTERIMAGE adSOUND

ROQ

adMOVIE

APC, HNM, BF, ZIK adSOUND

VGZ FA, FLM

adMOVIE adMOVIE

Readers

Page 154 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

Format Name UTalk_Fmt Xbox_XMV_Fmt AbiWord_Fmt AbiWord_ Template_Fmt Psion_Word_Fmt

Number 1320 1321 1322 1323
1324

Psion_Sheet_Fmt 1325

Psion_Sketch_Fmt 1326 Psion_Record_Fmt 1327 Psion_MBM_Fmt 1328

Psion_TextEd_Fmt 1329

Psion_AIF_Fmt

1330

Psion_PIC_Fmt

1331

Psion_Object_Fmt 1332

Psion_Executable_ 1333 Fmt

Psion_Sound_Fmt 1334

Psion_Database_ 1335 Fmt

Psion_Word_3_ Fmt

1336

Psion_Sheet_3_ Fmt

1337

Zoner_Draw_Fmt 1338

Zoner_BMI_Fmt TealDoc_Fmt TealPaint_Fmt

1339 1340 1341

Category 1251 1252 1253 1254
1255
1256
1257 1258 1259
1260 1261
1262 1263 1264
1265 1266
1267
1268
1269
1270 1271 1272

Description

MIME Type

MicroTalk/UTalk audio

Microsoft Xbox XMV video

AbiWord document

application/x-abiword

AbiWord template

Psion EPOC Word document
Psion EPOC Sheet spreadsheet
Psion EPOC Sketch image
Psion EPOC Record audio
Psion EPOC Multi-Bitmap (MBM) image
Psion EPOC TextEd file
Psion EPOC Application Information File (AIF)
Psion 3 PIC bitmap
Psion 3 OPL Object File
Psion 3 IMG/APP executable
Psion 3 Sound file
Psion EPOC Database

Psion 3 Word document

Psion 3 Sheet spreadsheet

Zoner Draw / Zoner Callisto Metafile (ZMF) version 4+
Zoner BMI image
TealDoc PalmOS eBook
TealPaint PalmOS eBook

IDOL KeyView (12.11)

Extension UTK XMV ABW ABT PSI, PSITEXT PSISHEET
MBM
AIF PIC OPA, OPO IMG, APP WVE
WRD SPR ZMF

File Class

Readers

adSOUND

adMOVIE

adWORDPROCESSOR xmlsr

adWORDPROCESSOR

adWORDPROCESSOR stringssr

adSPREADSHEET

adRASTERIMAGE adSOUND adRASTERIMAGE

adWORDPROCESSOR stringssr adRASTERIMAGE

adRASTERIMAGE adENCAPSULATION adEXECUTABLE

adSOUND adDATABASE

adWORDPROCESSOR stringssr

adSPREADSHEET

adVECTORGRAPHIC

BMI PDB PDB

adRASTERIMAGE adWORDPROCESSOR adWORDPROCESSOR

Page 155 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

Format Name PalmDOC_Fmt

Number 1342

QiOO_Fmt Plucker_Fmt eReader_Fmt

1343 1344 1345

Quickword_Fmt

1346

Quicksheet_Fmt 1347

Quickpoint_Fmt

1348

TealMeal_Fmt

1349

zTXT_Fmt

1350

TomeRaider_Fmt 1351

TomeRaider_PDB_ 1352 Fmt

WordSmith_Fmt 1353

iSilo_Fmt SuperMemo_Fmt

1354 1355

BDicty_Fmt

1356

PalmOS_ Executable_Fmt

1357

PalmOS_Library_ 1358 Fmt

Shanda_Bambook_ 1359 Fmt

PMLZ_Fmt

1360

Rocket_eBook_Fmt 1361 iBooks_Author_Fmt 1362

Category 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293

Description
PalmDOC / Aportis DOC eBook
QiOO mobile eBook
Plucker eBook
eReader (Palm Reader/ Peanut Reader) eBook
PalmOS Quickword document
PalmOS Quicksheet document
PalmOS Quickpoint document
TealMeal PalmOS database
zTXT eBook
TomeRaider eBook
TomeRaider PDB eBook

MIME Type application/x-aportisdoc application/prs.plucker
application/x-pdb-ztxt-ebook

PalmOS Wordsmith document

PalmOS iSilo document application/x-pdb-isilo-ebook

PalmOS SuperMemo document

PalmOS BDicty document

PalmOS executable

application/vnd.palm

PalmOS dynamic library

Shanda Bambook eBook application/x-snb-ebook

Palm Markup Language (PMLZ) eBook
Rocket eBook
Apple iBooks Author

application/x-rocketbook application/vnd.apple.ibauthor

IDOL KeyView (12.11)

Extension PRC, PDB JAR PDB PDB PRC PRC PRC PDB PDB TR TR2, TR3
PDB KNO, PDB PDB PRC PRC SNB PMLZ RB IBA

File Class

Readers

adWORDPROCESSOR

adWORDPROCESSOR adWORDPROCESSOR adWORDPROCESSOR

adWORDPROCESSOR stringssr

adSPREADSHEET

adPRESENTATION

adDATABASE

adWORDPROCESSOR adWORDPROCESSOR adWORDPROCESSOR

adWORDPROCESSOR

adWORDPROCESSOR adWORDPROCESSOR

adWORDPROCESSOR adEXECUTABLE

adLIBRARY

adWORDPROCESSOR

adWORDPROCESSOR

adWORDPROCESSOR adWORDPROCESSOR

Page 156 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

Format Name
Statistica_ Spreadsheet_Fmt
Statistica_Graph_ Fmt
Statistica_ Scrollsheet_Fmt
Apple_Newton_ Package_Fmt
Adobe_Zip_ Extension_Fmt
Uniform_Office_ Fmt
Uniform_Office_ Text_Fmt
Uniform_Office_ Spreadsheet_Fmt
Uniform_Office_ Presentation_Fmt
Uniform_Office_ Zip_Fmt
Uniform_Office_ Text_Zip_Fmt
Uniform_Office_ Spreadsheet_Zip_ Fmt
Uniform_Office_ Presentation_Zip_ Fmt
MacDraft_Fmt
RagTime_Fmt
MacDraw_Fmt
Wingz_Fmt
Claris_Draw_Fmt

Number
1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373
1374
1375
1376 1377 1378 1379 1380

Category
1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304
1305
1306
1307 1308 1309 1310 1311

Description

MIME Type

eBook

Statsoft Statistica Spreadsheet

Statsoft Statistica Graph File

Statsoft Statistica Scrollsheet

Apple Newton executable/installer/file

Adobe Zip Format

application/vnd.adobe.air-ucf-package+zip

Extension Package (ZXP)

Uniform Office Format document

Uniform Office Format

application/vnd.uof.text

word processing document

Uniform Office Format spreadsheet

application/vnd.uof.spreadsheet

Uniform Office Format presentation

application/vnd.uof.presentation

Uniform Office Format document, zip format

Uniform Office Format word processing document, zip format

application/vnd.uof.text+zip

Uniform Office Format spreadsheet, zip format

application/vnd.uof.spreadsheet+zip

Uniform Office Format presentation, zip format

application/vnd.uof.presentation+zip

MacDraft drawing RagTime document MacDraw drawing Wingz spreadsheet Claris Draw document

Extension STA STG SCR PKG ZXP UOF UOF, UOT UOF, UOS UOF, UOP UOF UOF, UOT
UOF, UOS
UOF, UOP
DRW, MDD RAG, RTD WKZ

File Class

Readers

adSPREADSHEET adVECTORGRAPHIC adSPREADSHEET adEXECUTABLE adENCAPSULATION adWORDPROCESSOR xmlsr adWORDPROCESSOR xmlsr adSPREADSHEET adPRESENTATION adWORDPROCESSOR adWORDPROCESSOR

adSPREADSHEET

adPRESENTATION

adCAD adDESKTOPPUBLSH adVECTORGRAPHIC adSPREADSHEET adVECTORGRAPHIC

IDOL KeyView (12.11)

Page 157 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

Format Name
BeagleWorks_ Word_Fmt

Number 1381

BeagleWorks_ Database_Fmt

1382

BeagleWorks_

1383

Spreadsheet_Fmt

BeagleWorks_ Paint_Fmt

1384

BeagleWorks_ Draw_Fmt

1385

GreatWorks_ Word_Fmt

1386

GreatWorks_ Outline_Fmt

1387

GreatWorks_ Database_Fmt

1388

GreatWorks_

1389

Spreadsheet_Fmt

GreatWorks_Draw_ 1390 Fmt

GreatWorks_ Chart_Fmt

1391

MS_Works_3_ Mac_WP_Fmt

1392

MS_Works_3_ Mac_DB_Fmt
MS_Works_3_ Mac_SS_Fmt

1393 1394

MS_Works_3_ Mac_Comm_Fmt

1395

Category 1312
1313
1314
1315
1316
1317 1318 1319 1320 1321 1322 1323
1324 1325
1326

Description

MIME Type

BeagleWorks (later WordPerfect Works) Word Processor document

BeagleWorks (later WordPerfect Works) Database document

BeagleWorks (later WordPerfect Works) Spreadsheet document

BeagleWorks (later WordPerfect Works) Paint document

BeagleWorks (later WordPerfect Works) Draw document

Symantec GreatWorks Word Processor document

Symantec GreatWorks Outline document

Symantec GreatWorks Database document

Symantec GreatWorks Spreadsheet document

Symantec GreatWorks Draw document

Symantec GreatWorks Chart document

Microsoft Works for Mac, version 3 and 4, Word Processor document

application/x-msworks

Microsoft Works for Mac, application/x-msworks version 3 and 4, Database

Microsoft Works for Mac, version 3 and 4, Spreadsheet

application/x-msworks

Microsoft Works for Mac, version 3 and 4, Communications

application/x-msworks

IDOL KeyView (12.11)

Extension BW, WPW BW, WPW BW, WPW BW, WPW BW, WPW
MSW, WPS WDB WKS

File Class

Readers

adWORDPROCESSOR stringssr

adDATABASE

adSPREADSHEET

adRASTERIMAGE

adVECTORGRAPHIC

adWORDPROCESSOR stringssr adOUTLINE adDATABASE adSPREADSHEET adVECTORGRAPHIC adVECTORGRAPHIC adWORDPROCESSOR

adDATABASE adSPREADSHEET

adCOMMUNICATION

Page 158 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

Format Name

Number

MS_Works_3_ Mac_Draw_Fmt

1396

SAP_VDS_Fmt

1397

ZIPVFS_Fmt

1398

Right_ Hemisphere_ Material_Fmt

1399

RH_Thumbnails_ Fmt

1400

Westwood_

1401

Studios_Audio_Fmt

Shockwave_ Stream_Fmt

1402

EGG_Video_Fmt 1403

IRCAM_Fmt

1404

Sierra_Audio_Fmt 1405

TiVo_Video_Fmt OptimFROG_Fmt LPAC_Fmt

1406 1407 1408

RK_Audio_Fmt

1409

Asylum_Music_Fmt 1410

Novastorm_Audio_ 1411 Fmt

HHE_Fmt

1412

Portable_Voice_ Fmt

1413

CNM_Video_Fmt 1414

Category
1327
1328 1329
1330
1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345

Description

MIME Type

document

Microsoft Works for Mac, version 3 and 4, Draw document

application/x-msworks

SAP 3d Visual Enterprise VDS document

ZIPVFS SQLite compressed read/write database

Right Hemisphere Material file

Right Hemisphere thumbnail collection file
Westwood Studios Audio file
Shockwave Stream audiovideo file
EGG video file
IRCAM audio file
Sierra Entertainment audio file
TiVo video
OptimFROG audio
Lossless Predictive Audio Compression file
RK Audio lossless compressed audio
Asylum Music Format
Novastorm Media audio file
HHE video
Portable Voice Format audio
Arxel CNM audio-video

IDOL KeyView (12.11)

Extension
MSW
VDS SQLITE
RH, RHM
$RH AUD STREAM EGG IRCAM SOL TY+ OFR, OFS PAC RKA AMF SMP HHE PVF CNM

File Class

Readers

adVECTORGRAPHIC

adCAD adDATABASE

adCAD

adCAD
adSOUND
adMOVIE
adMOVIE adSOUND adSOUND
adMOVIE adSOUND adSOUND
adSOUND
adSOUND adSOUND
adMOVIE adSOUND
adMOVIE

Page 159 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

Format Name

Number

Phantom_Cine_ Fmt

1415

MPEG2_

1416

Transport_Stream_

Fmt

Audacity_Project_ 1417 Fmt

Voltage_VSF_Fmt 1418

XLIFF_Fmt

1419

XBRL_Fmt

1420

AuditXPressX_Fmt 1421

Box_Note_Fmt

1422

Hikvision_DVR_ Fmt

1423

Electronic_Arts_ TGV_Fmt

1424

Electronic_Arts_ TGQ_Fmt

1425

Reaper_Video_Fmt 1426

Lightweight_Video_ 1427 Fmt

Liquid_Audio_Fmt 1428

Extended_ Instrument_Fmt

1429

MAML_Fmt

1430

MS_Chat_ Character_Fmt
MS_Border_Fmt

1431 1432

Category
1346 1347
1348 1349 1350
1351
1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363

Description format Phantom Cine video file

MIME Type

MPEG-2 Transport Stream video

Audacity audio project file application/x-audacity-project

Micro Focus Voltage VSF encrypted file
XML Localization Interchange File Format (XLIFF)
Extensible Business Reporting Language (XBRL)
AuditXPressX file
Box Note document
Hikvision DVR video

application/xliff+xml

Electronic Arts TGV video

Electronic Arts TGQ video

Reaper Video
Lightweight Video Format (LVF)
Liquid Audio
eXtended Instrument generic audio tracker
Microsoft Assistance Markup Language
Microsoft Comic Chat Character
Microsoft Office Border images

IDOL KeyView (12.11)

Extension
CINE M2TS
AUP VDF XLF
XBRL
AXPX BOXNOTE
TGV TGQ FMV LVF LQT XI AML AVB BDR

File Class adMOVIE adMOVIE

Readers

adSOUND adENCAPSULATION adWORDPROCESSOR xmlsr

adWORDPROCESSOR xmlsr

adWORDPROCESSOR adWORDPROCESSOR adMOVIE adMOVIE adMOVIE adMOVIE adMOVIE adSOUND adSOUND adWORDPROCESSOR xmlsr adRASTERIMAGE adRASTERIMAGE

Page 160 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

Format Name

Number

MS_Binary_Log_ Fmt

1433

MS_Reader_ eBook_Fmt

1434

MS_Reader_ Annotations_Fmt

1435

Amazon_KFX_ Aux_Fmt

1436

Amazon_KFX_Ion_ 1437 Fmt

MS_DPAPI_Fmt 1438

MS_Streets_Fmt 1439

MS_Fast_Find_ Index_Fmt

1440

MS_Fresh_Paint_ 1441 Fmt

MS_Mathematics_ 1442 Fmt

MS_Instrument_ Definition_Fmt

1443

MS_Pocket_ Streets_Fmt

1444

Obfuscated_ OpenType_Fmt

1445

Pfaff_PCS_Fmt

1446

Janome_JEF_Fmt 1447

Husqvarna_HUS_ Fmt
Husqvarna_VIP_ Fmt
Brother_PEC_Fmt

1448 1449 1450

Category 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381

Description
Microsoft Binary Log file
Microsoft Reader eBook file
Microsoft Reader annotation file
Amazon KFX eBook auxiliary format (2015)
Amazon KFX eBook Ion format (2015)
Microsoft Data Protection API (DPAPI) data
Microsoft Streets & Trips map
Microsoft Office Fast Find Index
Microsoft Fresh Paint image
Microsoft Mathematics worksheet
Microsoft MIDI Instrument Definition File
Microsoft Pocket Streets map
Obfuscated OpenType font (ODTTF)
Pfaff PCS embroidery image
Janome JEF embroidery format
Husqvarna Viking HUS embroidery format
Husqvarna Viking-Pfaff VIP embroidery format
Brother PEC embroidery format

MIME Type application/vnd.ms-package.obfuscated-opentype

Extension BLG LIT EBO KFX, AZW KFX, AZW, ION
EST FFX FPPX GCW IDF MPS ODTTF PCS JEF HUS VIP PEC

File Class adMISC

Readers

adWORDPROCESSOR

adWORDPROCESSOR

adWORDPROCESSOR

adWORDPROCESSOR

adMISC

adGIS

adMISC

adRASTERIMAGE

adSCIENTIFIC

adSOUND

adGIS

adFONT

adVECTORGRAPHIC

adVECTORGRAPHIC

adVECTORGRAPHIC

adVECTORGRAPHIC

adVECTORGRAPHIC

IDOL KeyView (12.11)

Page 161 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

Format Name Brother_PES_Fmt

Number 1451

Viking_SHV_Fmt 1452

VP3_Fmt SEW_Fmt Data_Stitch_ Tajima_Fmt Singer_XXX_Fmt

1453 1454 1455
1456

Bernina_ART_Fmt 1457

MS_Prefetch_Fmt 1458

MS_Prefetch_

1459

Compressed_Fmt

MS_MapPoint_Fmt 1460

MS_Live_Meeting_ 1461 Fmt

MS_Speech_ Definitions_Fmt

1462

MS_Speech_Data_ 1463 Fmt

MS_SQL_CE_Fmt 1464

MS_ICE_Project_ 1465 Fmt

MS_DVR_Fmt

1466

Symbol_ Dynamics_EXP_ Fmt
XNA_Compiled_

1467 1468

Category 1382 1383 1384 1385 1386 1387 1388 1389
1390 1391 1392 1393 1394 1395
1396
1397 1398
1399

Description

MIME Type

Brother PEC embroidery format

Viking SHV embroidery format

VP3 embroidery format

SEW embroidery format

Data Stitch Tajima (DST) embroidery image

Singer XXX embroidery image

Bernina ART embroidery image

Microsoft Windows Prefetch (uncompressed) file

Microsoft Windows Prefetch (compressed) file

Microsoft MapPoint map

Microsoft Office Live Meeting Connection

Microsoft text-to-speech Speech Definitions File

Microsoft text-to-speech Speech Data File

Microsoft SQL Server Compact (CE) edition database

Microsoft Image Composite Editor (ICE) Project

Microsoft Digital Video Recording (DVR-MS)

video/x-ms-dvr

Symbol Dynamics EXP v14 document

Microsoft XNA Compiled

IDOL KeyView (12.11)

Extension PES SHV VP3 SEW DST XXX ART PF
PF PTM RTC SDF SPD SDF
SPJ
DVR-MS WXP
XNB

File Class adVECTORGRAPHIC

Readers

adVECTORGRAPHIC

adVECTORGRAPHIC adVECTORGRAPHIC adVECTORGRAPHIC

adVECTORGRAPHIC

adVECTORGRAPHIC

adMISC

adMISC adGIS adSCHEDULE adMISC adDATABASE adDATABASE

adMISC

adMOVIE adWORDPROCESSOR stringssr

adENCAPSULATION

Page 162 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

Format Name

Number

Fmt

Outlook_Shortcut_ 1469 Fmt

ChiWriter_Fmt

1470

ChiWriter4_Fmt

1471

Lightning_Strike_ Fmt

1472

Blackberry_ Executable_Fmt

1473

EndNote_Library_ 1474 Fmt

EndNote_Library_ 1475 X_Fmt

EndNote_Filter_ Fmt

1476

EndNote_Style_ Fmt

1477

EndNote_ Connection_Fmt

1478

Camtasia_ Recording_Fmt

1479

Camtasia_Project_ 1480 Fmt

TechSmith_ Project_Fmt

1481

ABIF_Fmt

1482

CIF_Fmt

1483

Sibelius_Fmt
Geogebra_ Worksheet_Fmt
Geogebra_Tool_ Fmt

1484 1485
1486

Category
1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417

Description

MIME Type

Format

Microsoft Outlook or Exchange folder shortcut

ChiWriter document (up to version 3)

ChiWriter document (version 4)

Lightning Strike image

image/cis-cod

Blackberry executable

EndNote Library (up to version 9)

application/x-endnote-library

EndNote Library (version X onwards)

EndNote Filter

application/x-puid-fmt-327

EndNote Style

application/x-endnote-style

EndNote Connection

application/x-endnote-connect

Camtasia Recording

Camtasia XML Project

TechSmith JSON Project

Applied Biosystems Inc. Format (ABIF)
Crystallographic Information File
Sibelius musical score
Geogebra worksheet

chemical/x-cif application/vnd.geogebra.file

Geogebra tool

IDOL KeyView (12.11)

Extension
XNK CHI CHI COD COD ENL ENL, ENLX ENF ENS ENZ CAMREC CAMPROJ TSCPROJ AB1, FSA CIF SIB GGB GGT

File Class

Readers

adMISC adWORDPROCESSOR adWORDPROCESSOR adRASTERIMAGE adEXECUTABLE adDATABASE adDATABASE adDATABASE adDATABASE adDATABASE adMOVIE adWORDPROCESSOR adWORDPROCESSOR adSCIENTIFIC adSCIENTIFIC adSOUND adSCIENTIFIC adSCIENTIFIC

Page 163 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

Format Name

Number

Polynomial_

1487

Texture_Map_Fmt

Poly_Tracker_Fmt 1488

PC_Outline_Fmt 1489

Spline_Font_ Database_Fmt

1490

QuickTime_Image_ 1491 Fmt

XBin_Image_Fmt 1492

Segmented_

1493

Hypergraphics_Fmt

LEADTools_CMP_ 1494 Fmt

WBMP_Fmt

1495

Blender_Fmt Blender_v1_Fmt Scribus_Fmt LyX_Fmt NZB_Fmt KWord_Fmt KSpread_Fmt

1496 1497 1498 1499 1500 1501 1502

KPresenter_Fmt 1503

KWord_GZ_Fmt 1504

KSpread_GZ_Fmt 1505

KPresenter_GZ_ Fmt
Karbon_Fmt
KChart_Fmt

1506
1507 1508

Category 1418
1419 1420 1421
1422
1423 1424
1425
1426
1427 1428 1429 1430 1431 1432 1433
1434
1435
1436
1437
1438 1439

Description
Polynomial Texture Map (PTM)
Poly Tracker audio
PC-Outline document
Spline Font Database (SFD) font
QuickTime (QTIF) image

MIME Type image/x-quicktime

XBin image
MS Segmented Hypergraphics image
LEADTools CMP image

Wireless Bitmap image (WBMP)

image/vnd.wap.wbmp

Blender (v2) CAD file

application/x-blender

Blender (v1) CAD file

application/x-blender

Scribus document

application/vnd.scribus

LyX document

application/x-lyx

NewzBin NZB format

application/x-nzb

KOffice KWord document application/vnd.kde.kword

KOffice KSpread document

application/vnd.kde.kspread

KOffice KPresenter document

application/vnd.kde.kpresenter

KOffice (up to v1.1) kWord application/x-kword document

KOffice (up to v1.1) kSpread document

application/x-kspread

KOffice (up to v1.1) kPresenter document

application/x-kpresenter

KOffice Karbon document application/vnd.kde.karbon

KOffice KChart document application/vnd.kde.kchart

IDOL KeyView (12.11)

Extension PTM
PTM PCO SFD
QTIF, QIF, QTI
XB SHG
CMP
WBMP
BLEND BLEND SLA LYX NZB KWD KSP
KPR
KWD
KSP
KPR
KARBON CHRT

File Class adRASTERIMAGE

Readers

adSOUND adWORDPROCESSOR adFONT

adRASTERIMAGE

adRASTERIMAGE adRASTERIMAGE

adRASTERIMAGE

adRASTERIMAGE

adCAD adCAD adDESKTOPPUBLSH adWORDPROCESSOR lyxsr adWORDPROCESSOR adWORDPROCESSOR adSPREADSHEET

adPRESENTATION

adWORDPROCESSOR

adSPREADSHEET

adPRESENTATION

adVECTORGRAPHIC adSPREADSHEET

Page 164 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

Format Name

Number

KPlato_Fmt

1509

GIMP_Pattern_Fmt 1510

GIMP_Brush_Fmt 1511

GIMP_Animated_ 1512 Brush_Fmt

Git_Pack_Index_ Fmt

1513

Git_Index_Fmt

1514

MS_Tape_Fmt

1515

STL_Binary_Fmt 1516

Unix_Shadow_Fmt 1517

MS_SQL_Log_Fmt 1518

DER_Certificate_ Fmt

1519

EDIFACT_Fmt

1520

X12_Fmt

1521

Mathcad_Fmt

1522

Mathcad_XML_Fmt 1523

EDrawings_Fmt

1524

First_Choice_DB_ 1525 Fmt

First_Choice_WP_ 1526 Fmt

First_Choice_SS_ 1527 Fmt

Professional_Plan_ 1528 Fmt

PFS_Write_Fmt

1529

Category 1440 1441 1442 1443 1444 1445 1446 1447
1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460

Description

MIME Type

KOffice KPlato document application/x-vnd.kde.kplato

GIMP Pattern file

GIMP Brush file

GIMP Animated Brush file

Git Pack Index format

Git Index format

Microsoft Tape Format

3D Systems Stereolithography STL Binary Format

Unix /etc/shadow password file

Microsoft SQL Server log

DER-encoded X509 certificate

application/x-x509-user-cert

EDIFACT-encoded EDI document

application/edifact

X12-encoded EDI document

application/edi-x12

Mathcad MCD document application/vnd.mcd

Mathcad XMCD document application/x-mathcad

eDrawings Publisher document

PFS First Choice database database/x-firstchoice

PFS First Choice wordprocessing document
PFS First Choice spreadsheet
PFS Professional Plan spreadsheet
PFS Professional Write

application/x-first-choice application/x-pfs-plan application/x-pfsprofessionalwrite

IDOL KeyView (12.11)

Extension KPLATO PAT GBR GIH
IDX
INDEX MTF, BAK

File Class adSCHEDULE adRASTERIMAGE adRASTERIMAGE adRASTERIMAGE

Readers

adENCAPSULATION

adENCAPSULATION adENCAPSULATION adCAD

LDF DER, CER EDI EDI MCD XMCD EASM, EPRT, EDRW FOL DOC SS
PFS

adMISC

adDATABASE adENCAPSULATION

adDATABASE

adDATABASE

adSCIENTIFIC adSCIENTIFIC adCAD

xmlsr

adDATABASE

adWORDPROCESSOR

adSPREADSHEET

adSPREADSHEET

adWORDPROCESSOR

Page 165 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

Format Name

Number

Symantec_QA_Fmt 1530

Bitmap_Graphics_ 1531 Array_Fmt

OS2_Help_Fmt

1532

Frame_Vector_Fmt 1533

RBase_2_Fmt

1534

Harvard_Graphics_ 1535 Symbol2_Fmt

Freelance_ Graphics_Fmt

1536

Snoop_Capture_ Fmt

1537

Python_Pickle_Fmt 1538

Matlab_Pcode_Fmt 1539

Rhinoceros_3D_ Fmt

1540

GL_Transmission_ 1541 Binary_Fmt

CAD_3DXML_Fmt 1542

CAD_3DXML_ XML_Fmt

1543

Autodesk_Fusion_ 1544 360_Fmt

DELFTship_Fmt 1545

Autodesk_ Inventor_Drawing_ Fmt

1546

Autodesk_

1547

Inventor_Part_Fmt

Autodesk_ Inventor_ Assembly_Fmt

1548

Category
1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472
1473 1474 1475 1476 1477
1478 1479

Description

MIME Type

document

Symantec Q&A Database

OS/2 Bitmap Graphics Array

image/bga

OS/2 Help/INF document

Frame Vector Metafile

R:Base database (v2-v4)

Harvard Graphics Symbol File (v2)

Lotus Freelance Graphics image

Snoop Packet Capture file

Python Pickle file Matlab P-code file Rhinoceros 3D Model

Graphics Language (GL) Binary Transmission Format

model/gltf+binary

3DVIDIA 3DXML archive application/x-3dxmlplugin

3DVIDIA 3DXML XML document

Autodesk Fusion 360 model

DELFTship or FREE!ship model

Autodesk Inventor drawing

Autodesk Inventor part
Autodesk Inventor assembly

IDOL KeyView (12.11)

Extension

File Class

Readers

DTF BGA, BMP, ICO

adDATABASE adRASTERIMAGE

HLP, INF FMV RBF SYM

adWORDPROCESSOR adVECTORGRAPHIC adDATABASE adVECTORGRAPHIC

DRW

adRASTERIMAGE

CAP, SNOOP

adENCAPSULATION

PICKLE, PKL, P P 3DM

adEXECUTABLE adSOURCECODE adCAD

GLB

adCAD

3DXML 3DXML F3D FBM IDW

adCAD adCAD adCAD adCAD adCAD

IPT

adCAD

IAM

adCAD

Page 166 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

Format Name

Number

Autodesk_Revit_ Fmt

1549

FreeCAD_Fmt

1550

Solid_Edge_Part_ 1551 Fmt

Solid_Edge_ Assembly_Fmt

1552

Solid_Edge_ SheetMetal_Fmt

1553

SolidWorks_ Visualize_Project_ Fmt

1554

Apache_Parquet_ 1555 Fmt

AES_Crypt_Fmt 1556

SO_Math_XML_ Fmt

1557

MathML_Fmt

1558

Photoshop_Brush_ 1559 Fmt

Photoshop_Color_ 1560 Book_Fmt

Premiere_Project_ 1561 Fmt

Premiere_Title_Fmt 1562

Premiere_Pro_ Title_Fmt
Memgraph_Fmt

1563 1564

Memgraph_XML_ Fmt
AV1_Image_Fmt
AV1_Image_ Sequence_Fmt

1565
1566 1567

Category 1480 1481 1482 1483 1484 1485
1486 1487 1488
1489 1490 1491 1492 1493 1494 1495 1496 1497 1498

Description

MIME Type

Autodesk Revit document

FreeCAD document Solid Edge part

Solid Edge assembly

Solid Edge sheet metal

SolidWorks Visualize project

Apache Parquet document

AES Crypt document

OpenDocument format (OpenOffice 1/StarOffice 6,7) Math XML

application-vnd.sun.xml.math

MathML document

application/mathml+xml

Adobe Photoshop Brush document

image/x-adobe-photoshop-brush

Adobe Photoshop Color Book

Adobe Premiere Elements/Pro project

Adobe Premiere title document

Adobe Premiere Pro title document

Memgraph database plist application/x-bplist-memgraph format

Memgraph database XML format

AV1 Image Format (AVIF) image/avif

AV1 Image Sequence Format (AVIFS)

image/avif-sequence

IDOL KeyView (12.11)

Extension RVT, RFA, RTE, RFT FCSTD PAR

File Class adCAD
adCAD adCAD

ASM

adCAD

PSM

adCAD

SVPJ

adCAD

Readers

PARQUET
AES SXM

adDATABASE

parquetsr

adENCAPSULATION adMISC

MML, MATHML ABR

adMISC adMISC

ACB

adMISC

PRPROJ, PREL

adMISC

PTL

adMISC

PRTL

adMISC

MEMGRAPH

adDATABASE

MEMGRAPH

adDATABASE

AVIF AVIFS

adRASTERIMAGE adANIMATION

Page 167 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

Format Name IVF_Fmt AV1_Image_IVF_ Fmt VP8_IVF_Fmt HPROF_Fmt

Number 1568 1569
1570 1571

XLIFF_

1572

Compressed_Fmt

Scenarist_Caption_ 1573 Fmt
SubRip_Text_Fmt 1574

EBU_Subtitling_ Fmt

1575

Apache_ORC_Fmt 1576

NES_Sound_Fmt IW13_IWA_Fmt

1577 1578

BioRad_Image_ Fmt
NIfTI_Fmt

1579 1580

MRC_DV_Fmt

1581

MRC_CCP4_Fmt ECAT_PET_Fmt OME_XML_Fmt

1582 1583 1584

Panasonic_RAW_ Fmt
Panasonic_RW2_ Fmt

1585 1586

Category 1499 1500 1501 1502 1503
1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515
1516 1517

Description

MIME Type

IVF container document

AV1 Image (IVF container) image/avif

VP8 Video (IVF container)

HPROF Java Profiler document

application/vnd.java.hprof

XML Localization Interchange File Format compressed (XLIFF)

application/xliff+zip

Scenarist Closed Caption document

SubRip Text (STT) subtitles document

EBU Subtitling data exchange format

Apache ORC (Optimized Row Columnar) data

NES Sound File

Apple iWork 2013 IWA document

BioRad confocal image

NIfTI (NII) neuroimaging document

MRC Deltavision (DV) / Priism image

MRC CCP4 2014 image

ECAT medical PET image

Open Microscopy Environment (OME) XML document

Panasonic RAW or Leica image/x-panasonic-raw RWL image

Panasonic RW2 image

image/x-panasonic-rw2

IDOL KeyView (12.11)

Extension IVF AVIF, AVIFS VP8 HPROF XLZ
SCC SRT STL ORC NSF IWA PIC NII DV MRC V XML
RAW, RWL RW2

File Class adRASTERIMAGE adRASTERIMAGE

Readers

adMOVIE adMISC

adWORDPROCESSOR

adWORDPROCESSOR

adWORDPROCESSOR

adWORDPROCESSOR

adDATABASE

orcsr

adSOUND adMISC

adSCIENTIFIC

adSCIENTIFIC

adSCIENTIFIC

adSCIENTIFIC adSCIENTIFIC adSCIENTIFIC

adRASTERIMAGE adRASTERIMAGE

Page 168 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

Format Name

Number

FujiFilm_RAF_Fmt 1587

Olympus_ORF_ Fmt

1588

HEVC_Fmt

1589

PAM_Fmt

1590

Paris_Audio_Fmt 1591

Calendar_Creator_ 1592 Fmt

IWork_2013_ Protected_Fmt

1593

Corel_Wavelet_ WVL_Fmt

1594

Corel_Wavelet_ WI_Fmt

1595

Corel_Painter_ RIF_Fmt

1596

OmniPage_MET_ 1597 Fmt

OmniPage_OPD_ 1598 Fmt

GPS_Exchange_ Fmt

1599

GL_Transmission_ 1600 Fmt

CorelChart_Fmt

1601

LocoScript_PCW_ 1602 Fmt

LocoScript_DOS_ 1603 Fmt

IWork_2005_ Protected_Fmt

1604

Category 1518 1519 1520
1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535

Description FujiFilm RAF image Olympus ORF image

MIME Type image/x-fuji-raf image/x-olympus-orf

High Efficiency Video Coding (HEVC) MP4 document

video/h265

Portable Arbitrary Map (PAM) image

image/x-portable-arbitrarymap

Paris Audio Format

Broderbund Calendar Creator document (v4+)

iWork 2013 passwordprotected document

Corel Wavelet WVL image

Corel Wavelet WI image

Corel Painter RIFF image

Caere OmniPage MET document
Caere OmniPage OPD document
GPS Exchange Format

application/gpx+xml

GL Transmission Text Format
CorelChart document
LocoScript document for Amstrad PCW
LocoScript document for MS-DOS
iWork 2005-2009 password-protected document

model/gltf+json

IDOL KeyView (12.11)

Extension RAF ORF
HEVC, H265

File Class adRASTERIMAGE adRASTERIMAGE
adMOVIE

Readers

PAM

adRASTERIMAGE

FAP, PAF
CC3, CE3, CC5, BCC
PAGES, NUMBERS, KEY
WVL

adSOUND adSCHEDULE adWORDPROCESSOR adRASTERIMAGE

WI

adRASTERIMAGE

RIF

adRASTERIMAGE

MET

adMISC

OPD

adMISC

GPX

adGIS

GLTF

adCAD

CCH

adVECTORGRAPHIC adWORDPROCESSOR

adWORDPROCESSOR

PAGES, NUMBERS, KEY

adWORDPROCESSOR

Page 169 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

Format Name JAR_Pack_Fmt

Number 1605

GDIFF_Fmt

1606

AFP_Fmt

1607

NSIF_Fmt

1608

XSL_FO_Fmt

1609

Consolidated_ CDA_Fmt
WebAssembly_ Binary_Fmt
Visual_Studio_ SDF_Fmt

1610 1611 1612

MS_Pocket_Word_ 1613 PocketPC_Fmt

PEA_Fmt

1614

MS_Pocket_Excel_ 1615 PocketPC_Fmt

TTML_Fmt

1616

Visual_

1617

SourceSafe_SCC_

Fmt

NetBeans_Profiler_ 1618 Fmt

Mac_Alias_Fmt

1619

Firebird_DB_Fmt 1620

InterBase_DB_Fmt 1621

LZip_Fmt

1622

Category 1536 1537 1538 1539 1540 1541 1542 1543
1544 1545 1546 1547
1567
1548 1549 1550 1551 1552

Description

MIME Type

Java Archive compressed application/x-java-pack200 with pack200

GDIFF (Generic Diff) document

application/gdiff

IBM Advanced Function application/vnd.ibm.modcap Presentation (AFP) image

NATO Secondary Image Format (NSIF) image

XSL Formatting Object (XSL-FO)

Consolidated CDA document

WebAssembly (WASM) binary-code

application/wasm

Microsoft Visual Studio browsing database (sdf) file

Microsoft Pocket Word for Pocket PC

PEA (Pack, Encrypt, Authenticate) archive

Microsoft Pocket Excel for Pocket PC

Timed Text Markup Language (TTML) document

Microsoft Visual SourceSafe SCC (Source Code Control) file

Java NetBeans Profiler snapshot

Mac OS alias file

Firebird database

InterBase database

lzip compressed archive application/lzip

IDOL KeyView (12.11)

Extension PACK
AFP NSF FO, XSLFO XML WASM SDF
PSW, PWI PEA PXL TTML
SCC
NPS
FDB GDB LZ

File Class adENCAPSULATION

Readers

adMISC

adRASTERIMAGE

adRASTERIMAGE

adWORDPROCESSOR xmlsr

adWORDPROCESSOR xmlsr

adEXECUTABLE

adSWDEV

adWORDPROCESSOR adENCAPSULATION adSPREADSHEET adWORDPROCESSOR

adMISC

adSWDEV
adMISC adDATABASE adDATABASE adENCAPSULATION

Page 170 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

Format Name
UltraCompressor_ Fmt
PostgreSQL_ Filenode_Fmt

Number 1623
1624

Zebra_Metafile_ Fmt

1625

Kodak_Cineon_ Fmt

1626

Apple_Image2_Fmt 1627

Apple_Image3_Fmt 1628

Apple_Image4_Fmt 1629

Apple_EFI_Image_ 1630 Fmt

Secure_Capsule_ 1631 Fmt

Compact_Font_ Fmt

1632

QML_Cached_Fmt 1633

KV_Mail_Subfile_ 1634 Fmt

JSON_Fmt DesignPro_Fmt

1635 1636

Edraw_Max_Fmt ActivInspire_Fmt

1637 1638

ActivStudio_Fmt 1639

Gravit_Designer_ Fmt

1640

Category 1553 1554
1555 1556 1557 1558 1559 1560 1561 1562 1563 1564
1565 1566 1568 1569 1570 1571

Description

MIME Type

UltraCompressor II archive

PostgreSQL mapped relation file (pg_ filenode.map)
Zoner Zebra Metafile image
Kodak Cineon image

Apple iOS Image2 document
Apple iOS Image3 document
Apple iOS Image4 document
Apple EFI Image

MacOS Secure Capsule firmware update

Adobe Compact Font Format (CFF)

application/font-cff

QML Cached document

Internal mail file produced by KeyView extraction from a mail container format

JSON document

application/json

Avery DesignPro document

Edraw Max document

ActivInspire flipchart document

ActivStudio and ActivPrimary document

Gravit Designer document

IDOL KeyView (12.11)

Extension UC2 MAP
ZBR CIN IMG2 IMG3 IMG4, IM4M EFIRES SCAP CFF QMLC MAIL

File Class adENCAPSULATION

Readers

adDATABASE

adVECTORGRAPHIC adRASTERIMAGE adOS adOS adOS adOS adOS adFONT adSWDEV adWORDPROCESSOR afsr

JSON ZDL, ZDP
EDDX FLIPCHART
FLP
GVDESIGN

adWORDPROCESSOR adPRESENTATION
adPRESENTATION adPRESENTATION
adPRESENTATION
adVECTORGRAPHIC

Page 171 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

Format Name SANM_Fmt

Number 1641

ICEDraw_Fmt

1642

MS_Equation_Fmt 1643

Affinity_Fmt

1644

IOS_App_Store_ Package_Fmt

1645

Minitab_ Worksheet_Fmt

1646

Minitab_

1647

Worksheet_12_Fmt

Minitab_

1648

Worksheet_14_Fmt

Minitab_

1649

Worksheet_19_Fmt

Minitab_Project_ Fmt

1650

Minitab_Project_ 19_Fmt

1651

NIST_ITL_Fmt

1652

Silo_SIA_Fmt

1653

Silo_SIB_Fmt

1654

XCBF_Fmt

1655

Zoner_Draw_OLE_ 1656 Fmt

Zoner_Photo_ Studio_Fmt

1657

Calligra_Plan_Fmt 1658

Category 1572 1573 1574 1575
1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587
1588 1589

Description

MIME Type

LucasArts Smush SANM animation

iCEDraw character graphics image

Microsoft Equation Editor object

Affinity Photo/Publisher/Designer document

iOS App Store Package

Minitab worksheet v5-6

Minitab worksheet v12-13

Minitab worksheet v14-18

Minitab worksheet v19-

Minitab project up to v18

Minitab project v19-

NIST-ITL standard data
Nevercenter Silo 3D ASCII model
Nevercenter Silo 3D binary model
XML Common Biometric Format
Zoner Draw / Zoner Callisto Metafile (ZMF) version 2-3
Zoner Photo Studio document
Calligra Plan document application/x-vnd.kde.plan

IDOL KeyView (12.11)

Extension SNM, ZNM

File Class adANIMATION

Readers

IDF

adRASTERIMAGE

adWORDPROCESSOR

AFPHOTO, AFPUB, adRASTERIMAGE AFDESIGN, AFTEMPLATE

IPA

adENCAPSULATION

MTW

adSCIENTIFIC

MTW

adSCIENTIFIC

MTW

adSCIENTIFIC

MWX

adSCIENTIFIC

MPJ

adSCIENTIFIC

MPX

adSCIENTIFIC

XML SIA

adSCIENTIFIC adCAD

SIB

adCAD

XML

adSCIENTIFIC

ZMF

adVECTORGRAPHIC

ZPS PLAN

adRASTERIMAGE adSCHEDULE

Page 172 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

Format Name Symbol_ Dynamics_EXP5_ Fmt REX2_Fmt WPS_Office_WP_ Fmt WPS_Office_PG_ Fmt WPS_Office_SS_ Fmt MS_InfoPath_Fmt
MS_InfoPath_ XSF_Fmt PerfectWorks_Fmt
CAJ_Fmt
CAJ2_Fmt
KDH_Fmt
MS_DLL_Fmt

Number 1659
1660 1661 1662 1663 1664 1665 1666 1667 1668
1669
1670

Category 1590
1591 1592 1593 1594 1595 1596 1597 1598 1599
1600
1601

Description
Symbol Dynamics EXP v5+ document

MIME Type

REX2 audio file Kingsoft WPS Office Writer application/wps-office.wps

Kingsoft WPS Office Presentation

application/wps-office.dps

Kingsoft WPS Office Spreadsheet

application/wps-office.et

Microsoft InfoPath document

Microsoft InfoPath form definition

Novell PerfectWorks document

Chinese Academic Journal CAJ document (2010-)

Chinese Academic Journal CAJ document (20052010)

Chinese Academic Journal KDH document (20002005)

Microsoft Dynamic Link Library (DLL)

Extension WXP
RX2 WPS, DOC DPS, PPT ET, XLS XSN XSF WPW CAJ CAJ
KDH, CAJ
DLL, PYD

File Class

Readers

adWORDPROCESSOR stringssr

adSOUND adWORDPROCESSOR mw8sr

adPRESENTATION

kpp97rdr

adSPREADSHEET

xlssr

adENCAPSULATION

adWORDPROCESSOR

adWORDPROCESSOR

adWORDPROCESSOR

adWORDPROCESSOR

adWORDPROCESSOR

adLIBRARY

1MHT, EML, and MBX files might return either format 2, 233, or 395, depending on the text in the file. In general, files that contain fields such as To, From, Date, or Subject are considered to be email messages; files that contain fields such as content-type and mime-version are considered to be MHT files; and files that do not contain any of those fields are considered to be text files. 2All CAT file extensions, for example CATDrawing, CATProduct, CATPart, and so on.
3This format is returned only if you enable source code identification. See Source Code Identification, on page 79.
4This format is returned only if you enable extended source code identification. See Source Code Identification, on page 79.

IDOL KeyView (12.11)

Page 173 of 286

File Classes

Attribute Number Description

File class

0

No file class

AutoDetNoFormat

01

Word processor

adWORDPROCESSOR

02

Spreadsheet

adSPREADSHEET

03

Database

adDATABASE

04

Raster image

adRASTERIMAGE

05

Vector graphic

adVECTORGRAPHIC

06

Presentation

adPRESENTATION

07

Executable

adEXECUTABLE

08

Encapsulation

adENCAPSULATION

09

Sound

adSOUND

10

Desktop publishing

adDESKTOPPUBLSH

11

Outline/planning

adOUTLINE

12

Miscellaneous

adMISC

13

Mixed format

adMIXED

14

Font

adFONT

15

Time scheduling

adSCHEDULE

16

Communications

adCOMMUNICATION

17

Object module

adOBJECTMODULE

18

Library module

adLIBRARY

19

Fax

adFAXFORMAT

20

Movie

adMOVIE

21

Animation

adANIMATION

22

Source Code

adSOURCECODE

23

Computer-Aided Design adCAD

IDOL KeyView (12.11)

Page 174 of 286

Filter SDK .NET Programming Guide Appendix A: Supported Formats

Attribute Number Description

File class

24

BI and analysis tools adANALYTICS

25

Scientific data

adSCIENTIFIC

26

Geographic Info System adGIS

27

Software Development adSWDEV

28

Operating System

adOS

IDOL KeyView (12.11)

Page 175 of 286

Appendix B: Document Readers

This section lists the KeyView document readers that are available to filter, export, and view supported file formats.

· Key to Document Readers Table

176

· Document Readers

178

Key to Document Readers Table

The document readers table includes the following information.

Column

Description

Reader Description Filter Export View

The name of the reader. A description of the reader. Shows whether KeyView can filter text from the main content of the file. Shows whether KeyView supports export to HTML, XML, and PDF. Shows whether KeyView provides viewing capability.

Extract Metadata
Charset

Shows whether KeyView can extract sub-files.
Shows whether KeyView can extract metdata (properties such as title, author, and subject).
Shows whether KeyView can detect and extract the character set. Even though a file format might be able to provide character set information, some documents might not contain character set information. Therefore, the document reader would not be able to determine the character set of the document.

H/F
Associated File Formats

Shows whether KeyView can extract headers and footers. The file formats that are supported by the reader.

Key to Symbols

Symbol Description

Y

The feature is supported.

IDOL KeyView (12.11)

Page 176 of 286

Filter SDK .NET Programming Guide Appendix B: Document Readers

Key to Symbols, continued

Symbol Description

N

The feature is not supported.

P

Partial metadata is extracted from this format. Some non-standard fields are not

extracted.

T

Only text is extracted from this format. Formatting information is not extracted.

M

Only metadata (title, subject, author, and so on) is extracted from this format. Text and

formatting information are not extracted.

IDOL KeyView (12.11)

Page 177 of 286

Document Readers

Reader
ActiveX components ad1sr afmsr
afsr

Description
Microsoft Visio (2013)

Filter Export View Extract Metadata Charset H/F Associated File Formats

N

N

Y1

N

Y

N

N

MS_Visio_2013_

Fmt

AD1 Evidence file N

N

Y

Y

N

n/a

N

AD1_Fmt

Adobe Font Metrics Y

T

T

N

N

N

N

Adobe_Font_

Metrics_Fmt

ASCII Text

Y

Y

Y

N

N

N

N

ABAP_Fmt, AMPL_

Fmt, APL_Fmt,

ASCII_Text_Fmt,

1Visio 2013 is supported in Viewing only, with the support of ActiveX components from the Microsoft Visio 2013 Viewer. Image fidelity is supported but other features, such as highlighting, are not.

IDOL KeyView (12.11)

Page 178 of 286

Filter SDK .NET Programming Guide Appendix B: Document Readers

Reader

Description

Filter Export View Extract Metadata Charset H/F Associated File Formats
ASN1_Fmt, ATS_ Fmt, Agda_Fmt, Alloy_Fmt, Apex_ Fmt, AppleScript_ Fmt, Arduino_Fmt, AsciiDoc_Fmt, AspectJ_Fmt, Assembly_Fmt, Awk_Fmt, BlitzMax_ Fmt, Bluespec_Fmt, Brainfuck_Fmt, Brightscript_Fmt, CLIPS_Fmt, CMake_Fmt, COBOL_Fmt, CPlusPlus_Fmt, CWeb_Fmt, C_Fmt, CartoCSS_Fmt, Ceylon_Fmt, Chapel_Fmt, Clarion_Fmt, Clean_Fmt, Clojure_Fmt,

IDOL KeyView (12.11)

Page 179 of 286

Filter SDK .NET Programming Guide Appendix B: Document Readers

Reader

Description

Filter Export View Extract Metadata Charset H/F Associated File Formats
CoffeeScript_Fmt, Component_ Pascal_Fmt, Cool_ Fmt, Coq_Fmt, Creole_Fmt, Crystal_Fmt, Csharp_Fmt, Csound_ Document_Fmt, Csound_Fmt, Css_ Fmt, Cuda_Fmt, DIGITAL_ Command_ Language_Fmt, DTrace_Fmt, D_ Fmt, Dart_Fmt, Dockerfile_Fmt, ECL_Fmt, E_Fmt, Eiffel_Fmt, Elm_ Fmt, Emacs_Lisp_ Fmt, EmberScript_ Fmt, Erlang_Fmt, Fantom_Fmt, Forth_ Fmt, Fortran_Fmt,

IDOL KeyView (12.11)

Page 180 of 286

Filter SDK .NET Programming Guide Appendix B: Document Readers

Reader

Description

Filter Export View Extract Metadata Charset H/F Associated File Formats
FreeMarker_Fmt, Frege_Fmt, Fsharp_ Fmt, GAMS_Fmt, GAP_Fmt, GDScript_Fmt, GIS_World_File_ Fmt, GLSL_Fmt, G_ code_Fmt, Game_ Maker_Language_ Fmt, Gnuplot_Fmt, Go_Fmt, Golo_Fmt, Gosu_Fmt, Gradle_ Fmt, GraphQL_Fmt, Graphviz_DOT_ Fmt, Groovy_Fmt, HLSL_Fmt, Hack_ Fmt, Haml_Fmt, Handlebars_Fmt, Haskell_Fmt, Hy_ Fmt, IDL_Fmt, IGOR_Pro_Fmt, Idris_Fmt, Inform_ 7_Fmt, Ini_Fmt, Ioke_Fmt, Isabelle_ Fmt, JSONiq_Fmt, JSX_Fmt, J_Fmt,

IDOL KeyView (12.11)

Page 181 of 286

Filter SDK .NET Programming Guide Appendix B: Document Readers

Reader

Description

Filter Export View Extract Metadata Charset H/F Associated File Formats
Jasmin_Fmt, Java_ Fmt, Javascript_ Fmt, Jolie_Fmt, Julia_Fmt, KV_ Mail_Subfile_Fmt, KiCad_Layout_Fmt, KiCad_Schematic_ Fmt, Kotlin_Fmt, LFE_Fmt, LOLCODE_Fmt, Lasso_Fmt, Limbo_ Fmt, Lisp_Fmt, LiveScript_Fmt, Lua_Fmt, MAXScript_Fmt, ML_Fmt, MSDOS_ Batch_File_Fmt, M_ Fmt, Makefile_Fmt, Markdown_Fmt, Mathematica_Fmt, Matlab_Fmt, Max_ Code_Fmt, Mercury_Fmt, Modelica_Fmt, Modula_2_Fmt, Monkey_Fmt, Moocode_Fmt, NL_

IDOL KeyView (12.11)

Page 182 of 286

Filter SDK .NET Programming Guide Appendix B: Document Readers

Reader

Description

Filter Export View Extract Metadata Charset H/F Associated File Formats
Fmt, NSIS_Fmt, NetLogo_Fmt, NewLisp_Fmt, Nginx_Fmt, Nix_ Fmt, Nu_Fmt, OCaml_Fmt, ObjC_ Fmt, ObjCpp_Fmt, ObjJ_Fmt, OpenCL_Fmt, OpenEdge_ABL_ Fmt, OpenSCAD_ Fmt, Ox_Fmt, Oxygene_Fmt, Oz_ Fmt, PAWN_Fmt, PHP_Fmt, PLSQL_ Fmt, PLpgSQL_ Fmt, Pan_Fmt, Parrot_Assembly_ Fmt, Pascal_Fmt, Perl_Fmt, PicoLisp_ Fmt, Pike_Fmt, Pony_Fmt, Powershell_Fmt, Processing_Fmt, Prolog_Fmt, Puppet_Fmt, PureBasic_Fmt, Python_Fmt, QMake_Fmt,

IDOL KeyView (12.11)

Page 183 of 286

Filter SDK .NET Programming Guide Appendix B: Document Readers

Reader

Description

Filter Export View Extract Metadata Charset H/F Associated File Formats
RAML_Fmt, RDoc_ Fmt, REXX_Fmt, R_ Fmt, Racket_Fmt, Ragel_Fmt, Rascal_ Fmt, Rebol_Fmt, Red_Fmt, RenPy_ Fmt, RenderScript_ Fmt, Ring_Fmt, RobotFramework_ Fmt, Ruby_Fmt, Rust_Fmt, SAS_ Fmt, SGML_Fmt, SPARQL_Fmt, SQLPL_Fmt, SQL_ Fmt, SaltStack_Fmt, Scala_Fmt, Scheme_Fmt, Scilab_Fmt, Scribe_ Fmt, Shell_Fmt, Smalltalk_Fmt, Squirrel_Fmt, Stan_ Fmt, Stata_Fmt, Stylus_Fmt, SuperCollider_Fmt, Swift_Fmt, SystemVerilog_Fmt, TSV_Fmt, TSV_ Fmt, TXL_Fmt, Tcl_ Fmt, Tex_Fmt, Turing_Fmt, Turtle_ Fmt, TypeScript_

IDOL KeyView (12.11)

Page 184 of 286

Filter SDK .NET Programming Guide Appendix B: Document Readers

Reader
aiffsr asfsr assr avrosr

Description

Filter Export View Extract Metadata Charset H/F Associated File Formats

Fmt, UrWeb_Fmt, Verilog_Fmt, Vim_ script_Fmt, Visual_ Basic_Fmt, WebAssembly_Fmt, WebIDL_Fmt, Wiki_ Fmt, X10_Fmt, XQuery_Fmt, Xojo_ Fmt, Xtend_Fmt, YAML_Fmt, YANG_ Fmt, Zephir_Fmt, eC_Fmt, reStructuredText_ Fmt, xBase_Fmt

Audio Interchange M

N

N

N

Y

File Format

N

N

AIFF_Fmt

Advanced Systems N

N

N

N

Y

Format (1.2)

N

N

ASF_Fmt, WMA_

Fmt, WMV_Fmt

Applix

Y

Y

Y

N

N

Spreadsheets (4.2,

4.3, 4.4)

Y

N

Applix_

Spreadsheets_Fmt

Apache Avro binary Y1

N

N

N

N

format

N

N

Avro_Fmt

1This reader is only supported on Windows x86_64 and Linux x86_64 IDOL KeyView (12.11)

Page 185 of 286

Filter SDK .NET Programming Guide Appendix B: Document Readers

Reader awsr axsr b1sr bkfsr bmpsr bzip2sr cabsr cdsr
cebsr1 chmsr

Description

Filter Export View Extract Metadata Charset H/F Associated File Formats

Applix Words (3.11, Y

Y

Y

N

N

4, 4.1, 4.2, 4.3, 4.4)

Y

Y

Applix_Words_Fmt

Applix Asterix

Y

T

T

N

N

N

N

Applix_Alis_Fmt

B1

N

N

Y

Y

N

n/a

N

B1_Fmt

Microsoft Backup N

N

Y

Y

N

File

n/a

N

BKF_Fmt

Windows Bitmap

M

M

N

N

Y

Image

N

N

BMP_Fmt

Bzip2 Compressed N

N

Y

Y

N

File

n/a

N

BZIP2_Fmt

Microsoft Cabinet N

N

Y

Y

N

File (1.3)

n/a

N

CAB_Fmt

Convergent

Y

T

T

N

N

Technologies DEF

Comm. Format

N

N

CT_DEF_Fmt

Founder Chinese E- Y

N

N

N

N

paper Basic (3.2.1)

N

N

Founder_CEB_Fmt

Microsoft Compiled N

N

Y

Y

N

HTML Help (3)

n/a

N

CHM_Fmt

1This reader is only supported on Windows 32-bit platforms. Because of known security vulnerabilities in the third party library used for this format, cebsr is disabled in formats.ini and needs to be explicitly enabled if you wish to use it.

IDOL KeyView (12.11)

Page 186 of 286

Filter SDK .NET Programming Guide Appendix B: Document Readers

Reader csvsr dbfsr dbxsr
dcasr
dcmsr difsr dmgsr dw4sr

Description

Filter Export View Extract Metadata Charset H/F Associated File Formats

CSV (Comma

Y

Y

Y

N

N

Separated Values)

N

N

CSV_Fmt

dBase Database

Y

Y

Y

N

N

(III+, IV)

N

N

dBase_Fmt

Microsoft Outlook N

N

Y

Y

Y

Express DBX

Message Database

(5.0, 6.0)

Y

N

MS_OEDBX_Fmt

IBM DCA/RFT

Y

Y

Y

N

N

(Revisable Form

Text) (SC23-0758-

1)

Y

N

DCA_RFT_Fmt

Digital Imaging &

M

N

N

N

Y

Communications in

Medicine (DICOM)

N

N

Dicom_Fmt

Data Interchange Y

Y

Y

N

N

Format

N

N

DIF_SpreadSheet_

Fmt

Mac Disk Copy Disk N

N

Y

Y

N

Image

n/a

N

DMG_Fmt

DisplayWrite (4)

Y

Y

Y

N

N

Y

N

IBM_Display_Write_

Fmt

IDOL KeyView (12.11)

Page 187 of 286

Filter SDK .NET Programming Guide Appendix B: Document Readers

Reader dxlsr emlsr2
emxsr encase2sr encasesr entsr epubsr exesr

Description

Filter Export View Extract Metadata Charset H/F Associated File Formats

IBM Domino Data in N

N

Y

Y

Y

XML format1

N

N

Lotus_Domino_

DXL_Fmt

Text Mail (MIME) / Y

T

T

Y

Y

Microsoft Outlook

Express (Windows

6, MacIntosh 5)

Y

N

SMTP_Fmt

Legato

N

N

Y

Y

N

EMailXtender

Archives

n/a

N

EMX_Fmt

Expert Witness

N

N

Y

Y

N

Compression

Format (EnCase) (7)

n/a

N

EnCase_Fmt

Expert Witness

N

N

Y

Y

N

Compression

Format (EnCase) (6)

n/a

N

EnCase_Fmt

Microsoft Entourage N

N

Y

Y

Y

Database (2004)

Y

N

ENT_Fmt

Open Publication Y

Y

Y

N

Y

Structure eBook

(2.0, 3.0)

Y

N

Epub_Fmt, iBooks_

Fmt

MSDOS/Windows N

N

Y

N

N

n/a

N

MS_Executable_

1Supports non-encrypted embedded files only. 2This reader supports both clear signed and encrypted S/MIME. KeyView supports S/MIME for PST, EML, MBX, and MSG files.

IDOL KeyView (12.11)

Page 188 of 286

Filter SDK .NET Programming Guide Appendix B: Document Readers

Reader
foliosr gdsiisr gifsr gitpacksr gwfssr hl7sr htmlsr1
htmsr
hwposr

Description

Filter Export View Extract Metadata Charset H/F Associated File Formats

Executable

Fmt

Folio Flat File (3.1) Y

Y

Y

N

Y

Y

Y

Folio_Flat_Fmt

GDSII data format Y

T

T

N

N

N

N

GDSII_Fmt

GIF (87, 89)

M

M

N

N

Y

N

N

GIF_87a_Fmt, GIF_

89a_Fmt

Git Packfile

N

N

Y

Y

N

n/a

N

Git_Packfile_Fmt

GroupWise FileSurf N

N

Y

Y

Y

email

N

N

GWFS_Email_Fmt

Health level7

Y

Y

Y

N

Y

message (2.0)

Y

N

Hl7_Fmt

HTML

N

N

N

N

Y

N

N

MS_Excel_HTML_

Fmt, MS_Word_

HTML_Fmt

HTML/XHTML (3, 4) Y

Y

Y

N

Y2

Y

N

HTML_Fmt,

Netscape_

Bookmark_File_Fmt

Haansoft Hangul

Y

Y

Y

Y

Y

HWP (2002, 2005,

2007, 2010)

Y

N

HWP_Fmt

1This reader is not available for Solaris. 2HTML only supports partial metadata extraction
IDOL KeyView (12.11)

Page 189 of 286

Filter SDK .NET Programming Guide Appendix B: Document Readers

Reader hwpsr hwpxsr ichatsr icssr isosr iwss13sr1
iwsssr iwwp13sr2
iwwpsr

Description

Filter Export View Extract Metadata Charset H/F Associated File Formats

Haansoft Hangul

Y

Y

Y

N

Y

HWP (97)

Y

N

HWP_Fmt

Haansoft Hangul

Y

T

T

N

N

HWPX

Y

N

HWPX_Fmt

Apple iChat Log (1, Y

Y

Y

N

N

AV 2, AV 2.1, AV 3)

N

N

Apple_iChat_Fmt

Microsoft Outlook N

N

Y

Y

Y

iCalendar (1.0, 2.0)

Y

N

ICS_Fmt

ISO-9660 CD Disc N

N

Y

Y

N

Image

n/a

N

ISO_Fmt

Apple iWork

Y

T

T

N

N

Numbers ('13, '16,

'18, iCloud 2018)

Y

N

IWSS13_Fmt

Apple iWork

Y

Y

Y

N

Y

Numbers ('08, '09)

Y

N

IWSS_Fmt

Apple iWork Pages Y

T

T

N

N

('13, '16, '18, iCloud

2018)

N

N

IWWP13_Fmt

Apple iWork Pages Y

Y

Y

N

Y

('08, '09)

Y

N

IWWP_Fmt

1This reader is available only on Windows (32-bit and 64-bit), Linux (32-bit and 64-bit), and Solaris x86-64. 2This reader is available only on Windows (32-bit and 64-bit), Linux (32-bit and 64-bit), and Solaris x86-64.
IDOL KeyView (12.11)

Page 190 of 286

Filter SDK .NET Programming Guide Appendix B: Document Readers

Reader jp2000sr
jpgsr jtdsr kpagrdr kpanirdr kpbmprdr

Description

Filter Export View Extract Metadata Charset H/F Associated File Formats

JPEG (2000)

M

M

N

N

Y

N

N

ISO_JPEG2000_

JP2_Fmt, ISO_

JPEG2000_JPM_

Fmt, ISO_

JPEG2000_JPX_

Fmt, JPEG_2000_

JP2_File_Fmt,

JPEG_2000_PGX_

Fmt, Motion_JPEG_

2000_Fmt

JPEG Interchange M

M

N

N

Y

Format (JFIF)

N

N

JPEG_File_

Interchange_Fmt

JustSystems

Y

Y

Y

N

P

Ichitaro (8 to 2013,

2018)

N

Y

ICHITARO_Compr_

Fmt, ICHITARO_

Fmt

Applix

Y

Y

Y

N

N

Presents/Graphics

(4.0, 4.2, 4.3, 4.4)

N

N

Applix_Graphics_

Fmt

Windows Animated N

Y

Y

N

N

Cursor

N

N

Windows_

Animated_Cursor_

Fmt

Windows Bitmap

Y1

Y

Y

N

N

Image

N

N

BMP_Fmt

1Filtering is supported through OCR, which is only available on Windows 64-bit and Linux 64-bit platforms, and is licensed separately.

IDOL KeyView (12.11)

Page 191 of 286

Filter SDK .NET Programming Guide Appendix B: Document Readers

Reader kpCATrdr kpcdrrdr kpcgmrdr2
kpchtrdr
kpdcxrdr kpDWGrdr3 kpDXFrdr4

Description

Filter Export View Extract Metadata Charset H/F Associated File Formats

CATIA formats (5) Y

N

N

N

Y

CorelDRAW1

N

Y

Y

N

N

(through 9.0, 10, 11,

12, X3)

N

N

CATIA_Fmt

N

N

Corel_Draw_Fmt

Computer Graphics Y

Y

Y

N

N

Metafile

N

N

CGM_Binary_Fmt,

CGM_Character_

Fmt, CGM_

ClearText_Fmt

Microsoft Excel (2-7) N

Y

Y

N

N

and Lotus 1-2-3

Charts (2-5)

N

N

DCX Fax System N

Y

Y

N

N

N

N

DCX_Fmt

Autodesk AutoCAD Y

Y

Y

N

Y

DWG Drawing (R13

onwards)

Y

N

AutoDesk_DWG_

Fmt

Autodesk AutoCAD Y

Y

Y

N

Y

DXF Drawing (R13

onwards)

Y

N

AutoCAD_DXF_

Binary_Fmt,

AutoCAD_DXF_

1CDR/CDR with TIFF header. 2Files with non-partitioned data are supported. 3The kpDWGrdr exists to provide DWG support on platforms where kpODArdr is not available. It is used on AIX, Solaris, and SPARC
platforms, but does not support graphics for versions after 2004 or text for versions after 2013. 4The kpDXFrdr exists to provide DXF support on platforms where kpODArdr is not available. It is used on AIX, Solaris, and SPARC platforms,
but does not support graphics for versions after 2004.

IDOL KeyView (12.11)

Page 192 of 286

Filter SDK .NET Programming Guide Appendix B: Document Readers

Reader

Description

Filter Export View Extract Metadata Charset H/F Associated File Formats

Text_Fmt

kpemfrdr

Enhanced Metafile Y

Y

Y

N

Y

N

N

Enhanced_

Metafile_Fmt

kpepsrdr

Encapsulated

N

Y

Y

N

N

PostScript (raster)

(TIFF header)

N

N

EPSF_Fmt,

Preview_EPSF_Fmt

kpGFLrdr

Omni Graffle

Y

N

N

N

Y

kpgifrdr

GIF (87, 89)

Y1

Y

Y

N

N

Y

N

Omni_Graffle_

XML_Fmt

N

N

GIF_87a_Fmt, GIF_

89a_Fmt

kpicordr

Windows Icon

N

Y

Y

N

N

Cursor

N

N

Windows_Icon_Fmt

kpIWPG13rdr2 Apple iWork

Y

T

N

N

N

Keynote ('13, '16,

'18, iCloud 2018)

N

N

IWPG13_Fmt

kpIWPGrdr

Apple iWork

Y

Y

Y

N

Y

Keynote (2, 3, '08,

'09)

Y

N

IWPG13_Fmt,

IWPG_Fmt

kpJBIG2rdr

JBIG2

Y3

Y

Y

N

N

N

N

JBIG2_Fmt

1Filtering is supported through OCR, which is only available on Windows 64-bit and Linux 64-bit platforms, and is licensed separately. 2This reader is available only on Windows (32-bit and 64-bit), Linux (32-bit and 64-bit), and Solaris x86-64. 3Filtering is supported through OCR, which is only available on Windows 64-bit and Linux 64-bit platforms, and is licensed separately.

IDOL KeyView (12.11)

Page 193 of 286

Filter SDK .NET Programming Guide Appendix B: Document Readers

Reader kpjp2000rdr
kpjpgrdr kpmacrdr kpmsordr kpODArdr3

Description

Filter Export View Extract Metadata Charset H/F Associated File Formats

JPEG (2000)

Y1

Y

Y

N

N

JPEG Interchange Y2

Y

Y

N

N

Format (JFIF)

N

N

ISO_JPEG2000_

JP2_Fmt, ISO_

JPEG2000_JPM_

Fmt, ISO_

JPEG2000_JPX_

Fmt, JPEG_2000_

JP2_File_Fmt,

JPEG_2000_PGX_

Fmt, Motion_JPEG_

2000_Fmt

N

N

JPEG_File_

Interchange_Fmt

MacPaint

N

Y

Y

N

N

N

N

MacPaint_Fmt

Microsoft Office

N

Y

Y

N

N

Drawing

N

N

MS_Office_

Drawing_Fmt

ODA

Y

Y

Y

N

Y

Y

N

AutoCAD_DXF_

Binary_Fmt,

AutoCAD_DXF_

Text_Fmt,

AutoDesk_DWG_

Fmt

1Filtering is supported through OCR, which is only available on Windows 64-bit and Linux 64-bit platforms, and is licensed separately. 2Filtering is supported through OCR, which is only available on Windows 64-bit and Linux 64-bit platforms, and is licensed separately. 3This reader is only supported on Windows (x86 and x86_64), Linux (x86 and x86_64) and macOS (x86_64 and M1).

IDOL KeyView (12.11)

Page 194 of 286

Filter SDK .NET Programming Guide Appendix B: Document Readers

Reader kpodfrdr
kpp40rdr kpp95rdr kpp97rdr kppctrdr

Description

Filter Export View Extract Metadata Charset H/F Associated File Formats

OASIS Open

Y

Y

Document Format (1, 21)

Y

Y2

Y

Y

N

ODF_Drawing_Fmt,

ODF_Drawing_

Template_Fmt,

ODF_Presentation_

Fmt, ODF_

Presentation_

Template_Fmt, SO_

Drawing_XML_Fmt,

SO_Presentation_

XML_Fmt

Microsoft

Y

Y

Y

N

P3

N

N

PowerPoint_Win_

PowerPoint (98)

Fmt

Microsoft

Y

Y

Y

N

P

PowerPoint

Windows (95)

Y

N

PowerPoint_95_Fmt

Microsoft

Y

Y

Y

N

P

PowerPoint (97-

2004)

Y

Y4 PowerPoint_2000_

Fmt, PowerPoint_

97_Fmt, WPS_

Office_PG_Fmt

Macintosh Raster / N

Y

Y

N

N

QuickDraw (2)

N

N

Mac_PICT_Fmt

1Generated by OpenOffice Impress 2.0, StarOffice 8 Impress, and IBM Lotus Symphony Presentation 3.0. 2Supported using the olesr embedded objects reader. 3Microsoft PowerPoint Windows only 4Microsoft PowerPoint Windows only
IDOL KeyView (12.11)

Page 195 of 286

Filter SDK .NET Programming Guide Appendix B: Document Readers

Reader kppcxrdr kppdf2rdr1 kppdfrdr kppicrdr kppngrdr kpppxrdr
kpprerdr
kpprzrdr
kpsddrdr

Description

Filter Export View Extract Metadata Charset H/F Associated File Formats

PC PaintBrush (3) N

Y

Y

N

N

N

N

PC_Paintbrush_Fmt

Adobe PDF (1.1 to N

N

Y

N

N

1.7, 2.0)

N

N

PDF_Fmt

Adobe PDF (1.1 to N

Y

Y

N

N

1.7, 2.0)

N

N

PDF_Fmt

Lotus PIC

Y

Y

Y

N

N

N

N

Lotus_PIC_Fmt

Portable Network Y2

Y

Y

N

N

Graphics

N

N

APNG_Fmt, PNG_

Fmt

Microsoft

Y

Y

Y

Y

Y

PowerPoint

Windows XML

(2007 onwards)

Y

Y

MS_PPT_2007_

Fmt, MS_PPT_

Macro_2007_Fmt

Lotus Freelance

Y

Y

Y

N

N

Graphics 2 (2)

N

N

Freelance_OS2_

Fmt, Freelance_

Win_Fmt

Lotus Freelance

Y

Y

Y

N

N

Graphics (96, 97,

98, R9, 9.8)

N

N

Freelance_96_Fmt,

Freelance_97_Fmt,

Freelance_DOS_

Fmt

StarOffice Impress Y

T

N

N

N

N

N

SO_Presentation_

1kppdf2rdr is an alternate graphic-based reader that produces high-fidelity output but does not support other features such as highlighting or
text searching. 2Filtering is supported through OCR, which is only available on Windows 64-bit and Linux 64-bit platforms, and is licensed separately.

IDOL KeyView (12.11)

Page 196 of 286

Filter SDK .NET Programming Guide Appendix B: Document Readers

Reader
kpsdwrdr kpsgirdr kpshwrdr
kpsunrdr kpTGArdr kptifrdr kpUGrdr kpVSD2rdr

Description

Filter Export View Extract Metadata Charset H/F Associated File Formats

(3, 4, 5)

Fmt

Lotus AMIDraw

N

Y

Y

N

N

Graphics

N

N

Ami_Pro_Draw_

Fmt, SO_Text_Fmt

SGI RGB Image

N

Y

Y

N

N

N

N

SGI_Image_Fmt

Corel Presentations Y

Y

Y

N

N

(6, 7, 8, 9, 10, 11,

12, X3)

N

N

Corel_

Presentations_Fmt

Sun Raster Image N

Y

Y

N

N

N

N

Sun_Raster_Fmt

Truevision Targa (2) N

Y

Y

N

N

N

N

Targa_Fmt

TIFF Tagged Image Y2

Y

Y

N

N

File (through 6.01)

N

N

TIFF_Fmt

Unigraphics (UG) Y

N

N

N

N

NX

N

N

Unigraphics_NX_

Fmt

Microsoft Visio (4, 5, Y

Y

Y

N

Y

2000, 2002, 2003,

2007, 20103)

Y

N

MS_Visio_Fmt

1The following compression types are supported: no compression, CCITT Group 3 1-Dimensional Modified Huffman, CCITT Group 3 T4 1Dimensional, CCITT Group 4 T6, LZW, JPEG (only Gray, RGB and CMYK color space are supported), and PackBits. 2Filtering is supported through OCR, which is only available on Windows 64-bit and Linux 64-bit platforms, and is licensed separately. 3Viewing and Export use the graphic reader, kpVSD2rdr for Microsoft Visio 2003, 2007, and 2010, and vsdsr for all earlier versions. Image fidelity in Viewing and Export is therefore only supported for versions 2003 and above. Filter uses the graphic reader kpVSD2rdr for Microsoft Visio 2003, 2007, and 2010, and vsdsr for all earlier versions.

IDOL KeyView (12.11)

Page 197 of 286

Filter SDK .NET Programming Guide Appendix B: Document Readers

Reader kpVSDXrdr
kpwg2rdr kpwmfrdr kpwpgrdr kpXFDLrdr

Description Microsoft Visio (2013)
WordPerfect Graphics 2 (2, 7) Windows Metafile (3)
WordPerfect Graphics 1 (1) Extensible Forms Description Language

Filter Export View Extract Metadata Charset H/F Associated File Formats

Y

Y

Y

Y

Y

Y

N

MS_Visio_2013_

Fmt, MS_Visio_

2013_Macro_Fmt,

MS_Visio_2013_

Stencil_Fmt, MS_

Visio_2013_Stencil_

Macro_Fmt, MS_

Visio_2013_

Template_Fmt, MS_

Visio_2013_

Template_Macro_

Fmt

N

Y

Y

N

N

Y1

Y

Y

N

N

N

N

WordPerfect_

Graphics_Fmt

N

N

Windows_Metafile_

Fmt, Windows_

Metafile_NoHdr_

Fmt

N

Y

Y

N

N

N

N

WordPerfect_

Graphics_Fmt

Y

Y

Y

N

Y

Y

N

XFDL_Fmt

1Windows Metafiles can contain both raster images (KeyView file class 4) and vector graphics (KeyView file class 5). Filtering is supported only for vector graphics (class 5).

IDOL KeyView (12.11)

Page 198 of 286

Filter SDK .NET Programming Guide Appendix B: Document Readers

Reader kvgz kvgzsr kvhqxsr kvzee kvzeesr l123sr
lasr
lwpsr3
lyxsr lzhsr

Description

Filter Export View Extract Metadata Charset H/F Associated File Formats

GZIP archive (2)

N

N

Y

N

N

n/a

N

GZ_Compress_Fmt

GZIP archive (2)

N

N

N

Y

N

n/a

N

GZ_Compress_Fmt

BinHex

N

N

Y

Y

N

n/a

N

BinHex_Fmt

UNIX Compress

N

N

Y

N

N

n/a

N

Compress_Fmt

UNIX Compress

N

N

N

Y

N

n/a

N

Compress_Fmt

Lotus 1-2-3 (96, 97, Y

Y

Y

N

P

R9, 9.8)

Y

N

Lotus_123_97_Fmt,

Lotus_123_Format_

Fmt, Lotus_123_

R9_Fmt

Lotus AMI Pro and Y

Y

Y

N

P1

Write Plus (2, 3)

Y2

Y

Ami_Pro_Fmt, Ami_

Pro_StyleSheet_

Fmt

Lotus Word Pro and Y

Y

Y

N

P4

N

Y5 Lotus_Word_Pro_

SmartMaster (96,

96_Fmt, Lotus_

97, R9)

Word_Pro_97_Fmt

LyX Word Processor Y

T

T

N

N

N

N

LyX_Fmt

Microsoft LZH

N

N

N

Y

N

n/a

N

LZH_Fmt

1Lotus AMI Pro only 2Lotus AMI Pro only 3This reader is only available on Windows 32-bit 4Lotus Word Pro only 5Lotus Word Pro only
IDOL KeyView (12.11)

Page 199 of 286

Filter SDK .NET Programming Guide Appendix B: Document Readers

Reader macbinsr mbsr mbxsr1
MCI

Description

Filter Export View Extract Metadata Charset H/F Associated File Formats

Compressed Folder

MacBinary

N

N

Y

Y

N

n/a

N

MacBinary_Fmt

Microsoft Word

Y

Y

Y

N

Y

Macintosh (4, 5, 6,

98)

Text Mail (MIME), Y3

N

T

Y

Y

Microsoft Outlook

Express (Windows

6, MacIntosh 5),

Mailbox2

(Thunderbird 1.0,

Eudora 6.2)

N

Y

MS_Word_Mac_4_

Fmt, MS_Word_

Mac_Fmt

Y

N

MIME_Fmt

Microsoft Media

N

N

Y

N

N

Control Interface

N

N

AIFF_Fmt, AU_

Audio_Fmt, ISO_

QuickTime_Fmt,

MIDI_Audio_Fmt,

MPEG_Audio_Fmt,

MS_Video_Fmt,

MS_WAVE_Audio_

Fmt, Mobile_

QuickTime_Fmt,

QuickTime_Fmt

1This reader supports both clear signed and encrypted S/MIME. KeyView supports S/MIME for PST, EML, MBX, and MSG files.
2KeyView supports MBX files created by Eudora Email and Mozilla Thunderbird. MBX files created by other common mail applications are typically filtered, converted, and displayed. 3Text Mail only

IDOL KeyView (12.11)

Page 200 of 286

Filter SDK .NET Programming Guide Appendix B: Document Readers

Reader mdbsr
mhtsr mifsr misr mp3sr mpeg4sr

Description

Filter Export View Extract Metadata Charset H/F Associated File Formats

Microsoft Access Y

T

T

N

N

(95 onwards)

Y1

N

MS_Access_2000_

Fmt, MS_Access_

2007_Fmt, MS_

Access_95_Fmt,

MS_Access_97_

Fmt, MS_Access_

Fmt

MIME HTML

Y

Y

Y

N

Y

(MHTML)

Y

N

MHT_Fmt

Adobe FrameMaker Y

Y

Y

N

N

Interchange Format

(5, 5.5, 6, 7)

Y

N

Maker_

Interchange_Fmt

Microsoft Word

Y

Y

Y

N

N

Windows (1.0, 2.0)

N

Y

MS_Word_Win_Fmt

MPEG-1 Audio

M

M

Y

N

Y

layer3 (ID3 v1 and

v2)

N

N

MPEG_Audio_Fmt

MPEG video

M

N

N

N

Y

N

N

Adobe_Flash_

Audio_Book_Fmt,

Adobe_Flash_

Audio_Fmt, Adobe_

Flash_Protected_

Video_Fmt, Adobe_

1Charset is not supported for Microsoft Access 95 or 97. IDOL KeyView (12.11)

Page 201 of 286

Filter SDK .NET Programming Guide Appendix B: Document Readers

Reader mppsr

Description
Microsoft Project (2000 onwards)

Filter Export View Extract Metadata Charset H/F Associated File Formats

Flash_Video_Fmt, Audible_ Audiobook_Fmt, ISO_3GPP2_Fmt, ISO_3GPP_Fmt, ISO_IEC_MPEG_ 4_Fmt, KDDI_ Video_Fmt, MPEG4_AVC_Fmt, MPEG4_M4A_Fmt, MPEG4_M4B_Fmt, MPEG4_M4P_Fmt, MPEG4_M4V_Fmt, MPEG4_Sony_ PSP_Fmt, MPEG_ 21_Fmt, NTT_ MPEG4_Fmt, Nero_ MPEG4_Audio_ Fmt, QuickTime_ Fmt, Sony_XAVC_ Fmt

Y

Y

Y

Y

Y

Y

N

MS_Project_2000_

Fmt, MS_Project_

2007_Fmt, MS_

Project_41_Fmt,

MS_Project_4_Fmt,

MS_Project_98_

Fmt

IDOL KeyView (12.11)

Page 202 of 286

Filter SDK .NET Programming Guide Appendix B: Document Readers

Reader msgsr1
mspubsr msw6sr mswsr multiarcsr6 mw6sr

Description

Filter Export View Extract Metadata Charset H/F Associated File Formats

Microsoft Outlook Y2

T3

Y4

Y

Y

(97 onwards),

Documentum

EMCMF

Y5

N

EMCMF_Fmt, MS_

Outlook_Fmt

Microsoft Publisher Y

T

T

Y

Y

(98 to 2016)

Y

N

MS_Publisher_98_

Fmt, MS_Publisher_

Fmt

Microsoft Works

Y

Y

Y

N

N

Word Processor for

Windows (6, 2000)

N

Y

MS_Works_Win_

WP_Fmt

Microsoft Works

Y

Y

Y

N

N

Word Processor for

Windows (1, 2, 3, 4)

Compressed

N

N

Y7

Y

N

formats

N

Y

MS_Works_Win_

WP_Fmt

n/a

N

ARJ_Fmt, RAR5_

Fmt, XZ_Fmt

Microsoft Word for Y

Y

Y

N

Y

Windows (6, 7, 8,

95)

Y

Y

MS_Word_95_Fmt

1This reader supports both clear signed and encrypted S/MIME. KeyView supports S/MIME for PST, EML, MBX, and MSG files.
2Except Documentum EMCMF 3Except Documentum EMCMF 4For Outlook this is Text only 5Returns "Unicode" character set for Outlook version 2003 and up, and "Unknown" character set for previous versions. 67zip is supported with the multiarcsr reader on some platforms for Extract. 77-zip and SUN PEX archives only

IDOL KeyView (12.11)

Page 203 of 286

Filter SDK .NET Programming Guide Appendix B: Document Readers

Reader mw8sr mwsr
mwssr mwxsr

Description

Filter Export View Extract Metadata Charset H/F Associated File Formats

Microsoft Word (97- Y

Y

2004)

Microsoft Word PC Y

Y

(4-6) and Windows

Write (1-3)

Y

Y1

Y

Y

N

N

Y

Y2 MS_Word_2000_

Fmt, MS_Word_97_

Fmt, WPS_Office_

WP_Fmt

Y3

Y4 MS_Windows_

Write_Fmt, MS_

Word_PC_Driver_

Fmt, MS_Word_

PC_Fmt, MS_

Word_PC_

Glossary_Fmt, MS_

Word_PC_Misc_

Fmt, MS_Word_

PC_StyleSheet_Fmt

Microsoft Works

Y

Y

Y

N

N

Spreadsheet (2, 3,

4)

Y

N

MS_Works_DOS_

SS_Fmt, MS_

Works_Mac_SS_

Fmt, MS_Works_

Win_SS_Fmt

Microsoft Word XML Y

Y

Y

Y

Y

(2007 onwards)

Y

Y

MS_Word_2007_

Flat_XML_Fmt,

MS_Word_2007_

Fmt, MS_Word_

1Supported using the embedded objects reader olesr. 2Microsoft Word for Windows only 3Microsoft Windows Write only 4Microsoft Word PC only
IDOL KeyView (12.11)

Page 204 of 286

Filter SDK .NET Programming Guide Appendix B: Document Readers

Reader nnsr nsfsr oa2sr odfsssr odfwpsr
olesr

Description

Filter Export View Extract Metadata Charset H/F Associated File Formats

Macro_2007_Fmt

NBI OASys Net

Y

T

T

N

N

Archive

N

N

NBI_Net_Archive_

Fmt

IBM Lotus Notes

N

N

Y

Y

Y

database (4, 5, 6.0,

6.5, 7.0, 8.0)

N

N

Lotus_Notes_NSF_

Fmt

Fujitsu Oasys (7)

Y

Y

OASIS Open

Y

Y

Document Format

(1, 21)

OASIS Open

Y

Y

Document Format (1, 23)

Y

N

P

Y

Y2

Y

Y

Y4

Y

N

N

Oasys_Fmt

Y

N

ODF_Spreadsheet_

Fmt, ODF_

Spreadsheet_

Template_Fmt

Y

Y

ODF_Text_Fmt,

ODF_Text_Master_

Fmt, ODF_Text_

Template_Fmt,

ODF_Text_Web_

Fmt, SO_Text_

XML_Fmt

Windows Scrap File N

N

N

Y

Y

n/a

N

Ability_WP_OLE_

Fmt, Autodesk_

1Generated by OpenOffice Calc 2.0, StarOffice 8 Calc, and IBM Lotus Symphony Spreadsheet 3.0. 2Supported using the embedded objects reader olesr. 3Generated by OpenOffice Writer 2.0, StarOffice 8 Writer, and IBM Lotus Symphony Documents 3.0. 4Supported using the embedded objects reader olesr.
IDOL KeyView (12.11)

Page 205 of 286

Filter SDK .NET Programming Guide Appendix B: Document Readers

Reader
olmsr onesr onealtsr

Description

Filter Export View Extract Metadata Charset H/F Associated File Formats

3ds_Max_Fmt, Crystal_Reports_ Fmt, FPX_Fmt, MS_ AtWork_Fax_Fmt, MS_Binder_Fmt, MicroStation_V8_ DGN_Fmt, OLE_ Fmt, PageMagic_ Fmt, PagePlus_Fmt, PhotoDraw_Mix_ Fmt, PowerPoint_ Mac_Fmt, SO_ Chart_Fmt, SO_ Database_Fmt, SO_ Math_Fmt, Scrap_ Fmt, SolidWorks_ Fmt, Windows_ Installer_Fmt, Windows_Installer_ Patch_Fmt

Microsoft Outlook N

N

Y

Y

N

for Macintosh (2011)

Y

N

MS_OutlookOLM_

Fmt

Microsoft OneNote Y

Y

Y

Y

N

(2007, 2010, 2013,

2016)

Y

N

OneNote_Fmt

Microsoft OneNote Y

T

T

Y

N

Alternative

Packaging Format

(2007 onwards)

N

N

OneNote_

Alternate_Fmt

IDOL KeyView (12.11)

Page 206 of 286

Filter SDK .NET Programming Guide Appendix B: Document Readers

Reader onmsr oo3sr
orcsr
parquetsr2 pbixsr pdf2sr3 pdfsr pfasr

Description

Filter Export View Extract Metadata Charset H/F Associated File Formats

Legato Extender

N

N

Y

Y

Y

N

N

Legato_Extender_

ONM_Fmt

Omni Outliner (v3, Y

Y

Y

N

N

OPML, OOutline)

Apache ORC

Y1

N

N

N

N

(Optimized Row

Columnar) data

Y

N

OO3_Fmt,

OOUTLINE_Fmt,

OPML_Fmt

N

N

Apache_ORC_Fmt

Apache Parquet

Y

N

N

N

Y

Database Format

N

N

Apache_Parquet_

Fmt

Microsoft Power BI Y

T

T

N

N

Desktop (1.11)

Y

N

MS_Power_BI_Fmt

Adobe PDF (1.1 to Y

Y

1.7, 2.0)

Adobe PDF (1.1 to Y

Y

1.7, 2.0)

N

Y

Y

N

Y4

Y

N

N

PDF_Fmt

Y

N

PDF_Fmt, Portfolio_

PDF_Fmt

ASCII Printer and Y

T

T

N

N

PostScript fonts

N

N

PostScript_Font_

Fmt, Printer_Font_

ASCII_Fmt

1This reader is only supported on Windows (x86_64), Linux (x86_64 and AArch64) and macOS (x86_64 and M1) 2This reader is only supported on Windows x86_64 and Linux x86_64. On Linux it requires at least glibc 2.17 (for example, RHEL 7 or later). 3This reader is only available on x86 and x86_64 Linux and Windows 4Includes support for extraction of subfiles from PDF Portfolio documents.

IDOL KeyView (12.11)

Page 207 of 286

Filter SDK .NET Programming Guide Appendix B: Document Readers

Reader pffsr1
pfilesr
pkcs7sr5 pngsr psdsr pstnsr

Description

Filter Export View Extract Metadata Charset H/F Associated File Formats

Microsoft Outlook N

N

Y

Y

Y

Offline Storage File

(97 onwards)

Y

N

MS_OutlookOST_

Fmt

Rights Management Y2

T3

T4

N

Y

Services (RMS)-

protected format

N

N

RMS_Protected_

Fmt

PKCS #7

N

N

Y

Y

N

cryptographic format

N

N

PKCS_7_Fmt

Portable Network M

M

N

N

Y

Graphics

N

N

PNG_Fmt

Adobe Photoshop N

N

N

N

Y6

N

N

PSD_Fmt

Microsoft Outlook N

N

Y

Y

Y

Personal Folder7

(97 onwards)

Y

N

MS_OutlookPST_

Fmt

1The reader pffsr is available only on Windows and Linux. 2KeyView filters only the internal redirection text. The underlying document text is not accessible without the decryption key. 3KeyView filters only the internal redirection text. The underlying document text is not accessible without the decryption key. 4KeyView filters only the internal redirection text. The underlying document text is not accessible without the decryption key. 5This reader supports PKCS #7 signed-data encapsulating PKCS #7 data only. 6Only XMP metadata is extracted for this format. 7KeyView provides several readers capable of processing PST files. The pstsr reader uses the Microsoft Messaging Application Programming Interface (MAPI), works only on Windows, and requires that you have Microsoft Outlook installed. The pstxsr reader is available for Windows (32-bit and 64-bit) and Linux (64-bit only) and does not require Microsoft Outlook. The pstnsr reader is an alternative reader that does not require Microsoft Outlook, for all platforms not supported by pstxsr. For more information about these readers, see "Extract Subfiles from Outlook Personal Folders Files" in Chapter 3.

IDOL KeyView (12.11)

Page 208 of 286

Filter SDK .NET Programming Guide Appendix B: Document Readers

Reader pstsr1
pstxsr
pwsr qpssr qpwsr rarsr riffsr

Description
Microsoft Outlook Personal Folder2 (97 onwards)
Microsoft Outlook Personal Folder3 (97 onwards)
PRIMEWORD
Corel Quattro Pro (5, 6, 7, 8)
Corel Quattro Pro (X4)
RAR archive (2.0 through 3.5)
Microsoft Wave

Filter Export View Extract Metadata Charset H/F Associated File Formats

N

N

Y

Y

Y

N

N

MS_OutlookPST_

Fmt

N

N

Y

Y

Y

Y

N

MS_OutlookPST_

Fmt

Y

T

T

N

N

Y

Y

Y

N

P

Y

N

Y

N

P

N

N

PRIMEWORD_Fmt

Y

N

Quattro_Pro_Win_

Fmt

Y

N

QPW_Fmt

N

N

N

Y

N

n/a

N

RAR_Fmt

M

N

N

N

Y

N

N

MS_WAVE_Audio_

1This reader supports both clear signed and encrypted S/MIME. KeyView supports S/MIME for PST, EML, MBX, and MSG files.
2KeyView provides several readers capable of processing PST files. The pstsr reader uses the Microsoft Messaging Application Programming Interface (MAPI), works only on Windows, and requires that you have Microsoft Outlook installed. The pstxsr reader is available for Windows (32-bit and 64-bit) and Linux (64-bit only) and does not require Microsoft Outlook. The pstnsr reader is an alternative reader that does not require Microsoft Outlook, for all platforms not supported by pstxsr. For more information about these readers, see "Extract Subfiles from Outlook Personal Folders Files" in Chapter 3. 3KeyView provides several readers capable of processing PST files. The pstsr reader uses the Microsoft Messaging Application Programming Interface (MAPI), works only on Windows, and requires that you have Microsoft Outlook installed. The pstxsr reader is available for Windows (32-bit and 64-bit) and Linux (64-bit only) and does not require Microsoft Outlook. The pstnsr reader is an alternative reader that does not require Microsoft Outlook, for all platforms not supported by pstxsr. For more information about these readers, see "Extract Subfiles from Outlook Personal Folders Files" in Chapter 3.

IDOL KeyView (12.11)

Page 209 of 286

Filter SDK .NET Programming Guide Appendix B: Document Readers

Reader
rpmsgsr1
rtfsr sassr skypesr sosr
starcsr starwsr stringssr

Description

Filter Export View Extract Metadata Charset H/F Associated File Formats

Sound

Microsoft Outlook N

N

N

Y2

N

Restricted

Permission

Message

Fmt

Y

N

RPMSG_Fmt

Rich Text Format (1 Y

Y

Y

N

P

through 1.7)

Y

Y

MS_Pocket_Word_

Fmt, MS_RTF_Fmt

SAS7BDAT reader Y

T

T

N

N

N

N

SAS7BDAT_Fmt

Skype Log (3)

Y

Y

Y

N

N

N

N

Skype_Fmt

OpenOffice,

Y

T

T

N

Y

LibreOffice(1-5),

StarOffice (6-9)

Y

N

SO_Spreadsheet_

XML_Fmt

StarOffice Calc (3, Y

T

T

N

N

4, 5)

N

N

SO_Spreadsheet_

Fmt

StarOffice Writer (3, Y

T

T

N

N

4, 5)

N

N

SO_Text_Fmt

Generic 'strings'

Y

T

T

N

N

reader

N

N

BeagleWorks_

Word_Fmt,

1This reader is only supported on Windows (x86_64), Linux (x86_64), Solaris (SPARC and x86_64). 2Extraction of embedded email messages is not currently supported.
IDOL KeyView (12.11)

Page 210 of 286

Filter SDK .NET Programming Guide Appendix B: Document Readers

Reader

Description

Filter Export View Extract Metadata Charset H/F Associated File Formats
CEOwrite_Fmt, CPT_Comm_Fmt, CWK_Fmt, DG_ CDS_Fmt, DSA101_Fmt, Data_Point_ VistaWord_Fmt, Enable_WP_Fmt, GreatWorks_Word_ Fmt, HP_Word_PC_ Fmt, IBM_DCF_ Script_Fmt, IBM_ Writing_Assistant_ Fmt, Lotus_Notes_ CDF_Fmt, Lyrix_ Fmt, MASS_11_ Fmt, MS_Works_ DOS_WP_Fmt, MS_Works_Mac_ WP_Fmt, MacWrite_Fmt, MacWrite_II_Fmt, Multimate_Adv_ Fmt, Multimate_ Adv_Fnote_Fmt, Multimate_Adv_II_ Fmt, Multimate_ Adv_II_Fnote_Fmt, Multimate_Fmt,

IDOL KeyView (12.11)

Page 211 of 286

Filter SDK .NET Programming Guide Appendix B: Document Readers

Reader

Description

Filter Export View Extract Metadata Charset H/F Associated File Formats
Multimate_Fnote_ Fmt, Navy_DIF_ Fmt, ODA_Q1_11_ Fmt, ODA_Q1_12_ Fmt, Office_Writer_ Fmt, Psion_TextEd_ Fmt, Psion_Word_ 3_Fmt, Psion_ Word_Fmt, Q_A_ DOS_Fmt, Q_A_ Win_Fmt, Quadratron_Q_ One_v1_Fmt, Quadratron_Q_ One_v2_Fmt, Quickword_Fmt, SAMNA_Word_IV_ Fmt, Symbol_ Dynamics_EXP5_ Fmt, Symbol_ Dynamics_EXP_ Fmt, Targon_Word_ Fmt, Uniplex_WP_ Fmt, Volkswriter_ Fmt, WANG_WITA_ Fmt, WANG_WPS_ Comm_Fmt, WPS_ PLUS_Fmt, WordERA_Fmt, WordMARC_Fmt, WordPerfect_Fmt,

IDOL KeyView (12.11)

Page 212 of 286

Filter SDK .NET Programming Guide Appendix B: Document Readers

Reader
swfsr swsr tarsr tifsr tnefsr unihtmsr unisr

Description

Filter Export View Extract Metadata Charset H/F Associated File Formats

WordStar_2000_ Fmt, WordStar_Fmt, WordStar_for_ Windows_Fmt, Word_Connection_ Fmt, WriteNow_ Fmt, Xerox_860_ Comm_Fmt, Xerox_ Writer_Fmt

Macromedia Flash Y

Y

Y

N

N

(through 8.0)

Y1

N

Macromedia_Flash_

Fmt

Informix SmartWare Y

T

T

N

N

II Word Processor

N

N

SmartWare_II_WP_

Fmt

TAR Tape Archive N

N

Y

Y

N

n/a

N

TAR_Fmt

TIFF Tagged Image M

M

N

N

Y

File (through 6.02)

N

N

TIFF_Fmt

Transport Neutral N

N

Y

Y

Y

Encapsulation

Format

Y

N

TNEF_Fmt

Unicode HTML

Y

Y

Y

N

Y

Y

N

Unicode_HTML_

Fmt

Unicode Text (3, 4) Y

Y

Y

N

N

Y

N

Unicode_Fmt

1The character set cannot be determined for versions 5.x and lower. 2The following compression types are supported: no compression, CCITT Group 3 1-Dimensional Modified Huffman, CCITT Group 3 T4 1Dimensional, CCITT Group 4 T6, LZW, JPEG (only Gray, RGB and CMYK color space are supported), and PackBits.

IDOL KeyView (12.11)

Page 213 of 286

Filter SDK .NET Programming Guide Appendix B: Document Readers

Reader unzip
uudsr vcfsr vsdsr wkssr

Description

Filter Export View Extract Metadata Charset H/F Associated File Formats

PKZIP/Zip

N

N

Y1

Y

N

Compression

n/a

N

Executable_JAR_

Fmt, KMZ_Fmt,

ODF_Formula_Fmt,

ODF_Formula_

Template_Fmt,

PKZIP_Fmt,

Tableau_

Packaged_Data_

Source_Fmt,

Tableau_

Packaged_

Workbook_Fmt

UU-Encoding (all N

N

Y

Y

N

versions)

n/a

N

UUEncoded_Fmt

Microsoft Outlook Y

Y

vCard Contact (2.1,

3.0, 4.0)

Microsoft Visio (4, 5, Y

Y

2000, 2002, 2003, 2007, 20102)

T

N

Y

Y

Y3

Y

N

N

VCF_Fmt

Y

N

MS_Visio_Fmt

Lotus 1-2-3 (2, 3, 4, Y

Y

Y

N

N

5)

Y

N

Lotus_123_

Worksheet_Fmt

1PKZIP, WinZip, and Java Archive only 2Viewing and Export use the graphic reader, kpVSD2rdr for Microsoft Visio 2003, 2007, and 2010, and vsdsr for all earlier versions. Image
fidelity in Viewing and Export is therefore only supported for versions 2003 and above. Filter uses the graphic reader kpVSD2rdr for Microsoft
Visio 2003, 2007, and 2010, and vsdsr for all earlier versions. 3Extraction of embedded OLE objects is supported for Filter on Windows platforms only.

IDOL KeyView (12.11)

Page 214 of 286

Filter SDK .NET Programming Guide Appendix B: Document Readers

Reader wosr wp6sr wpmsr xlsbsr xlssr
xlsxsr

Description

Filter Export View Extract Metadata Charset H/F Associated File Formats

Corel WordPerfect Y

Y

Y

N

P

Windows (5, 5.1)

Y

Y

WordPerfect_5_Fmt

Corel WordPerfect Y

Y

Y

N

P

(6 onwards)

Y

N

WordPerfect_6_Fmt

Corel WordPerfect Y

Y

Y

N

N

Macintosh (1.02, 2,

2.1, 2.2, 3, 3.1)

Y

N

WordPerfect_Mac_

Fmt

Microsoft Excel

Y

Y

Binary Format (2007

onwards)

Microsoft Excel (2.2 Y

Y

to 2004)

Y

N

Y

Y

Y1

Y

N

N

MS_Excel_Binary_

2007_Fmt

Y

Y2 Excel_2000_Fmt,

Excel_95_Fmt,

Excel_97_Fmt,

Excel_Chart_Fmt,

Excel_Fmt, Excel_

Macro_Fmt, WPS_

Office_SS_Fmt

Microsoft Excel

Y

Y

Y

Y

Y

Windows XML

(2007 onwards)

Y

Y

MS_Excel_2007_

Fmt, MS_Excel_

Macro_2007_Fmt

1Supported using the embedded objects reader olesr. 2Microsoft Excel for Windows only
IDOL KeyView (12.11)

Page 215 of 286

Filter SDK .NET Programming Guide Appendix B: Document Readers

Reader xmlsr

Description XML

Filter Export View Extract Metadata Charset H/F Associated File Formats

Y

T

T

N

Y

Y

N

AMF_Fmt,

AbiWord_Fmt,

Adobe_XML_Data_

Package_Fmt,

Atom_Syndication_

Fmt, CDXML_Fmt,

Chemical_Markup_

Language_Fmt,

Collada_DAE_Fmt,

Consolidated_CDA_

Fmt, ESzigno_Fmt,

FictionBook_Fmt,

Grasshopper_GHX_

Fmt, JNLP_Fmt,

JavaView_JVX_

Fmt, KML_Fmt,

MAML_Fmt,

MARC_XML_Fmt,

METS_Fmt,

MODS_Fmt, MS_

Excel_XML_Fmt,

MS_Management_

Pack_MPX_Fmt,

MS_Visio_XML_

Fmt, MS_Word_

XML_Fmt, MXML_

Fmt, Mathcad_

XML_Fmt,

Metalink_Fmt,

IDOL KeyView (12.11)

Page 216 of 286

Filter SDK .NET Programming Guide Appendix B: Document Readers

Reader

Description

Filter Export View Extract Metadata Charset H/F Associated File Formats
Mozilla_XUL_Fmt, MusicXML_Fmt, Open_Diagnostic_ Data_Exchange_ Fmt, Open_eBook_ Fmt, PDF_XML_ Forms_Data_Fmt, PGML_Fmt, PLS_ Fmt, RDF_XML_ Fmt, RSS_Fmt, Really_Simple_ Discovery_Fmt, SBML_Fmt, SMIL_ Fmt, SPARQL_ Results_Fmt, SRGS_Fmt, SRU_ Fmt, SSML_Fmt, SVG_Fmt, SyncML_ Fmt, TEI_Fmt, Tableau_Data_ Source_Fmt, Tableau_Map_ Source_Fmt, Tableau_ Preferences_Fmt, Tableau_ Workbook_Fmt, Uniform_Office_ Fmt, Uniform_ Office_Text_Fmt, VTK_XML_Fmt,

IDOL KeyView (12.11)

Page 217 of 286

Filter SDK .NET Programming Guide Appendix B: Document Readers

Reader
xpssr xywsr yimsr1 z7zsr zstdsr

Description

Filter Export View Extract Metadata Charset H/F Associated File Formats

VoiceXML_Fmt, WML_Fmt, Windows_Audio_ Playlist_Fmt, XAML_Browser_ Application_Fmt, XBRL_Fmt, XDF_ Fmt, XLIFF_Fmt, XML_Fmt, XML_ Shareable_Playlist_ Fmt, XSLT_Fmt, XSL_FO_Fmt, YIN_ Fmt

Microsoft XML

Y

T

T

N

N

Paper Specification

N

N

MS_XPS_Fmt

XyWrite / Nota Bene Y

Y

Y

N

N

(4.12)

N

N

XyWrite_Fmt

Yahoo! Instant

Y

Y

Y

N

N

Messenger

N

N

YIM_Fmt

7-Zip archive (4.57) N

N

Y

Y

N

n/a

N

Z7Z_Fmt

Zstandard

N

N

N

Y

N

compression

n/a

N

Zstandard_Fmt

1To successfully use this reader, you must set the KV_YAHOO_ID environment variable to the Yahoo user ID. You can optionally set the KV_ OTHER_YAHOO_ID environment variable to the other Yahoo user ID. If you do not set it, "Other" is used by default. If you enter incorrect values for the environment variables, erroneous data is generated.

IDOL KeyView (12.11)

Page 218 of 286

Appendix C: Character Sets

This section provides information on the handling of character sets in the KeyView suite of products, which includes KeyView Filter SDK, KeyView Export SDK, and KeyView Viewing SDK.

· Multibyte and Bidirectional Support

219

· Coded Character Sets

227

Multibyte and Bidirectional Support

The KeyView SDKs can process files that contain multibyte characters. A multibyte character encoding represents a single character with consecutive bytes. KeyView can also process text from files that contain bidirectional text. Bidirectional text contains both Latin-based text which is read from left to right, and text that is read from right to left (Hebrew and Arabic).
The following table indicates which character encodings are supported by KeyView for each format.

Multibyte and bidirectional support

Format

Single-byte

Archive

7-Zip (7Z)

n/a

AD1 Evidence file

n/a

ADJ

n/a

B1

n/a

BinHex (HQX)

n/a

Bzip2 (BZ2)

n/a

EnCase ­ Expert Witness

n/a

Compression Format (E01)

GZIP (GZ)

n/a

ISO (ISO)

n/a

Java Archive (JAR)

n/a

Legato EMailXtender Archive

n/a

(EMX)

MacBinary (BIN)

n/a

Mac Disk Copy Disk Image

n/a

Multibyte
n/a n/a n/a n/a n/a n/a n/a
n/a n/a n/a n/a
n/a n/a

Bidirectional
n/a n/a n/a n/a n/a n/a n/a
n/a n/a n/a n/a
n/a n/a

IDOL KeyView (12.11)

Page 219 of 286

Filter SDK .NET Programming Guide Appendix C: Character Sets

Multibyte and bidirectional support, continued

Format

Single-byte

(DMG)

Microsoft Backup File (BKF)

n/a

Microsoft Cabinet format (CAB) n/a

Microsoft Compiled HTML Help n/a (CHM)

Microsoft Compressed Folder n/a (LZH)

PKZip (ZIP)

n/a

Microsoft Outlook DBX (DBX) Y

Microsoft Outlook Offline Storage Y File (OST)

RAR Archive (RAR)

n/a

Tape Archive (TAR)

n/a

UNIX Compress (Z)

n/a

UUEncoding (UUE)

n/a

Windows Scrap File (SHS)

n/a

WinZip (ZIP)

n/a

Binary

Executable (EXE)

n/a

Link Library (DLL)

n/a

Computer-aided Design

AutoCAD Drawing (DWG)

Y

AutoCAD Drawing Exchange

Y

(DXF)

CATIA formats (CAT)

Y

Microsoft Visio (VSD)

Y

Database

dBase Database

Y

Microsoft Access (MDB)

Y

Microsoft Project (MPP)

Y

Multibyte
n/a n/a n/a
n/a
n/a Y Y
n/a n/a n/a n/a n/a n/a
n/a n/a
Y Y
N Y
N Y Y

IDOL KeyView (12.11)

Bidirectional
n/a n/a n/a
n/a
n/a Y Y
n/a n/a n/a n/a n/a n/a
n/a n/a
Y Y
N Y
N N N
Page 220 of 286

Filter SDK .NET Programming Guide Appendix C: Character Sets

Multibyte and bidirectional support, continued

Format

Single-byte

Desktop Publishing

Microsoft Publisher

N

Display

Adobe Portable Document

Y

Format (PDF)

Graphics

Computer Graphics Metafile

Y

(CGM)

Corel DRAW (CDR)

n/a

DCX Fax System (DCX)

Y

DICOM ­ Digital Imaging and

n/a

Communications in Medicine

(DCM)

Encapsulated PostScript (EPS) Y

Enhanced Metafile (EMF)

Y

Graphic Interchange Format

n/a

(GIF)

JBIG2

n/a

JPEG

n/a

JPEG 2000

n/a

Lotus AMIDraw Graphics (SDW) n/a

Lotus Pic (PIC)

n/a

Macintosh Raster (PICT/PCT) n/a

MacPaint (PNTG)

n/a

Microsoft Office Drawing (MSO) n/a

Multibyte
Y
Y1
N
n/a N n/a
N Y n/a
n/a n/a n/a n/a n/a n/a n/a n/a

Bidirectional
N
Y
N
n/a N n/a
N N n/a
n/a n/a n/a n/a n/a n/a n/a n/a

1Multibyte PDFs are supported, provided the PDF document is created by using either Character ID-keyed (CID) fonts, predefined CJK CMap files, or ToUnicode font encodings, and does not contain embedded fonts. See the Adobe website and the Adobe Acrobat documentation for more information. Any multibyte characters that are not supported are displayed using the replacement character. By default, the replacement character is a question mark (?).
To determine the type of font encodings that are used in a PDF, open the PDF in Adobe Acrobat, and select File > Document Info > Fonts. If the Encoding column lists Custom or Embedded encodings, you might encounter problems converting the PDF.

IDOL KeyView (12.11)

Page 221 of 286

Filter SDK .NET Programming Guide Appendix C: Character Sets

Multibyte and bidirectional support, continued

Format

Single-byte

Omni Graffle (GRAFFLE)

Y

PC PaintBrush (PCX)

n/a

Portable Network Graphics

n/a

(PNG)

SGI RGB Image (RGB)

n/a

Sun Raster Image (RS)

n/a

Tagged Image File (TIFF)

Y

Truevision Targa (TGA)

n/a

Windows Animated Cursor (ANI) n/a

Windows Bitmap (BMP)

n/a

Windows Icon Cursor (ICO)

n/a

Windows Metafile (WMF)

Y

WordPerfect Graphics 1 (WPG) Y

WordPerfect Graphics 2 (WPG) Y

Mail

Documentum EMCMF Format Y

Domino XML Language (DXL) Y

GroupWise FileSurf

Y

Legato Extender (ONM)

Y

Lotus Notes database (NSF)

Y

Mailbox (MBX)

Y

Microsoft Entourage Database Y

Microsoft Outlook (MSG)

Y

Microsoft Outlook Express (EML) Y

Microsoft Outlook iCalendar

Y

Microsoft Outlook for Macintosh Y

Microsoft Outlook Offline Storage Y File

Microsoft Outlook Personal File Y Folders (PST)

Multibyte N n/a n/a
n/a n/a N n/a n/a n/a n/a Y N N
Y Y N Y Y Y Y Y Y Y Y Y
Y

IDOL KeyView (12.11)

Bidirectional N n/a n/a
n/a n/a N n/a n/a n/a n/a N N N
Y N N N Y Y Y Y Y Y Y Y
Y
Page 222 of 286

Filter SDK .NET Programming Guide Appendix C: Character Sets

Multibyte and bidirectional support, continued

Format

Single-byte Multibyte

Bidirectional

Microsoft Outlook vCard Contact

Text Mail (MIME)

Y

Y

Y

Transport Neutral Encapsulation Y

Y

Y

Format

Multimedia

Advanced Systems Format

n/a

n/a

n/a

(ASF)

Audio Interchange File Format n/a

n/a

n/a

(AIFF)

Microsoft Wave Sound (WAV) n/a

n/a

n/a

MIDI (MID)

n/a

n/a

n/a

MPEG 1 Audio Layer 3 (MP3) n/a

n/a

n/a

MPEG 1 Video (MPG)

n/a

n/a

n/a

MPEG 2 Audio (MPEGA)

n/a

n/a

n/a

MPEG 4 Audio (MP4)

n/a

n/a

n/a

NeXT/Sun Audio (AU)

n/a

n/a

n/a

QuickTime Movie (QT/MOV)

n/a

n/a

n/a

Windows Video (AVI)

n/a

n/a

n/a

Presentations

Apple iWork Keynote (GZ)

Y

Y

N

Applix Presents (AG)

character set N

N

1252 only

Corel Presentations (SHW)

character set N

N

1252 only

Extensible Forms Description

Y

Y

N

Language (XFD)

Lotus Freelance Graphics 2

character set N

N

(PRE)

850 only

Lotus Freelance Graphics (PRZ) Y

Japanese, Simple Chinese, N Traditional Chinese, Thai only

IDOL KeyView (12.11)

Page 223 of 286

Filter SDK .NET Programming Guide Appendix C: Character Sets

Multibyte and bidirectional support, continued

Format

Single-byte Multibyte

Bidirectional

Macromedia Flash (SWF)

Y

Y

N

Microsoft OneNote

Y

Y

N

Microsoft PowerPoint PC (PPT)
Microsoft PowerPoint Windows (PPT)

character set Traditional Chinese only 1252 only

Y

Japanese, Simple Chinese,

Traditional Chinese,

Korean only

N Hebrew only

Microsoft PowerPoint Macintosh Y

N

N

(PPT)

Microsoft PowerPoint Windows Y

Y

Y

XML 2007 and 2010 (PPTX)

OASIS Open Document (ODP) Y

Y

N

OpenOffice Impress (ODP)

Y

Y

N

StarOffice Impress (ODP)

Y

Y

N

Spreadsheets

Apple iWork Numbers (GZ)

Y

Y

N

Applix Spreadsheets (AS)

character set N

N

1252 only

Comma Separated Values (CSV) character set N

N

1252 only

Corel Quattro Pro (QPW/WB3) Y

N

N

Data Interchange Format (DIF) Y

Y

Y1

Lotus 1-2-3 (123)

Y

Y

Y

Lotus 1-2-3 (WK4)

Y

Y

N

Lotus 123 Charts (123)

Y

Y

N

Microsoft Excel Charts (XLS)

Y

Y

N

Microsoft Excel Macintosh (XLS) Y

N

N

Microsoft Excel Windows (XLS) Y

Y

Y2

Microsoft Excel Windows XML Y

Y

N

2007 (XLSX)

Microsoft Office Excel Binary

Y

Y

N

Format (XLSB)

IDOL KeyView (12.11)

Page 224 of 286

Filter SDK .NET Programming Guide Appendix C: Character Sets

Multibyte and bidirectional support, continued

Format

Single-byte Multibyte

Microsoft Works Spreadsheet Y

N

(S30/S40)

OASIS Open Document (ODS) Y

Y

OpenOffice Calc (ODS)

Y

Y

StarOffice Calc (ODS)

Y

Y

Text and Markup

ANSI (TXT) ASCII (TXT)

Y

Y

Y

Y

HTML (HTM)

Y

Y

Microsoft Excel Windows XML Y

Y

2003

Microsoft Word for Windows XML Y

Y

2003

Microsoft Visio XML 2003

Y

Y

Rich Text Format (RTF)

Y

Y

Unicode HTML

Y

Y

Unicode Text (TXT) XHTML

Y

Y

Y

Y

XML Word Processing

Y

Y

Adobe Maker Interchange Format (MIF)

character set N 1252 only

Apple iChat Log (ICHAT)

Y

Y

Apple iWork Pages (GZ)

Y

Y

Applix Words (AW)

character set N 1252 only

DisplayWrite (IP) Folio Flat File (FFF)

character set N 500, 1026 only
character set N 1252 only

IDOL KeyView (12.11)

Bidirectional N N N N
Y2 Y2 Y2, 2 Y Y Y Y3 Y 2,3 Y2 Y3 Y
N N N N N
N
Page 225 of 286

Filter SDK .NET Programming Guide Appendix C: Character Sets

Multibyte and bidirectional support, continued

Format

Single-byte Multibyte

Bidirectional

Founder Chinese E-paper Basic Y

Y

N

(CEB)

Fujitsu Oasys (OA2)

Y

Y

N

Hangul (HWP)

Y

Y

N

Health level7 (HL7)

Y

Y

Y

IBM DCA/RTF (DC)

character sets N

N

500, 1026

only

JustSystems Ichitaro (JTD)

Y

Y

N

Lotus AMI Pro (SAM)

Y

Simple Chinese, Traditional Y Chinese, Japanese, Thai only

Lotus AMI Professional Write

Y

Plus (AMI)

Lotus Word Pro (LWP)

Y

Simple Chinese, Traditional N Chinese, Japanese, Thai only

Y

Y3

Lotus SmartMaster (MWP)

Y

Y

N

Microsoft Word PC (DOC)

character set N

N

1252 only

Microsoft Word Windows V1-2 Y

N

(DOC)

Microsoft Word Windows V6, 7, Y

Y

8, 95 (DOC)

Microsoft Word Windows V97 Y

Y

through 2003 (DOC)

Microsoft Word Windows XML Y

Y

2007 and 2010 (DOCX)

Microsoft Word Macintosh (DOC) Y

N

N Hebrew only3 Y3 Y3 Y3

Microsoft Works (WPS)

Y

Japanese only

N

Microsoft Write (WRI)

Y

Japanese only

N

OASIS Open Document (ODT) Y

Y

N

Omni Outliner (OO3)

Y

Y

N

OpenOffice Writer (ODT)

Y

Y

N

IDOL KeyView (12.11)

Page 226 of 286

Filter SDK .NET Programming Guide Appendix C: Character Sets

Multibyte and bidirectional support, continued

Format

Single-byte Multibyte

Bidirectional

Open Publication Structure

Y

Y

Y

eBook (EPUB)

StarOffice Writer (ODT)

Y

Y

N

Skype Log (DBB)

Y

Y (null-terminated charsets) N

WordPad (RTF)

Y

Y

Y

WordPerfect Linux (WPS)

Y

N

N

WordPerfect Macintosh (WPS) Y

N

N

WordPerfect Windows (WO)

Y

N

N

XML Paper Specification (XPS) Y

Y

N

XYWrite Windows (XY4)

character set N

N

1252 only

Yahoo! Instant Messenger (DAT) Y

Y (null-terminated charsets) N

1The text direction in the output file might not be correct.
2In Export SDK, a bidirectional right-to-left (RTL) tag is extracted from this format and included in the direction element (<dir=RTL>) of the output.

Coded Character Sets

This section lists which character set you can use to specify the target character set. The coded character sets are enumerated in kvcharset.h and defined in the Filter class.

Code Character Sets

Coded Character Set

Description

Can be set as target charset?

KVCS_

Unknown character set

N

UNKNOWN

KVCS_SJIS

Japanese (uses multibyte encoding), cp932

Y

KVCS_GB

Simplified Chinese (China, Singapore, Malaysia) Y cp936

KVCS_BIG5

Traditional Chinese (Taiwan, Hong Kong,

Y

Macaw) cp950

IDOL KeyView (12.11)

Page 227 of 286

Filter SDK .NET Programming Guide Appendix C: Character Sets

Code Character Sets, continued

Coded Character Set

Description

KVCS_KSC

Korean, cp949

KVCS_1250

Windows Latin 2 (Central Europe)

KVCS_1251

Windows Cyrillic (Slavic)

KVCS_1252

Windows Latin 1 (ANSI)

KVCS_1253

Windows Greek

KVCS_1254

Windows Latin 5 (Turkish)

KVCS_1255

Windows Hebrew

KVCS_1256

Windows Arabic

KVCS_1257

Windows Baltic Rim

KVCS_1258

Windows Vietnamese

KVCS_8859_1

ISO 8859-1 Latin 1 (Western Europe, Latin America)

KVCS_8859_2 ISO 8859-2 Latin 2 (Central Eastern Europe)

KVCS_8859_3 ISO 8859-3 Latin 3 (S.E. Europe)

KVCS_8859_4 ISO 8859-4 Latin 4 (Scandinavia/Baltic)

KVCS_8859_5 ISO 8859-5 Latin/Cyrillic

KVCS_8859_6 ISO 8859-6 Latin/Arabic

KVCS_8859_7 ISO 8859-7 Latin/Greek

KVCS_8859_8 ISO 8859-8 Latin/Hebrew

KVCS_8859_9 ISO 8859-9 Latin/Turkish

KVCS_8859_14 ISO 8859-14

KVCS_8859_15 ISO 8859-15

KVCS_437

DOS Latin US

KVCS_737

DOS Greek

KVCS_775

DOS Baltic Rim

KVCS_850

DOS Latin 1

Can be set as target charset? Y Y Y Y Y Y Y Y Y Y Y
Y Y Y Y Y Y Y Y Y Y Y Y Y Y

IDOL KeyView (12.11)

Page 228 of 286

Filter SDK .NET Programming Guide Appendix C: Character Sets

Code Character Sets, continued

Coded Character Set

Description

Can be set as target charset?

KVCS_851

DOS Greek

Y

KVCS_852

DOS Latin 2

Y

KVCS_855

DOS Cyrillic

Y

KVCS_857

DOS Turkish

Y

KVCS_860

DOS Portuguese

Y

KVCS_861

DOS Icelandic

Y

KVCS_862

DOS Hebrew

Y

KVCS_863

DOS Canadian French

Y

KVCS_864

DOS Arabic

Y

KVCS_865

DOS Nordic

Y

KVCS_866

DOS Cyrillic Russian

Y

KVCS_869

DOS Greek 2

Y

KVCS_874

Thai

Y

KVCS_

PDF MAC DOC

N

PDFMACDOC

KVCS_

PDF WIN DOC

N

PDFWINDOC

KVCS_STDENC Adobe Standard Encoding

N

KVCS_PDFDOC Adobe standard PDF character set

N

KVCS_037

EBCDIC code page 037

Y

KVCS_1026

EBCDIC code page 1026

Y

KVCS_500

EBCDIC code page 500

Y

KVCS_875

EBCDIC code page 875

Y

KVCS_LMBCS

Lotus multibyte character set Group 1 and Group N 2

KVCS_UNICODE Unicode, UCS-2

Y

KVCS_UTF16

16-bit Unicode transformation format

Y

IDOL KeyView (12.11)

Page 229 of 286

Filter SDK .NET Programming Guide Appendix C: Character Sets

Code Character Sets, continued

Coded Character Set

Description

Can be set as target charset?

KVCS_UTF8

8-bit Unicode transformation format

Y

KVCS_UTF7

7-bit Unicode transformation format

Y

KVCS_2022_JP ISO 2022-JP, Japanese mail and news safe

N

encoding (JIS-7)

KVCS_2022_CN ISO 2022-CN, Chinese mail and news safe

N

encoding

KVCS_2022_KR ISO 2022-KR, Korean mail and news safe

N

encoding

KVCS_WP6X

Word Perfect 6.x and higher character mapping N

KVCS_10000

Western European (Macintosh)

Y

KVCS_KSC5601 Unified Hangul

Y

KVCS_GB2312 Simplified Chinese (China, Singapore, Hong

Y

Kong)

KVCS_GB12345 Traditional Chinese (China) - analogue of

Y

GB2312

KVCS_ CNS11643

Traditional Chinese - Taiwan. Supplement to Big5 Y

KVCS_JIS0201 Japanese - contains ASCII character set (JIS-

N

Roman)

KVCS_JIS0212 Japanese. Supplement to JIS0208.

Y

KVCS_EUC_JP Japanese Extended UNIX Code

Y

KVCS_EUC_GB Simplified Chinese Extended UNIX Code

Y

KVCS_EUC_

Traditional Chinese Extended UNIX Code

N

BIG5

KVCS_EUC_

Korean Extended UNIX Code

N

KSC

KVCS_424

EBCDIC Hebrew

N

KVCS_856

PC Hebrew (old)

N

KVCS_1006

IBM AIX Pakistan (Urdu)

N

KVCS_KOI8R

Cyrillic (Russian)

Y

IDOL KeyView (12.11)

Page 230 of 286

Filter SDK .NET Programming Guide Appendix C: Character Sets

Code Character Sets, continued

Coded Character Set

Description

KVCS_PDF_ JAPAN1

Adobe-Japan1-2 character collection

KVCS_PDF_ KOREA1

Adobe-Korea1-0 character collection

KVCS_PDF_GB1 Adobe-GB1-3 character collection

KVCS_PDF_ CNS1

Adobe-CNS1-2 character collection

KVCS_2022_JP_ ISO 2022-JP, Japanese mail and news safe

8

encoding (JIS8)

KVCS_720

Arabic DOS-720

KVCS_VISCII

Vietnamese VISCII

KVCS_8859_10 ISO 8859-10 (Latin 6 Nordic)

KVCS_8859_13 ISO 8859-13 (Latin 7 Baltic)

KVCS_57002

ISCII Devanagari (x-iscii-de)

KVCS_57003

ISCII Bengali (x-iscii-be)

KVCS_57004

ISCII Tamil (x-iscii-ta)

KVCS_57005

ISCII Telugu (x-iscii-te)

KVCS_57006

ISCII Assamese (x-iscii-as)

KVCS_57007

ISCII Oriya (x-iscii-or)

KVCS_57008

ISCII Kannada (x-iscii-ka)

KVCS_57009

ISCII Malayalam (x-iscii-ma)

KVCS_57010

ISCII Gujarathi (x-iscii-gu)

KVCS_57011

ISCII Panjabi (x-iscii-pa)

KVCS_ GB18030b2

Reserved for internal use

KVCS_GB18030 GB18030 (Chinese 4-byte character set)

KVCS_8859_11 ISO 8859-11 (Thai)

KVCS_8859_16 ISO 8859-16 (Latin-10 South-Eastern Europe)

Can be set as target charset? N
N
N N
N
Y Y Y1 Y1 Y1 Y1 Y1 Y1 Y1 Y1 Y1 Y1 Y1 Y1 n/a
Y Y Y

IDOL KeyView (12.11)

Page 231 of 286

Filter SDK .NET Programming Guide Appendix C: Character Sets

Code Character Sets, continued

Coded Character Set

Description

KVCS_ ARABICMAC

Arabic Mac (x-mac-arabic)

KVCS_KOI8U

Cyrillic (KOI8U Ukrainian)

KVCS_ HZGB2312

The 7-bit representation of GB 2312 / RFC 1842

KVCS_UTF32

32-bit Unicode transformation format

Can be set as target charset? Y
Y n/a
Y

1The character set cannot be forced as output in Export SDK and Viewing SDK because the character set is not supported by the major browsers.

IDOL KeyView (12.11)

Page 232 of 286

Appendix D: Extract and Format Lotus Notes Subfiles

This section describes how to create XML templates to alter the appearance of extracted Lotus mail note subfiles so that they maintain the look and feel of the original notes.

· Overview

233

· Customize XML Templates

233

· Template Elements and Attributes

235

· Date and Time Formats

240

Overview
KeyView uses the NSF reader, nsfsr, to extract Lotus database files, and places Lotus mail notes in subfiles. The NSF reader uses a set of default XML templates to extract the notes and apply formatting, thereby approximating the look and feel of the original notes.
In some cases, you might need to customize the XML templates, for instance if your notes contain custom data. In such cases, you can modify the existing XML templates or create your own.
During extraction, the NSF reader loads all XML files in the NSFtemplates directory and its subdirectories (except for the NSFtemplates\images directory, which is reserved for images). During initialization, the KeyView XML parser verifies the XML templates. If the templates contain any invalid XML, elements, or attributes, initialization fails and errors are recorded in the nsfsr.log file.

Customize XML Templates
XML templates are enabled by default. In most cases, the default templates should be sufficient; however, you can customize them or create your own as required.
To customize XML templates for Lotus note extraction 1. Modify the template files in the following directory. install\OS\bin\NSFtemplates The main.xml file must exist in the NSFtemplates directory. It is the top-level template file that extracts all subfiles, usually by calling other templates. 2. Make sure that any modifications or additional XML files conform to the supported elements and attributes described in Template Elements and Attributes, on page 235. 3. Extract the Lotus database file.

IDOL KeyView (12.11)

Page 233 of 286

Filter SDK .NET Programming Guide Appendix D: Extract and Format Lotus Notes Subfiles

Use Demo Templates
For testing purposes, you can extract notes by using a set of demo templates, which are provided to demonstrate the proper usage of all the XML elements and attributes, because the default templates do not use all the XML elements. The demo templates are available at: install\OS\bin\NSFtemplates
To use the demo XML templates 1. In the formats.ini file, set the following parameter. [nsfsr] UseDemoTemplate=1 2. In the main.xml file, uncomment the following section. <ifini name="UseDemoTemplate" text="1"> <call file="demo.xml"/> <quit/> </ifini>
Use Old Templates
For testing purposes, you can extract notes by using legacy templates, which produce MHTML output. You can generate similar output by disabling the XML templates, but using the old templates enables you to see the XML code and compare it to the standard and demo templates.
To use the old XML templates 1. In the formats.ini file, set the following parameter. [nsfsr] UseOldTemplate=1 2. In the main.xml file, uncomment the following section. <ifini name="UseOldTemplate" text="1"> <call file="default_old.xml"> <quit> </ifini>
Disable XML Templates
For testing purposes, you can disable XML templates; KeyView extracts the notes in MHTML format. You can compare the MHTML output directly by the NSF reader with the MHTML output indirectly by the NSF reader through the XML templates.

IDOL KeyView (12.11)

Page 234 of 286

Filter SDK .NET Programming Guide Appendix D: Extract and Format Lotus Notes Subfiles

To disable XML templates 1. In the formats.ini file, set the following parameter.
[nsfsr] ExtractByTemplate=0

Template Elements and Attributes
This section lists the valid XML elements and attributes that you can use when creating or modifying templates. See the demo templates for examples.

Conditional Elements
The following table lists the valid conditional elements.

Conditional elements
Element <keyview> <if*>
<ifex>, <ifnx>
<ifeq>, <ifne>, <iflt>, <ifle>, <ifgt>, <ifge> <iftdeq>, <iftdne>, <iftdlt>, <iftdle>, <iftdgt>, <iftdge>

Description
The KeyView XML template container ("root") element
If the condition from the comparison is true, process the XML. Conditions can be nested up to 25 levels deep. Attributes
l name. (Required) The name of the main item to compare to item or text.
l item. (Required if no text) The name of the item to compare to the item specified by name.
l text. (Required if no item) The text to compare to the item specified by name.
If name item exists and has a text value or not. The Notes item might have a value that cannot be converted to text, such as an image.
Respectively, if text ==, !=, <, >, <=, >, >=. Text comparison uses a case-insensitive string compare.
Respectively, if time/date ==, !=, <, >, <=, >, >=. Time/date comparison converts dates to text in local time using the Notes default, TZFMT_NEVER, because Notes also sometimes converts fields to text internally. For example:

IDOL KeyView (12.11)

Page 235 of 286

Filter SDK .NET Programming Guide Appendix D: Extract and Format Lotus Notes Subfiles

Conditional elements, continued

Element

Description

<iftzeq>, <iftzne>
<ifini> <else> <switch>

text="06/30/2005 02:52:04 PM"
Respectively, if the time zone equals or does not equal the comparison text, for example CDT, EST, and so on.
If the value of the INI option specified in name equals the text value.
If the condition from the last <if> or <switch> was false, process XML.
If a name value exists, process XML. Attributes
l name. (Required) The name of the main item to compare in <case> subelements.

<case>
<default> <for>

If the comparison condition is true, process XML, then stop processing the rest of <switch>.
Attributes
l text. (Required) The text to compare to the name item of <switch>.
If all <case> conditions were false, process XML. This element must be the last element in <switch>, after all the <case> elements. Any <case> elements after the <default> element are ignored.
If a name value exists, process XML. Process for each part of the name item.
Attributes
l name. (Required) The name of the main item.
l max. (Optional) The maximum index to process. By default, all are processed.

<index>

Output <for> loop index (1-based). <index> is only valid within a <for> element.

Control Elements
The following table lists the valid control elements.

IDOL KeyView (12.11)

Page 236 of 286

Filter SDK .NET Programming Guide Appendix D: Extract and Format Lotus Notes Subfiles

Control Elements

Element

Description

<call> <log>
<quit> <stop>

Call another XML template. You can nest templates up to 10 levels deep. Attributes
l file. (Required) The template file name. This name must be unique. Log message to the NSF log file. Attributes
l text. (Required) The text to log. l type. (Optional) The type of log message. The following values are valid:
o ERROR o WARN o INFO o DIAG (the default option) o DEBUG o DUMP Stop processing the template. Exits without error. Attributes l text. (Optional) The text to log. l type. (Optional) The type of log message. See <log>, above. Stop processing the template. Exits with an ERROR log message. Attributes l text. (Required) The text to log.

Data Elements
The following table lists the valid data elements.

Data elements

Element Description

<text>

Output text. Attributes
l name. (Required if there is no parent) The name of the item to output.

IDOL KeyView (12.11)

Page 237 of 286

Filter SDK .NET Programming Guide Appendix D: Extract and Format Lotus Notes Subfiles

Data elements, continued

Element Description

<rich> <body>

Output rich text (MHTML). Images are output in the next part or parts of the MHTML, after the first <HTML> part. Attributes
l name. (Required if there is no parent) The name of the item to output.
Output the message body in rich text (MHTML). As with <rich>, above, images are output in the next part or parts of the MHTML.

<form> <addr>

Output the message form (usually $Body field) in rich text (MHTML). Attributes
l name. (Required if there is no parent) The name of the item to output.
Output an address. Attributes
l name. (Required if there is no parent) The name of the item to output. l type. (Optional) The type of address to output. Set this attribute to CN (Common
Name), which is the only supported type.

<name>

Output the name of the last name item, or in other words the current main item. The item must exist.

<format> <date>

Set the default format for <date> and <date_kv>. This element does not set the <text> format. See Date and Time Formats, on page 240 for a list of all Notes and KeyView date and time formats and integer values. Attributes
l format. (Optional. Omit to reset to defaults) The Notes and KeyView date and time format. You can set the following formats: o TD=int. The Time Date format (TDFMT_*) o TS=int. The Time Show format (TSFMT_*) o TT=int. The Time Time format (TTFMT_*) o TZ=int. The Time Zone format (TZFMT_*) o KV=int. The KeyView date and time format
where int is an integer value that corresponds to the desired format. Separate multiple formats with commas. For example: format="TD=0,TS=2,TT=1,TZ=1,KV=55"
Output a Notes date.

IDOL KeyView (12.11)

Page 238 of 286

Filter SDK .NET Programming Guide Appendix D: Extract and Format Lotus Notes Subfiles

Data elements, continued

Element Description

Attributes
l name. (Required if there is no parent) The name of the item to output.
l format. (Optional) See <format>, on the previous page. You can set the following values:

o TD

o TS

o TT

o TZ

<date_kv>

Output a KeyView date. Attributes
l name. (Required if there is no parent) The name of the item to output. l format. (Optional) See <format>, on the previous page. You can set the
following values:

o TZ

o KV

<time>

Output a time range, for example 1 hour, 30 minutes. Attributes
l name. (Required if there is no parent) The item name of the start date or time. l item. (Required) The item name of the end date or time.

<zone>

Output a Notes time zone mnemonic, for example MST. Attributes
l name. (Required if there is no parent) The name of date item to output.

<zone_ utc>

Output a time zone as UTC, for example (UTC-06:00).

<logo>

Output the mail header logo.
The image link is included in the output; the actual image is output to a different part of the MHTML subfile.

<image>

Output an image.
The image link is included in the output; the actual image is output to the MHTML next part, as with <rich>, on the previous page and <body>, on the previous page.

<image_ Output an image URI, in quotation marks. The actual image is output to a different

IDOL KeyView (12.11)

Page 239 of 286

Filter SDK .NET Programming Guide Appendix D: Extract and Format Lotus Notes Subfiles

Data elements, continued

Element Description

uri>

part of the MHTML subfile. Attributes
l link. (Required if there is no file) The image link, such as a form or title name. For example:
l link="StdNotesLtr0" l file. (Required if there is no link) The name of the image file. The file must
exist in the ../../templates/images directory. For example:
l file="boxcheck.gif"

Date and Time Formats
This section lists the supported Notes and KeyView date and time formats for use with <format>, <date>, and <date_kv>.

Lotus Notes Date and Time Formats
This section lists supported Lotus Notes date and time formats, and the integer values that specify each one.

Lotus Notes date and time formats

Format

Integer Value

Description

TDFMT_FULL

0

(The Notes default) Year, month, and day

TDFMT_CPARTIAL 1

Month and day, year if not this year

TDFMT_PARTIAL 2

Month and day

TDFMT_DPARTIAL 3

Year and month

TDFMT_FULL4

4

Four-digit year, month, and day

TDFMT_

5

CPARTIAL4

TDFMT_

6

DPARTIAL4

Month and day, four-digit year if not this year Four-digit year and month

IDOL KeyView (12.11)

Page 240 of 286

Filter SDK .NET Programming Guide Appendix D: Extract and Format Lotus Notes Subfiles

Lotus Notes date and time formats, continued

Format

Integer Value

Description

TTFMT_FULL

0

(Notes default) Hour, minute, and second

TTFMT_PARTIAL 1

Hour and minute

TTFMT_HOUR

2

Hour

TZFMT_NEVER

0

(Notes default) All time zones are converted to the current time zone

TZFMT_

1

SOMETIMES

TZFMT_ALWAYS 2

Show only when outside the current time zone Show for all time zones

TSFMT_DATE

0

Date

TSFMT_TIME

1

Time

TSFMT_DATETIME 2

(The Notes default) Date and time

TSFMT_

4

CDATETIME

Date and time, or time today or time yesterday

KeyView Date and Time Formats

This section lists KeyView date and time formats. The KeyView formats use the following syntax:

Month
Weekday Year >Day Time

Month = full month name Mon = abbreviated month name m = month (number) mm = two-digit month (leading 0) Weekday = full weekday name Wday = abbreviated weekday name yy = two-digit year yyyy = four-digit year d = day (number) dd = two-digit day (leading 0) h = 12-hour H = 24-hour

IDOL KeyView (12.11)

Page 241 of 286

Filter SDK .NET Programming Guide Appendix D: Extract and Format Lotus Notes Subfiles

Separators

m = minutes s = seconds P = AM/PM p = am/pm _ = space c = comma s = slash a = dash o = dot

KeyView date and time formats

Format

Output

12-Hour and 24-Hour Time Formats

KVDTF_P

P

KVDTF_P_hmm

P h:mm

KVDTF_hmm_P

h:mm P

KVDTF_P_hhmm

P hh:mm

KVDTF_hhmm_P

hh:mm P

KVDTF_P_hmmss

P h:mm:ss

KVDTF_hmmss_P

h:mm:ss P

KVDTF_P_hhmmss

P hh:mm:ss

KVDTF_hhmmss_P

hh:mm:ss P

KVDTF_Hmm

H:mm

KVDTF_HHmm

HH:mm

KVDTF_mmss

mm:ss

KVDTF_Hmmss

H:mm:ss

KVDTF_HHmmss

HH:mm:ss

Numerical Date Formats with Slashes

KVDTF_mmsdd

mm/dd

KVDTF_msdsyy

m/d/yy

IDOL KeyView (12.11)

Integer Value
1 2 3 4 5 6 7 8 9 10 11 12 13 14
15 16
Page 242 of 286

Filter SDK .NET Programming Guide Appendix D: Extract and Format Lotus Notes Subfiles

KeyView date and time formats, continued

Format

Output

KVDTF_mmsddsyy

mm/dd/yy

KVDTF_mmsddsyyyy

mm/dd/yyyy

KVDTF_ddsmm

dd/mm

KVDTF_ddsmmsyy

dd/mm/yy

KVDTF_ddsmmsyy_Hmm

dd/mm/yy H:mm

KVDTF_ddsmm_P_hmm

dd/mm P h:mm

KVDTF_ddsmm_hmm_P

dd/mm h:mm P

KVDTF_ddsmm_P_hhmm

dd/mm P hh:mm

KVDTF_ddsmm_hhmm_P

dd/mm hh:mm P

KVDTF_ddsmmsyy_P_hmm

dd/mm/yy P h:mm

KVDTF_ddsmmsyy_hmm_P

dd/mm/yy h:mm P

KVDTF_ddsmmsyy_P_hmmss

dd/mm/yy P h:mm:ss

KVDTF_ddsmmsyy_hmmss_P

dd/mm/yy h:mm:ss P

KVDTF_ddsmmsyy_P_hhmmss

dd/mm/yy P hh:mm:ss

KVDTF_ddsmmsyy_hhmmss_P

dd/mm/yy hh:mm:ss P

KVDTF_yysmmsdd_P_hhmmss

yy/mm/dd P hh:mm:ss

KVDTF_yysmmsdd_hhmmss_P

yy/mm/dd hh:mm:ss P

KVDTF_msdsyy_Hmm

m/d/yy H:mm

KVDTF_mmsddsyy_Hmm

mm/dd/yy H:mm

KVDTF_msdsyy_P_hmm

m/d/yy P h:mm

KVDTF_msdsyy_hmm_P

m/d/yy h:mm P

KVDTF_mmsddsyy_hmm_P

mm/dd/yy h:mm P

KVDTF_mmsdd_P_hhmm

mm/dd P hh:mm

KVDTF_mmsdd_hhmm_P

mm/dd hh:mm P

KVDTF_mmsddsyy_P_hhmmss

mm/dd/yy P hh:mm:ss

KVDTF_mmsddsyy_hhmmss_P

mm/dd/yy hh:mm:ss P

Integer Value 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42

IDOL KeyView (12.11)

Page 243 of 286

Filter SDK .NET Programming Guide Appendix D: Extract and Format Lotus Notes Subfiles

KeyView date and time formats, continued

Format

Output

Integer Value

KVDTF_msd

m/d

43

KVDTF_yysm

yy/m

44

KVDTF_yysmm

yy/mm

45

KVDTF_yysmsd

yy/m/d

46

KVDTF_yysmmsdd

yy/mm/dd

47

KVDTF_yyyysmmsdd

yyyy/mm/dd

48

Numerical Date Formats with Dashes

KVDTF_ddammayy

dd-mm-yy

49

KVDTF_mmadd

mm-dd

50

KVDTF_mmayy

mm-yy

51

KVDTF_yyammadd

yy-mm-dd

52

KVDTF_yyyyammadd

yyyy-mm-dd

53

KVDTF_yyyyammaddaHHmmss

yyyy-mm-dd-HH:mm:ss

54

Numerical Date Formats with Dots

KVDTF_yyomod

yy.m.d

55

KVDTF_yyommodd

yy.mm.dd

56

KVDTF_mod

m.d

57

KVDTF_mmodd

mm.dd

58

Numerical and String Date Formats with Dashes, Commas, and Spaces

KVDTF_ddaMon

dd-Mon

59

KVDTF_daMonayy

d-Mon-yy

60

KVDTF_ddaMonayy

dd-Mon-yy

61

KVDTF_ddaMonayyyy

dd-Mon-yyyy

62

KVDTF_Mon

Mon

63

KVDTF_Monayy

Mon-yy

64

KVDTF_Monayyyy

Mon-yyyy

65

IDOL KeyView (12.11)

Page 244 of 286

Filter SDK .NET Programming Guide Appendix D: Extract and Format Lotus Notes Subfiles

KeyView date and time formats, continued

Format

Output

Integer Value

KVDTF_Monaddayy

Mon-dd-yy

66

KVDTF_yyammadd_P_hhmmss

yy-mm-dd P hh:mm:ss

67

KVDTF_mmadd_P_hhmm

mm-dd P hh:mm

68

KVDTF_Mon_yy

Mon yy

69

KVDTF_Monc_yy

Mon, yy

70

KVDTF_Month

Month

71

KVDTF_Monthayy

Month-yy

72

KVDTF_Month_yy

Month yy

73

KVDTF_Monthc_yy

Month, yy

74

KVDTF_Monthayyyy

Month-yyyy

75

KVDTF_Month_yyyy

Month yyyy

76

KVDTF_Monthc_yyyy

Month, yyyy

77

KVDTF_Mon_dc_yyyy

Mon d, yyyy

78

KVDTF_d_Monc_yyyy

d Mon, yyyy

79

KVDTF_yyyy_Mon_d

yyyy Mon d

80

KVDTF_Month_dc_yyyy

Month d, yyyy

81

KVDTF_d_Monthc_yyyy

d Month, yyyy

82

KVDTF_yyyy_Month_d

yyyy Month d

83

Weekday Date Formats

KVDTF_Wday

Wday

84

KVDTF_Weekday

Weekday

85

KVDTF_Wdayc_Mon_dc_yyyy

Wday, Mon d, yyyy

86

KVDTF_Weekdayc_Month_dc_yyyy Weekday, Month d, yyyy 87

KVDTF_Weekdayc_d_Monthc_yyyy Weekday, d Month, yyyy 88

IDOL KeyView (12.11)

Page 245 of 286

Appendix E: File Format Detection

This section describes how file formats are detected in Filter SDK.

· Introduction

246

· Extract Format Information

246

· Determine Format Support

246

· Translate Format Information

249

· Determine a Document Reader

250

· Additional Format Information

250

Introduction
The KeyView format detection module (kwad) detects a file's format, and reports the information to the API, which in turn reports the information to the developer's application. If the detected format is supported by the KeyView SDK, the detection module also loads the appropriate structured access layer and document reader for further processing. For a list of supported formats, see Document Readers, on page 176.

Extract Format Information
You can extract format information from a document by using the GetDocFormatInfo method. This method extracts the major format, file class, version, and document attributes, and populates the DocFormatInfo class. It returns the format information as a string. The format information that you can extract is listed in the header file adinfo.h.
For information on how to translate the extracted format information, see Translate Format Information, on page 249.

Determine Format Support
After the file format is extracted, the detection module uses the formats.ini file to determine whether the format is supported by KeyView, and the appropriate structured access layer and reader to load.

IDOL KeyView (12.11)

Page 246 of 286

Filter SDK .NET Programming Guide Appendix E: File Format Detection
The formats.ini file is in the directory install\OS\bin, where install is the path name of the Filter installation directory and OS is the name of the operating system. It contains the following information:
l Coded format information. To translate this information, see Translate Format Information, on page 249.
l The reader associated with each format. See Determine a Document Reader, on page 250. l Configuration parameters. l Locale settings for internal use.
Example formats.ini file entries
123=mw 152=xyw 178=wp6 189=mw6 2=af 200=pdf 205=mb 210=htm 251=htm
NOTE: The formats.ini file applies to all formats except graphics. Detection of graphics formats is handled by an internal module named KeyView Picture Interchange Format (KPIF).
Refine Detection of Text Files
During text detection, KeyView analyses the first 1 kB and last 1 kB of data in a document. If less than 10% of that data consists of non-ASCII characters, KeyView detects the document as a text file. However, depending on the type of documents you are working with, the default settings might not provide the desired level of accuracy. Configuration flags enable you to change the amount of data to read at the end of a file, the percentage of non-ASCII characters permitted in a text file, and whether to use or ignore the file extension to determine the document format.
Change the Amount of File Data to Read
During file detection, KeyView reads characters from the beginning and end of a file--by default, it reads the first and last 1,024 bytes of data. Large text files might contain many irrelevant characters at the end of a file, so KeyView might not accurately detect the file format. You can set a configuration flag to increase the amount of data to read from the end of a file during detection.

IDOL KeyView (12.11)

Page 247 of 286

Filter SDK .NET Programming Guide Appendix E: File Format Detection
To change the amount of data to read during detection l In the formats.ini file, set the following flag in the detection_flags section: [detection_flags] non_ascii_chars_end_block_size=kB where kB is the number of kilobytes to read from the end of the file, from 0 to 10. The default value is 1.
NOTE: The file size must be greater than the value specified in the flag. If the flag value is greater than the file size, KeyView does not use the flag.
Change the Percentage of Allowed Non-ASCII Characters
By default, if less than 10% of the analyzed data in a document consists of non-ASCII characters, it is detected as a text file. Depending on the type of files that you are working with, changing the default percentage might increase detection accuracy.
To change the percentage of non-ASCII characters allowed in text files l In the formats.ini file, set the following flag in the detection_flags section: [detection_flags] non_ascii_chars_in_text=N where N is the percentage of non-ASCII characters to allow in text files. Files that contain a lower percentage of non-ASCII characters than N are detected as text files. The default value is 10.
Allow Consecutive NULL Bytes in a Text File
By default, if a document contains consecutive NULL bytes, it is not detected as text. Depending on the type of files that you are working with, changing the default might increase detection accuracy.
To allow consecutive NULL bytes of ASCII characters in text files In the formats.ini file, set the following flag in the detection_flags section: [detection_flags] ascii_allow_null_bytes=1 The default value is 0 (do not allow consecutive NULL bytes).
Use the File Extension for Detection
Sometimes KeyView detects certain file formats, such as CSV, as ASCII because of the content of the documents. In such cases, you can configure KeyView to use the file extension to determine the document format. Using the file extension can improve detection of formats such as CSV, but might not detect text files successfully if they have incorrect file extensions.

IDOL KeyView (12.11)

Page 248 of 286

Filter SDK .NET Programming Guide Appendix E: File Format Detection
To use the file extension for ASCII files during detection l In the formats.ini file, set the following flag in the detection_flags section: [detection_flags] use_extension_for_ascii=1 The default is 0 (do not use the file extension).
Translate Format Information
Format information can include file attributes in the following categories: l Major format l File class l Minor format l Major version l Minor version
Not all categories are required. Many formats only include major format and file class, or major format only. The format information has the following structure: MajorFormat.FileClass.MinorFormat.MajorVersion.MinorVersion For example: 81.2.0.9.0 Each number in the format information represents a file attribute. The entry 81.2.0.9.0 represents a Lotus 1-2-3 Spreadsheet file version 9.0, where 81= Lotus 1-2-3 Spreadsheet (major format)
2 = Spreadsheet (file class) 0 = not defined (minor format) 9 = 9 (major version) 0 = 0 (minor version) This example applies to the formats.ini file. When extracting format information using the GetDocFormatInfo method, the same format is represented as 294.2.9.0.
NOTE: The format values returned from GetDocFormatInfo differ from those in formats.ini because the former defines a unique ID for each major format, while the latter uses a major version, minor version, and minor format to distinguish between formats.

IDOL KeyView (12.11)

Page 249 of 286

Filter SDK .NET Programming Guide Appendix E: File Format Detection

Distinguish Between Formats
The DocFormatInfo class provides a unique ID for each major format. For example, a call to GetDocFormatInfo would return 351.1.0 for a Microsoft Word XML format. The major format 351 is unique to this format. Unlike DocFormatInfo, the formats.ini file distinguishes between formats by using the major version number. For example, in the formats.ini file, a Microsoft Word 2003 XML format is defined as 285.1.0.100.0. The major format 285 and file class 1 are the same values for generic XML. The major version 100 distinguishes the format as Microsoft Word 2003 XML. The major version is used to specify the following formats:
l Microsoft Office 2003 XML. This format has the same major format and file class as generic XML (285.1). It is distinguished from generic XML by using the following major versions: o Word: 100 o Excel: 101 o Visio: 110
l The XHTML format has the same major format and file class as HTML (210.1). It is distinguished from HTML by using the major version 100.
Determine a Document Reader
The format detection module uses the formats.ini file to determine whether a format is supported, and to determine the reader to use to parse a format. The entries in the formats.ini file list each format's coded value, and an abbreviation for the format's reader. The reader abbreviation is a truncated version of the reader's library name. Adding "sr" to the end of an abbreviation creates the name of the reader. For example, this example entry specifies that a Lotus 1-2-3 Spreadsheet file version 9.0 is parsed by the Lotus 1-2-3 filter, l123sr:
81.2.0.9.0=l123 List of Required Files for Redistribution, on page 251 lists the readers provided with KeyView.
Additional Format Information
The ADDOCINFO class returns basic information about a document's format, but sometimes it can be useful to have additional information. The file format_descriptions.tsv, which can be found in the bin directory, provides a mapping between file format ID, human-readable format description, and the format's MIME type (if one exists). This file is in tab-delimited format, and the tab character will only appear as a delimiter. This information is available in the documentation (see the section Supported Formats, on page 89), but the TSV file provides it in a machine-readable format.

IDOL KeyView (12.11)

Page 250 of 286

Appendix F: List of Required Files for Redistribution
This section lists the Filter files that can be redistributed in your applications under the licensing agreement. Unless noted, these files are in the directory install\OS\bin, where install is the path of the Filter installation directory and OS is the operating system platform.
NOTE: On Windows systems, the libraries are .dll files. On UNIX systems, the libraries are .so, .a, or .sl files.

Core Files

The following core files can be redistributed with your application.

File formats.ini
FilterDotNet.dll filterfordotnet.dll KeyView.jar

Description Initialization file. For more information on this file, see Determine Format Support, on page 246. The .NET API. Required by the .NET API. The Java API.

NOTE: This file can be found at the path install/javaapi/KeyView.jar where install is the Filter SDK installation directory.

*KeyViewFilter.* kpifcnvt.* kpifutil.*
kvfilter_nsl.a
kvxtract.* kvfilter.* kvolefio.*

Required by the Java API.
For presentation graphics, converts from one picture format to another.
Utility for handling the internal picture interchange format for presentation graphics.
(AIX platforms only.) Alternative Filter API implementation using POSIX standards for starting new processes. See The Filter Process Model, on page 23.
File Extraction API.
Filter API.
Embedded OLE object writer.

IDOL KeyView (12.11)

Page 251 of 286

Filter SDK .NET Programming Guide Appendix F: List of Required Files for Redistribution

File kvutil.* kvxpgsa.*
kvxsssa.* kvxwpsa.* kvzip.* kwad.* txtcnv.* vcredist\*

Description Internal KeyView utility functions. Interface between presentation readers and kvfilter. Required to extract metadata from AutoCAD files. Interface between spreadsheet readers and kvfilter. Interface between word processing readers and kvfilter. Zip writer. File auto-recognition module. Converter for document token stream. (Windows platforms only) Microsoft Visual C++ Redistributable Packages.
NOTE: This folder can be found in the Filter SDK installation directory.

Support Files

The following support files can be redistributed with your application.

File datafiles\* NSFtemplates\* 7z.* bentofio.* cbmap.map CEBDLL.dll chartbls.ux chmdll.* codeidentifierplugin.* cpstsdk.* DFECore.dll

Description (Folder) Required by kvlangdetect (Folder) Templates used by nsfsr to format Lotus mail notes Required by z7zsr and multiarcsr Required by l123sr and kpprzrdr. Character mappings for Adobe Portable Document Format (PDF). Required by cebsr. Character mappings. Required by chmsr. Required for source code identification Required by pstxsr. Required by cebsr.

IDOL KeyView (12.11)

Page 252 of 286

Filter SDK .NET Programming Guide Appendix F: List of Required Files for Redistribution

File Filter.dll kpbmpwrt.* kppng.* kvdecrypt.* kvlangdetect.* kvxconfig.ini kvoop.* kvthread.* kv.lic
*langdetectext.* libpff.* libcrypto* libstlport.so.1
tabledata.dat unzipjpg.* wpmap.*
xmlsh.*

Description Required by cebsr. Required for processing bmp files. Required for ZLIB decompression. Decryption utility functions. Utility functions for language and character set detection. Contains element extraction settings for XML files. Required for out-of-process filtering. Required for multithreaded out-of-process filtering. Contains license information for KeyView products. This file is opened and validated when a KeyView API is used. Required by kvlangdetect.*. Required by pffsr. SSL utility functions used by KeyView mail format readers. (Solaris platforms only) Solaris Studio Redistributable. This file is located in install/OS/lib. Required for table detection. Required for JPEG decompression. Extended character mapping for WordPerfect and Corel Presentation. Contains a library of content handlers for each XML file type. Required by the Expat XML parser.

Document Readers

The following readers can be redistributed with your application.

File ad1sr.* afsr.* aiffsr.*

Description AD1 Evidence file reader ASCII reader Audio Interchange Format File (AIFF) reader

IDOL KeyView (12.11)

Page 253 of 286

Filter SDK .NET Programming Guide Appendix F: List of Required Files for Redistribution

File asfsr.* assr.* awsr.* b1sr.* bkfsr.* bmpsr.* bzip2sr.* cabsr.* cebsr.* chmsr.* csvsr.* dbfsr.* dbxsr.* dcasr.* dcmsr.* difsr.* dmgsr.* dw4sr.* dxlsr.* emlsr.*
emxsr.* encasesr.* encase2sr.* entsr.* epubsr.* foliosr.* gdsiisr.*

Description Advanced Systems Format reader Applix Spreadsheet reader Applix Word reader B1 archive reader Microsoft Backup File reader Windows bitmap (BMP) reader Bzip2 reader Microsoft Cabinet format reader Founder Chinese E-paper Basic reader Microsoft Compiled HTML Help reader Comma-Separated Values reader dBase Database reader Microsoft Outlook Express DBX reader Document Content Architecture/Revisable Form Text (DCA/RFT) reader Digital Imaging and Communications in Medicine (DICOM) reader Data Interchange Format reader Mac Disk Copy Disk Image File reader DisplayWrite reader Domino XML Language reader Microsoft Outlook Express (EML) reader. This is used to filter EML files when the MBX reader is not licensed. Legato EMailXtender (EMX) reader Expert Witness Compression Format (EnCase) v6 reader Expert Witness Compression Format (EnCase) v7 reader Microsoft Entourage Database Format reader Open Publication Structure eBook reader Folio Flat File reader Graphic Database System (GDSII) reader

IDOL KeyView (12.11)

Page 254 of 286

Filter SDK .NET Programming Guide Appendix F: List of Required Files for Redistribution

File gifsr.* gwfssr.* hl7sr.* htmsr.* hwpsr.* hwposr.* ichatsr.* icssr.* isosr.* iwss13sr.* iwwp13sr.* iwwpsr.* iwsssr.* jp2000sr.* jpgsr.* jtdsr.* kpagrdr.* kpcatrdr.* kpcgmrdr.* kpdwgrdr.* kpdxfrdr.* kpemfrdr.* kpgflrdr.* kpgifrdr.* kpiwpg13rdr.* kpiwpgrdr.* kpjbig2rdr.*

Description Graphics Interchange Format (GIF) reader GroupWise FileSurf reader Health level7 reader (metadata only) HTML and XHTML reader Hangul 97 reader Hangul 2002, 2005, 2007 reader Apple iChat Log reader Microsoft Outlook iCalendar reader ISO-9660 CD Disc Image Format reader iWork 13 Numbers reader iWork 13 Pages reader Apple iWork Pages reader Apple iWork Numbers reader JPEG 2000 metadata reader JPEG metadata reader JustSystems Ichitaro reader Applix Presentations reader CATIA format reader Computer Graphics Metafile reader AutoCAD Drawing format reader AutoCAD Drawing Exchange format reader Enhanced Metafile reader Omni Graffle reader Graphic Interchange Format (GIF) reader iWork 13 keynote reader Apple iWork Keynote reader JBIG2 reader

IDOL KeyView (12.11)

Page 255 of 286

Filter SDK .NET Programming Guide Appendix F: List of Required Files for Redistribution

File kpjp2000rdr.* kpmsordr.* kpnbmprdr.* kpodardr.* kpodfrdr.* kpoxdrdr.* kpp40rdr.* kpp95rdr.* kpp97rdr.* kppctrdr.* kppicrdr.* kppngwrt.* kpppxrdr.* kpprerdr.* kpprzrdr.* kpsddrdr.* kpsdwrdr.* kpshwrdr.* kptifrdr.* kpugrdr.* kpvsd2rdr.* kpvsdxrdr.* kpwg2rdr.* kpwmfrdr.* kpwpgrdr.* kpxfdlrdr.* kvgzsr.* kvhqxsr.*

Description JPEG 2000 reader Microsoft Office Drawing Objects (office 97, 2000, and XP) reader Notes Bitmap reader (for embedded images in DXL files) AutoCAD reader Oasis Open Document Format presentation (ODP) reader Open Office XML Diagram Graphics reader. Microsoft PowerPoint PC 4.0 and PowerPoint Mac reader Microsoft PowerPoint 95 reader Microsoft PowerPoint 97 and higher reader Macintosh Quick Draw Picture (PICT) reader Pictor PC Paint (PIC) reader Portable Network Graphics (PNG) reader Microsoft PowerPoint XML reader 2007 Lotus Freelance Graphics for Windows V2.0 reader Lotus Freelance Graphics 96/97/98 reader StarOffice Impress reader Lotus Ami Pro Graphics reader Corel Presentations reader Tagged Image File (TIF) reader Unigraphics (UG) NX reader Microsoft Visio reader Microsoft Visio 2013 reader WordPerfect Graphics 2 reader Windows Metafile reader WordPerfect Graphics 1 reader Extensible Forms Description Language reader GZIP reader BinHex reader

IDOL KeyView (12.11)

Page 256 of 286

Filter SDK .NET Programming Guide Appendix F: List of Required Files for Redistribution

File kvzeesr.* l123sr.* lasr.* ltbenn30.dll ltscsn10.dll lwpapin.dll lwppann.dll lwpsr.dll lzhsr.* macbinsr.* mbsr.* mbxsr.* mdbsr.* mhtsr.* mifsr.* misr.* mp3sr.* mpeg4sr.* mppsr.* msgsr.* mspubsr.* msw6sr.* mswsr.* multiarcsr.* mw6sr.* mw8sr.*

Description UNIX Compress reader Lotus 123 v96/97/98 reader Lotus AMI Pro reader Lotus Word Pro support (supported on Windows x86 platform only) Lotus Word Pro support (supported on Windows x86 platform only) Lotus Word Pro support (supported on Windows x86 platform only) Lotus Word Pro support (supported on Windows x86 platform only) Lotus Word Pro reader (supported on Windows x86 platform only) Microsoft Compression Folder reader MacBinary reader Microsoft Word Macintosh reader Mailbox (MBX) and Microsoft Outlook Express (EML) reader1 Microsoft Access reader MIME HTML reader Adobe Maker Interchange reader Microsoft Word 2 reader MP3 reader for metadata extraction reader MPEG-4 Audio file reader Microsoft Project reader Microsoft Outlook (MSG) reader Microsoft Publisher reader Microsoft Works 6 and 2000 reader Microsoft Works V1 and 2 reader ARJ Reader Microsoft Word 95 reader Microsoft Word 97, 2000, and XP reader

1This reader is an advanced feature and is sold and licensed separately from KeyView Filter SDK. See License Information, on page 15

IDOL KeyView (12.11)

Page 257 of 286

Filter SDK .NET Programming Guide Appendix F: List of Required Files for Redistribution

File mwsr.* mwssr.* mwxsr.* nsfsr.* oa2sr.* odfsssr.* odfwpsr.* olesr.* olmsr.* onealtsr.* onesr.* pmesr.* onmsr.* oo3sr.* pbixsr.* pdf2sr.* pdfsr.* pfilesr.* pffsr.* pngsr.* psdsr.* pstsr.dll
pstnsr.* pstxsr.* qpssr.* qpwsr.* rarsr.*

Description Microsoft Word for DOS and Microsoft Write reader Microsoft Works Spreadsheet reader Microsoft Word 2007 XML reader Lotus Notes database reader 1 Fujitsu Oasys reader Oasis Open Document Format spreadsheets (ODS) reader Oasis Open Document Format word processing (ODS) reader Embedded OLE object reader Microsoft Outlook for Macintosh reader Microsoft OneNote Alternate Format reader Microsoft OneNote Format reader Plazmic Media Engine data file reader Legato EMailXtender Native Message reader Omni Outliner reader Microsoft Power BI file (PBIX) reader Alternative Adobe Portable Document Format file (PDF) reader Adobe Portable Document Format file (PDF) reader Microsoft Rights Management System encryption file reader Microsoft Outlook Offline Storage File reader Portable Network Graphics (PNG) reader Adobe Photoshop Document (PSD) reader Microsoft Outlook Personal Folders file MAPI-based reader (supported on Windows platform only)1 Microsoft Outlook Personal Folders file native reader1 Microsoft Outlook Personal Folders file native reader1 Corel Quattro Pro spreadsheet reader Corel Quattro Pro version X4 spreadsheet reader RAR Archive reader

IDOL KeyView (12.11)

Page 258 of 286

Filter SDK .NET Programming Guide Appendix F: List of Required Files for Redistribution

File riffsr.* rtfsr.* skypesr.* sosr.* starcsr.* starwsr.* sunadsr.* swfsr.* tarsr.* tifsr.* tnefsr.* unihtmsr.* unisr.* unzip.* utf8sr.* uudsr.* vcfsr.* vsdsr.* wkssr.* wosr.* wp6sr.* wpmsr.* xlsbsr.* xlssr.* xlsxsr.* xmlsr.* xpssr.* xywsr.*

Description Microsoft WAVE reader Microsoft Rich Text reader Skype log file reader StarOffice/OpenOffice reader StarOffice Calc reader StarOffice Writer reader Sun Audio Data reader Macromedia Flash reader Tape archive reader TIFF reader (metadata only) Transfer Neutral Encapsulation Format Unicode HTML reader Unicode reader Zip file reader UTF-8 reader UUEncoding reader Microsoft Outlook vCard Contact reader Microsoft Visio reader Lotus 123 v2.0 through 5.0 reader WordPerfect 5.x reader WordPerfect 6.0 through 10.0 reader WordPerfect for Macintosh reader Microsoft Office 2007 Excel Binary Format reader Microsoft Excel reader Microsoft Excel 2007 XML reader Generic XML reader XML Paper Specification reader XYWrite reader

IDOL KeyView (12.11)

Page 259 of 286

Filter SDK .NET Programming Guide Appendix F: List of Required Files for Redistribution

File yimsr.* z7zsr.*

Description Yahoo! Instant Messenger reader 7-Zip reader

IDOL KeyView (12.11)

Page 260 of 286

Appendix G: Develop a Custom Reader

This section describes how to develop a reader for a format not supported by KeyView.

· Introduction

261

· How to Write a Custom Reader

262

· Development Tips

272

· Functions

273

Introduction
The Filter SDK enables you to write custom readers for formats not directly supported by KeyView. A reader is required to parse the file format and generate a KeyView token stream, which represents the content and format of the document. Filter can then use this token stream to generate a text version of the original document. The readers interact with a structured access layer and a writer to generate a text file in Filter, an HTML file in HTML Export, an XML file in XML Export, and a near-tooriginal view of the document in the Viewing SDK. The complexity of a custom reader depends on the file format used by the source document type. A simple reader extracts only the textual content, but ignores formatting and all other non-textual content. Readers of increasing complexity must address one or more of the following:
l formatting (including fonts, foreground and background colors, paragraph borders and shading, character and paragraph styles)
l tables
l lists
l headers
l footers
l footnotes
l endnotes
l graphics
l bookmarks to internal links
l hyperlinks to external documents or webpages
l other structures, such as a table of contents or index
Even a simple reader might have to parse the following components of a document: l word processing commands or tags
l encrypted or encoded text

IDOL KeyView (12.11)

Page 261 of 286

Filter SDK .NET Programming Guide Appendix G: Develop a Custom Reader
l multiple character sets l text modified, but retained within the file l text displayed in an order other than its physical occurrence within the source file
It is very important to fully understand the file specification for the file format used by the document. This is essential in determining how to parse the source file and generate a token stream that accurately and effectively represents the original document. Within Filter, the custom reader must interact with a structured access layer and the format detection API, which in turn interacts with the top-level API. For a description of the Filter architecture, see Architectural Overview, on page 18. The custom reader must have a module definition file (*.def) that defines the exported API function calls. In addition, the formats.ini file must be modified to identify the custom reader and its associated format detection function. See the source code for the sample custom reader (utf8sr), which parses plain text files encoded in UTF-8. The source code is in the directory install/samples/utf8sr, where install is the path name of the Filter installation directory.
How to Write a Custom Reader
Two include files define the requirements for a custom reader: kvcfsr.h and kvtoken.h. The definitions of the KeyView tokens are in kvtoken.h. For more information on tokens, see Token Buffer, on the next page. The file kvcfsr.h defines two structures: TPReaderInterface and adTPDocInfo. The TPReaderInterface structure defines the API functions implemented by the custom reader. For basic readers, only the first four functions must be implemented. These functions are called by the structured access layer to parse the source file and generate the token stream. All readers must be threadsafe. This means that global variables must not be used. To pass information between functions, it is necessary to define a "global" context structure that stores all information required throughout the life of the DLL. The initial parameter of all but one of the TPReaderInterface functions is a pointer to a global context structure defined for the custom reader. The adTPDocInfo structure defines the information required for the format detection API, which associates the custom reader with the required file format.
Naming Conventions
Use the following naming conventions for functions and files: l The initial letters of the custom reader file name should identify the file format being parsed. For example, pdf for Adobe PDF files, rtf for RTF files, and xls for Microsoft Excel files. In the examples in this appendix, this is represented by xxx. l The name of the shared library must end with the letters sr.

IDOL KeyView (12.11)

Page 262 of 286

Filter SDK .NET Programming Guide Appendix G: Develop a Custom Reader

l The name of the exported functions in the module definition file must be xxxGetReaderInterface and xxxsrAutoDet.
NOTE: The letters sr are excluded from xxxGetReaderInterface, but are included in xxxsrAutoDet.

Basic Steps
The basic steps for developing a custom reader are as follows.
To develop a custom reader 1. Design the global context structure. 2. Write the basic API functions: l xxxAllocateContext() l xxxInitDoc() l xxxFillBuffer() l xxxFreeContext() l xxxCharSet() l xxxsrAutoDet() From within the xxxFillBuffer() function, it is necessary to call other functions that repeatedly read a chunk of a source file, parse the chunk, and generate a token stream until the entire source file is processed. 3. Map all but the last function to the TPReaderInterface structure. 4. Write the module definition file (*.def), exporting the reader interface and format detection functions. 5. Modify the formats.ini file to identify the custom reader and its associated format detection function. See xxxsrAutoDet(), on page 273. For example, the following lines would be added to the [Formats] section of the formats.ini file for the UTF-8 reader:
456.1.0.0=utf8 [CustomFilters] 1=utf8sr

Token Buffer

Filter technology parses the native file structure to generate an intermediate stream called a token buffer. The token buffer consists of multiple sequences of tokens, which are defined in kvtoken.h and listed below.

#define KVT_TEXT #define KVT_PARAINFO

0x00 /* PutText() */ 0x01 /* SetParaInfo() */

IDOL KeyView (12.11)

Page 263 of 286

Filter SDK .NET Programming Guide Appendix G: Develop a Custom Reader

#define KVT_SETTABS

0x02 /* SetTabs() */

#define KVT_TAB

0x03 /* Tab() */

#define KVT_MODE

0x04 /* SetMode() */

#define KVT_PARASPACE 0x05 /* SetParaSpace() */

#define KVT_ROWDEFN

0x06 /* DefineRow(), EndTable() */

#define KVT_COLUMNS

0x07 /* StartColumns(), etc. */

#define KVT_CELLSTART 0x08 /* NextCell() */

#define KVT_BITMAP

0x09 /* Reserved for annotations. */

#define KVT_PAGEOBJ

0x0A /* PutHeader(), PrintPage(), etc.*/

#define KVT_NOOP

0x0B /* Just skip a BYTE. */

#define KVT_PAGE_BREAK 0x0C /* PageBreak() */

#define KVT_PARA_BREAK 0x0D /* ParaEnd() */

#define KVT_LINE_BREAK 0x0E /* LineBreak() */

#define KVT_SET_FONT

0x0F /* SetFont() */

#define KVT_PAGE

0x10 /* SetPageInfo() */

#define KVT_HOTSPOT

0x11 /* StartHotSpot() */

#define KVT_LINESPACE 0x12 /* SetLineSpacing() */

#define KVT_COLOR

0x13 /* VESetTextColor(),VESetBkColor()*/

#define KVT_PICTURE

0x14 /* PutPicture() */

#define KVT_CELLMERGE 0x15 /* MergeCells() */

#define KVT_RULE

0x16 /* HorzRule() */

#define KVT_PATTERN

0x17 /* StartPattern(), etc. */

#define KVT_BORDER

0x18 /* StartParaBorder(), etc. */

#define KVT_HEADING

0x19 /* PutParaHeading() */

#define KVT_LISTING

0x1A /* StartList(), etc. */

#define KVT_CHARSET

0x1B /* SetCharSet() */

#define KVT_STYLE

0x1C /* PutCharStyle(), PutParaStyle()*/

#define KVT_BIDI

0x1D /* Set Bidirectional text */

#define KVT_LOCALE

0x1E /* Set locale of a document */

#define KVT_ZONE

0x1F /* StartZone(), EndZone() */

#define KVT_POSITION

0x20 /* SetPosition(), etc. */

#define KVT_AUTOREC

0x21 /* Reserved for Internal Use */

#define KVT_METADATA

0x22 /* Rsserved for Internal Use */

#define KVT_BYTEORDER 0x23 /* SetByteOrder() */

#define KVT_PARASPACEAUTO 0x24 /* SetParaSpaceAuto() */

#define KVT_ATTACH

0x25 /* PutAttachment() */

#define KVT_TOCPRINTIMAGE 0x26 /* StartTOCPrintImage(), etc. */

#define KVT_STREAM

0x27 /* PutStream(),Reserved */

#define KVT_REVISIONMARK 0x28 /* StartRevisionMark(),

EndRevisionMark(), SetRMAuthor(), SetRMDateTime() */

#define KVT_DOCXTRINFO 0x29 /* SetDocXtrInfo() */

#define KVT_PCTEMDFT

0x30 /* SetPctEmdFt() */

A token is a single-byte identifier that corresponds to attributes in a document. Each token has one or more associated macros that provide detailed information about an attribute. Many of these tokens define components of the document, such as page margins, line indentation, and foreground and background color. Collectively, these are referred to as the state of the document. This state changes as the document is parsed.

IDOL KeyView (12.11)

Page 264 of 286

Filter SDK .NET Programming Guide Appendix G: Develop a Custom Reader

Macros

Some of the macros are simple while others are complicated. An example of a simple macro is ParaEnd (pcBuf) which terminates the current paragraph.

#define ParaEnd(pcBuf)

\

{

\

*pcBuf++ = KVT_PARA_BREAK;

\

KVT_PUTINT(pcBuf, KVTSIZE_PARA_BREAK);

\

}

In Filter SDK, this generates an 0x0d, 0x0a pair of bytes on a Windows machine. In HTML Export this can generate a <p style="..."> element, depending on the value of other paragraph attributes.

One of the more complicated macros is PutPictureEx().

#define PutPictureEx(pcBuf, lpszKey, cx, cy, flags,

\

scaleHeight, scaleWidth,

\

cropFromL, cropFromT, cropFromR, cropFromB,

\

anchorHorizontal, anchorVertical, offsetX, offsetY)\

{

\

PutPic(pcBuf, lpszKey, cx, cy, flags,

\

scaleHeight, scaleWidth,

\

cropFromL, cropFromT, cropFromR, cropFromB,

\

anchorHorizontal, anchorVertical, offsetX, offsetY,\

180, 0, 180, 0, -1, 0, 0, 0, 0)

\

}

You can generate a representation of the token stream by running filtertest.exe with the -d command-line option. This stream does not include the tokens generated for headers or footers. The filtertest.exe is in the directory install\samples\utf8\bin, where install is the path name of the Filter installation directory.

Reader Interface
All custom readers use the reader interface defined in kvcfsr.h. The members of this structure are:
fpAllocateContext() fpInitDoc() fpFillBuffer() fpFreeContext() fpHotSpothit() fpGetSummaryInfo() fpOpenStream() fpCloseStream() fpGetURL() fpGetCharSet()
NOTE: fpHotSpothit() and fpGetURL() are currently reserved and must be NULL.

IDOL KeyView (12.11)

Page 265 of 286

Filter SDK .NET Programming Guide Appendix G: Develop a Custom Reader

Function Flow
The structured access layer calls the functions as follows:
1. fpAllocateContext() is called and returns a pointer to the global context structure.
2. After further processing within the structured access layer, fpInitDoc() is called. This function performs all required initialization for the global context structure and then returns control to the structured access layer.
3. After further processing within the structured access layer, the fpFillBuffer() function is called repeatedly until the document is completely parsed.
4. Finally, fpFreeContext() is called. This function frees all memory allocated within the custom reader and then returns control to the structured access layer.
Related Topics
l Functions, on page 273
Example Development of fffFillBuffer()
The following is an example of how the fpFillBuffer() function in foliosr could be developed. The example demonstrates how the code changes as limitations of the implementation are identified. With each implementation, code revisions are shown in bold.
Implementation 1--fpFillBuffer() Function
/***************************************************************** *Function: fffFillBuffer() *Summary: Read fff input from stream and parse into kvtoken.h codes *****************************************************************/ int pascal _export fffFillBuffer(
void *pCFContext, BYTE *pcBuf, UINT *pnBufOut, int *pnPercentDone, UINT cbBufOutMax ) { BOOL bRetVal; TPfffGlobals *pContext = (TPfffGlobals *)pCFContext; pContext->pcBufOut = pcBuf; fffReadSourceFile(pContext); bRetVal = fffProcessBuffer(pContext, pcBuf); *pnPercentDone = (int)(pContext->unTotalBytesProcessed * (UINT)100 / pContext->unFileSize); *pnBufOut = (UINT)(pContext->pcBufOut - pcBuf); return (bRetVal ? KVERR_Success : KVERR_General); }
The parameters in fffFillBuffer() are as follows:

IDOL KeyView (12.11)

Page 266 of 286

Filter SDK .NET Programming Guide Appendix G: Develop a Custom Reader

Parameter pCFContext pcBuf pnBufOut pnPercentDone cbBufOutMax

In/Out In In/Out Out Out In

Description A pointer to the context structure of the custom reader. A pointer to the token output buffer. A pointer to the number of bytes written to the output buffer. A pointer to the percentage complete. The maximum number of bytes that the token output buffer can hold.

Structure of Implementation 1
1. The local variable pContext is set to the address of the pCFContext void pointer, cast to a pointer to the global context structure for the reader. This provides access to all members of this structure.
2. After setting the pContext variable, a call is made to read the source file.
3. Next, a call is made to fffProcessBuffer(). The second parameter in the call is a pointer to the token output buffer. If this call fails, usually because of memory allocation errors, it returns FALSE.
4. The percentage complete is calculated.
5. The number of BYTES written to the token output buffer is calculated. This is based on the value of pContext->pcBufOut, which is increased each time a token is written to the buffer.
6. The function returns to the structured access layer.
7. Subsequent calls to fffFillBuffer() are made by the structured access layer until the percentage complete is 100.
Problems with Implementation 1
l There is a limit to the size of the token output buffer, typically 4 KB. If fffProcessBuffer() generates a token stream larger than this, there is a memory overflow. If fffProcessBuffer() generates a small token stream and the entire file has not been read, the output token buffer is underutilized.
l It might not be possible to process the entire input buffer from the source file because of boundary conditions. An example of a "boundary condition" is when the input buffer terminates part way through a control sequence in the original document. Another file read operation is required before the complete control sequence can be parsed.
l This function might be interrupted by other calls from the structured access layer to process headers, footers, footnotes, and endnotes, or to retrieve the document summary information. This can cause values of variables in the global context to change, and the source file to be repositioned.

IDOL KeyView (12.11)

Page 267 of 286

Filter SDK .NET Programming Guide Appendix G: Develop a Custom Reader

Implementation 2--Processing a Large Token Stream

Implementation 2 addresses the problem of processing a token stream that is larger than the output buffer size limit.

/*****************************************************************

* Function: fffFillBuffer()

* Summary: Read fff input from stream and parse into kvtoken.h codes

*****************************************************************/

int pascal _export fffFillBuffer(

void *pCFContext,

BYTE *pcBuf,

UINT *pnBufOut,

int *pnPercentDone,

UINT cbBufOutMax )

{

BOOL bRetVal = TRUE;

TPfffGlobals *pContext = (TPfffGlobals *)pCFContext;

pContext->pcBufOut

= pcBuf;

pContext->cbBufOutMax = 9 * cbBufOutMax / 10; /* Process the portion of the

fff file that is in the input buffer but do * not return from the fffFillBuffer()

function unless the output buffer is * at least 90% full. If any of the memory

allocations fail during the * execution of fffProcessBuffer(), bRetVal will be set

to FALSE, resulting * in this conversion failing "gracefully".

*/

do

{ if( pContext->bBufOutFull )

{ pContext->bBufOutFull = FALSE;
} else

{ fffReadSourceFile(pContext);
} bRetVal = fffProcessBuffer(pContext, pcBuf); *pnPercentDone = (int)(pContext->unTotalBytesProcessed * (UINT)100 / pContext->unFileSize); }while( bRetVal && !pContext->bBufOutFull && *pnPercentDone < 100 ); *pnBufOut = (UINT)(pContext->pcBufOut - pcBuf); return (bRetVal ? KVERR_Success : KVERR_General); }

IDOL KeyView (12.11)

Page 268 of 286

Filter SDK .NET Programming Guide Appendix G: Develop a Custom Reader

Structure of Implementation 2
1. cbBufOutMax is used to set pContext->cbBufOutMax. This is used in fffProcessBuffer() to monitor how full the token output buffer becomes as the source file is processed.
2. When the source file input buffer has been processed, fffProcessBuffer() returns, and the percentage complete is calculated.
3. If the token output buffer is not filled to a value greater than pContext->cbBufOutMax, pContext->bBufOutFull remains set to FALSE, and if the percentage complete is less than 100, the do-while loop is re-entered without returning from this function to the structured access layer. There is another call to fffReadSourceFile(), followed by fffProcessBuffer().
4. When the token output buffer is filled to a value greater than pContext->cbBufOutMax, pContext->bBufOutFull is set to TRUE. In this case, the do-while loop ends, the number of bytes written to the token output buffer is calculated, and control returns to the structured access layer.
5. The structured access layer continues to make calls to fffFillBuffer() until the entire source file is processed.
6. Each time the structured access layer calls fffFillBuffer(), another empty token output buffer is provided for the custom reader to use.
7. If the previous call to fffFillBuffer() exited because the previous token output buffer exceeded allowable capacity, pContext->bBufOutFull is reset to FALSE and no call is made to read the next buffer from the input source file.
Problems with Implementation 2
l It might not be possible to process the entire input buffer from the source file because of boundary conditions.
l This function might be interrupted by other calls from the structured access layer to process headers, footers, footnotes, or endnotes, or to retrieve the document summary information. This can cause values of variables in the global context to change, and the source file to be repositioned.
Boundary Conditions
A boundary condition can result from many situations arising from input file processing. For example, the input buffer might end with an incomplete command. In Folio flat files, this could be an incomplete element. In other word processing documents, a boundary condition might result from an incomplete control sequence, a split double-byte character, or a partial UTF-7 or UTF-8 sequence. These can be handled jointly by fffProcessBuffer(), which must detect the boundary condition, and fffReadSourceFile().
The following example shows partial code used in fffReadSourceFile():
/**************************************************************** * * Function: fffReadSourceFile()

IDOL KeyView (12.11)

Page 269 of 286

Filter SDK .NET Programming Guide Appendix G: Develop a Custom Reader

* ***************************************************************/ int pascal fffReadSourceFile(TPfffGlobals *pContext) {
int nBytes; /* Transfer remaining data to beginning of buffer prior to next read */ if( pContext->nResidualBytes ) {
memcpy(pContext->cInputBuf, pContext->pcBufIn, pContext->nResidualBytes); } /* Read from file, without over-writing any text from the previous buffer */ nBytes = (*pContext->pIO->kwReadFunc)(pContext->pIO,
pContext->cInputBuf + pContext->nResidualBytes, BUFFERSIZE - pContext->nResidualBytes); /* Update input buffer control parameters */ pContext->unTotalBytesRead += (UINT)nBytes; pContext->pcBufIn = pContext->cInputBuf; pContext->pcBufInMax = pContext->pcBufIn + pContext->nResidualBytes + nBytes; pContext->nResidualBytes = 0; return nBytes; }
If fffProcessBuffer() is unable to process the entire input source file buffer, it sets the value for pContext->nResidualBytes. When the next call to fffReadSourceFile() is made, any residual bytes are copied to the beginning of the input source file buffer, and the number of bytes to be read is reduced to make sure that this buffer does not overflow.
A good way to test the code for boundary conditions is to vary the size of BUFFERSIZE and make sure that the results remain consistent.
NOTE: With ReadSourceFile(), the source file can be read by calls to retrieve header or footer information. If this occurs, the value for pContext->unTotalBytesRead is incorrect.
Implementation 3--Interrupting Structured Access Layer Calls
Implementation 3 addresses the problem of boundary conditions and interrupting calls from the structured access layer.
/**************************************************************************** * Function: fffFillBuffer() * Summary: Read fff input from stream and parse into kvtoken.h codes ****************************************************************************/ int pascal _export fffFillBuffer(
void *pCFContext, BYTE *pcBuf, UINT *pnBufOut, int *pnPercentDone, UINT cbBufOutMax ) { double dTotalBytesProcessed, dFileSize;

IDOL KeyView (12.11)

Page 270 of 286

Filter SDK .NET Programming Guide Appendix G: Develop a Custom Reader

BOOL bRetVal = TRUE; TPfffGlobals *pContext = (TPfffGlobals *)pCFContext; pContext->pcBufOut = pcBuf; pContext->cbBufOutMax = 9 * cbBufOutMax / 10; /* Process the portion of the fff file that is in the input buffer but do * not return from the fffFillBuffer() function unless the output buffer is * at least 90% full. If any of the memory allocations fail during the * execution of fffProcessBuffer(), bRetVal will be set to FALSE, resulting * in this conversion failing "gracefully". */ do {
if( pContext->bBufOutFull ) {
pContext->bBufOutFull = FALSE; }
else {
fffReadSourceFile(pContext); }
bRetVal = fffProcessBuffer(pContext, pcBuf); if( pContext->bHeaderCompleted )
{ *pnPercentDone = 100; pContext->bHeaderCompleted = FALSE;
} else if( pContext->bFooterCompleted )
{ *pnPercentDone = 100; pContext->bFooterCompleted = FALSE;
} else
{ if( pContext->unTotalBytesProcessed >= pContext->unFileSize ) { *pnPercentDone = 100; } else if( pContext->unFileSize < FFF_MAX_ULONG ) { *pnPercentDone = (int)(pContext->unTotalBytesProcessed *
(UINT)100 / pContext->unFileSize); } else
{ dTotalBytesProcessed = pContext->unTotalBytesProcessed;
dFileSize = pContext->unFileSize;

IDOL KeyView (12.11)

Page 271 of 286

Filter SDK .NET Programming Guide Appendix G: Develop a Custom Reader
*pnPercentDone = (int)(dTotalBytesProcessed * 100 / dFileSize); } } }while( bRetVal && !pContext->bBufOutFull && *pnPercentDone < 100 ); *pnBufOut = (UINT)(pContext->pcBufOut - pcBuf); return (bRetVal ? KVERR_Success : KVERR_General); }
Structure of Implementation 3
l The most significant change in Implementation 3 is the addition of the code that checks whether the processing of the header or footer is complete. The variables for pContext>bHeaderCompleted and pContext->bFooterCompleted are set to TRUE in fffProcessBuffer () when a header or footer is processed and the end of that portion of the document is reached.
l The other piece of code added in Implementation 3 is unique to foliosr. Folio files can be 50 MB or larger. Therefore, an unsigned integer is too small to accurately calculate the percentage complete. If the file size exceeds FFF_MAX_ULONG, which is defined as (UINT)(0xFFFFFFFF / 0x64), the doubles are used for that calculation.
l Prior to returning, the token output buffer is as full as possible and never overflows. The minimum number of calls is made.
Development Tips
l Avoid unnecessary initialization. The context variable is allocated in fpAllocateContext(). This structure must be immediately memset() to zero. This sets all BOOL values to FALSE, all pointers to NULL, and all integers to 0. Only non-zero, non-NULL and BOOLs that must be TRUE need to be initialized. This is best done in fpInitDoc().
l Know where you are in the input source file. If you are processing headers, footers, notes, or (in the case of rtfsr) tables, you must be able to reposition the file pointer as required.
l Check buffer boundaries continuously. Whenever you advance through the buffer, you need to know whether there is enough of the input stream to completely process the current command. If not, you need to append the next section of the input file before continuing.
l Strive for a "clean" token stream. Use filtertest with the -d command-line option to generate a token version of the document. If there are redundant tokens, the reader is producing an inefficient token stream. You can keep the token stream free from redundancies by storing the state of the document and then applying the changes only when content is encountered. Content can be text, tabs, or picture objects.

IDOL KeyView (12.11)

Page 272 of 286

Filter SDK .NET Programming Guide Appendix G: Develop a Custom Reader

The filtertest.exe is in the directory install\samples\utf8\bin, where install is the path name of the Filter installation directory.
l Avoid large switch() statements whenever possible. They make both development and debugging more complicated than necessary. If there is a fixed set of commands, consider using a hash table that enables you to quickly identify a pointer to the function that handles that command.
l Filtering document metadata is a separate process.
Remember that fpGetSummaryInfo() is a completely separate process from the rest of your code. It creates its own context variable structure. It does not have to call fpFillBuffer().
l Use caution when processing headers, footers, and notes.
If you need to process these items, the structured access layer calls fpOpenStream() and fpCloseStream(). It is critical that you save the state of your document and the file pointer position prior to returning from fpOpenStream(). Prior to returning from fpCloseStream(), you must restore the file pointer and the previous state of your document.
l Test your code.
The structured access layer for each SDK is unique. Test your code in Filter SDK, Export SDK, and Viewing SDK.

Functions
This section describes the functions used by custom readers to manage the source file and generate token streams required to convert a document.

xxxsrAutoDet()
This function analyzes the source document and determines whether the detected file format requires the custom reader. It is called only when the [CustomFilters] section of the formats.ini file contains an entry identifying the complete file name of the custom reader. For more information on the formats.ini file, see File Format Detection, on page 246.

Syntax

Bool pascal _export xxxsrAutoDet(

adTPDocInfo *pTPDocInfo,

KPTPIOobj

*pIO)

Arguments

pTPDocInfo pIO

A pointer to the adTPDocInfo structure provided by the structured access layer. A pointer to the I/O stream object for the document processed.

IDOL KeyView (12.11)

Page 273 of 286

Filter SDK .NET Programming Guide Appendix G: Develop a Custom Reader

Returns
l TRUE if the file format matches that of the custom reader. l FALSE if the file format does not match that of the custom reader.

Discussion
l Typically, only the first 1 KB of the file is read into a buffer and analyzed to determine if it matches the file format of the custom reader. If a match is determined, the following four members of the adTPDocInfo structure must be assigned before returning TRUE:

adClass adFormat
descStr mMnmemStr

Must be set to 1. A numerical value assigned to this reader in the [Formats] section of the formats.ini file. A string describing the file format. The initial part of the custom reader file name with the "sr" excluded.

l If the return value is TRUE, the custom reader is used to parse the file and generate the token stream.
l If the return value is FALSE, all other readers in the [CustomFilters] section of the formats.ini file are tried. If no match is found, the file detection process continues checking for the formats supported by Filter SDK.
l The entry in the [Formats] section of the formats.ini file should be of the form aaa.bbb.ccc.ddd, where aaa is the value used for the adFormat parameter, bbb is the value of the file class, ccc is the value of the minor format, and ddd is the value of the major version.

xxxAllocateContext()
This function allocates a global memory block for a data context. A handle to this memory is returned to the structured access layer. The structured access layer passes this handle back to all reader entry points.

Syntax

void * pascal _export xxxAllocateContext(

void

*pSALContext,

LPARAM (pascal *fp)(void *,

UINT

LPARAM),

Bool

*pbOpenDoc,

TPVAPIServices

*pVapi,

DWORD

dwFlags)

IDOL KeyView (12.11)

Page 274 of 286

Filter SDK .NET Programming Guide Appendix G: Develop a Custom Reader

Arguments
pSALContext fp pbOpenDoc pVapi
dwFlags

A pointer to the global data context structure of the structured access layer.
A pointer to a structure of callback functions supported by the structured access layer.
You must set this BOOL value to TRUE if the allocation of memory for the global data context structure is successful.
A pointer to a structure providing memory management and character conversion functions. Because this functionality is proprietary to Micro Focus, TPVAPIServices is redefined as void in kvcfsr.h.
Run-time flags controlled by the structured access layer.

Returns
l Upon success, a pointer to the global data context structure for the custom reader. This pointer is passed back to all other custom reader entry points.
l Upon error, a NULL pointer. This causes the structured access layer to shut down the process.
Discussion
The global context structure should be memset() to zero in this function.

xxxFreeContext()
This function terminates an instance of the custom reader.
Syntax
int pascal _export xxxFreeContext(void *pCFContext)
Arguments
pCFContext A pointer to the global context structure for the custom reader.

Returns
l Upon success, KVERR_Success. l Upon error, a non-zero error code.

IDOL KeyView (12.11)

Page 275 of 286

Filter SDK .NET Programming Guide Appendix G: Develop a Custom Reader

Discussion
All memory that still remains allocated within the custom reader must be freed within this function.

xxxInitDoc()
This function initializes non-zero, non-null members of pContext.

Syntax

int pascal _export xxxInitDoc(

void

*pCFContext,

adDocDesc

*pAutoInfo,

long

lcbFileSize,

KPTPIOobj

*pIO )

Arguments
pCFContext pAutoInfo lcbFileSize pIo

A pointer to the global context structure for the custom reader. A pointer to an adDocDesc structure defined in kwautdef. The length of the source file in bytes. A pointer to a KPTPIOobj structure defined in kvioobj.h.

Returns
l Upon success, KVERR_Success. l Upon error, a non-zero error code. This causes the structured access layer to shut down the
process.
Discussion
l For custom readers, the pAutoInfo variable can be ignored. l If the structured access layer has determined the length of the source file, that value is provided
by the lcbFileSize parameter. If it is zero, the file size must be determined in this function. l The pointer pIO provides access to file management functions defined in kvioobj.h. l In this function, all non-zero, non-NULL members of the global context structure should be
initialized.

xxxFillBuffer()
This function controls parsing of the source file and generation of tokens defined in kvtoken.h.

IDOL KeyView (12.11)

Page 276 of 286

Filter SDK .NET Programming Guide Appendix G: Develop a Custom Reader

Syntax

int pascal _export xxxFillBuffer(

void *pCFContext,

BYTE *pcBuf,

UINT *pnBufOut,

int

*pnPercentDone,

UINT

cbBufOutMax)

Arguments
pCFContext pcBuf pnBufOut
pnPercentDone
cbBufOutMax

A pointer to the global context structure for the custom reader.
A pointer to a memory buffer to which the tokens are written.
A pointer to a variable that specifies the actual number of bytes written to the token buffer.
A pointer to a variable that specifies the percentage completed of the file parsing.
A pointer to a variable that specifies the maximum number of bytes written to the token buffer.

Returns
l Upon success, KVERR_Success. l Upon error, a non-zero error code. This causes the structured access layer to shut down the
process.
Discussion
l Calls are made to read and parse the source file within this function. l This function is called repeatedly by the structured access layer until either the return value is
FALSE or the percentage complete is 100. l The actual number of bytes written to the token buffer must not exceed the value of
cbBufOutMax.

xxxGetSummaryInfo()
This function is required to extract document summary information.

IDOL KeyView (12.11)

Page 277 of 286

Filter SDK .NET Programming Guide Appendix G: Develop a Custom Reader

Syntax

int pascal _export xxxGetSummaryInfo(

void

*pCFContext,

KVSummaryInfoEx

*pInfo,

BOOL

bFreeInfo)

Arguments

pCFContext pInfo bFreeInfo

A pointer to the global context structure for the custom reader.
A pointer to a KVSummaryInfoEx structure defined in kvtypes.h.
A BOOL value indicating whether to free memory allocated for summary information.

Returns
l Upon success, KVERR_Success. l Upon error, a non-zero error code.
Discussion
This function uses an instance of the global context structure that is different from the one used by all other reader interface functions. This function can call the same functions used by xxxFillBuffer() or can be completely independent. For more information, see Extract Metadata, on page 58.

xxxOpenStream()
This function is required when initiating processing of peripheral elements such as document headers, footers, footnotes, and endnotes.

Syntax

int pascal _export xxxOpenStream(

void *pCFContext,

int

type,

int

nOrdinal)

IDOL KeyView (12.11)

Page 278 of 286

Filter SDK .NET Programming Guide Appendix G: Develop a Custom Reader

Arguments

pCFContext type
nOrdinal

A pointer to the global context structure for the custom reader.
An integer identifying a specific header, footer, footnote, or endnote. Options are defined in kvcfsr.h.
An integer identifying a specific header, footer, footnote, or endnote. See the associated macros in kvtoken.h.

Returns
l Upon success, KVERR_Success.
l Upon error, a non-zero error code.
Discussion
A call to this function results in a call to xxxFillBuffer(). The function xxxFillBuffer() provides a new empty output buffer and a new token stream input buffer to process the alternate stream for peripheral elements. In this alternate stream, paragraph and character style properties are likely different from the main body. Therefore, as the document is parsed, the existing values from the main body must be saved. When the processing of the alternate stream is completed and processing of the main body resumes, these values must be restored in xxxCloseStream().

xxxCloseStream()
This function is required when terminating processing for document headers, footers, footnotes, and endnotes.

Syntax

int pascal _export xxxCloseStream(

void *pCFContext,

int

type)

Arguments

pCFContext type

A pointer to the global context structure for the custom reader.
An integer identifying a specific header, footer, footnote, or endnote. Options are defined in kvcfsr.h.

IDOL KeyView (12.11)

Page 279 of 286

Filter SDK .NET Programming Guide Appendix G: Develop a Custom Reader

Returns
l Upon success, KVERR_Success. l Upon error, a non-zero error code.
Discussion
Prior to exiting this function, the previously saved values in the global context structure must be restored. This ensures that processing of the main body resumes with the correct document state.

xxxCharSet()
This function identifies the character encoding used within the source document.

Syntax
KVCharSet pascal _export xxxCharSet( void *pCFContext, BOOL *bMSBLSB)

Arguments

pCFContext bMSBLSB

A pointer to the global context structure for the custom reader.
The BOOL value required for Unicode text. Set this argument to TRUE for Big Endian and FALSE for Little Endian.

Returns
One of the enumerated values defined in the KVCharSet structure in kvcharset.h.
Discussion
If the custom reader can determine the character encoding of the document, the corresponding enumerated value is returned. If the character encoding cannot be determined, KVCS_UNKNOWN is returned.

IDOL KeyView (12.11)

Page 280 of 286

Appendix H: Password Protected Files

This section lists supported password-protected container and non-container files and describes how to open them.

· Supported Password Protected File Types

281

· Open Password Protected Container Files

282

· Filter Password Protected Files

282

Supported Password Protected File Types

The following table lists the password-protected file types that KeyView supports.

Key to support table

Symbol Description

Y

Format is supported.

N

Format is not supported.

S

Support for viewing subfiles.

V

Support for viewing content.

P

Password required.

C

Password and certificate or User ID file required.

Supported password-protected file types

File Type

Version Filter

PST (Windows)

n/a

N

PST (non-Windows)1

n/a

N

ZIP

n/a

N

7-Zip

n/a

N

Export N N N N

Extract Y Y Y Y

View S S S S

Credentials P N P P

1The native PST readers, pstxsr and pstnsr, do not require credentials to open password-protected PST files that use compressible encryption.

IDOL KeyView (12.11)

Page 281 of 286

Filter SDK .NET Programming Guide Appendix H: Password Protected Files

Supported password-protected file types, continued

File Type

Version Filter Export

RAR

n/a

N

N

SMIME in MSG, EML,

n/a

MBX

N

N

Lotus Notes NSF

n/a

N

N

Adobe PDF

n/a

Y

Y

Microsoft Office

97-2003 Y

Y

2007

2010

Extract Y Y
Y Y Y

View S N
N V V

Credentials P C
C P P

Open Password Protected Container Files
This section describes how to extract password-protected container files by using the .NET API. The following guidelines apply to specific file types.
l Lotus Notes NSF files. If you are running a Notes client with an active user connected to a Domino server, you must specify the user's password as a credential regardless of whether the NSF files you are opening are protected. This enables KeyView to access the Notes client and the Lotus Notes API. If the Notes client is not running with an active user, KeyView does not require credentials to access the client.
l PST files. To open password-protected PST files that use high encryption (Microsoft Outlook 2003 only), you must use the MAPI-based PST reader (pstsr). The native PST readers (pstxsr and pstnsr) do not support files that use high encryption and return the error message KVERR_PasswordProtected if a PST file is encrypted with high encryption.
To open container files l Set the credential information to an ExtractOpenDocConfig object, and pass it to the ExtractOpenDocument method. For example:
odconfig = new ExtractOpenDocConfig(); odconfig.Password = m_password; extContextID = m_objFilter.ExtractOpenDocument(inFile, odconfig);
Filter Password Protected Files
This section describes how to filter password-protected non-container files with the .NET API.

IDOL KeyView (12.11)

Page 282 of 286

Filter SDK .NET Programming Guide Appendix H: Password Protected Files
To filter password-protected files l Use the Password property of the Filter class. Use the default Filter() constructor. For example: objFilter = new Filter(); objFilter.Password = pwd; where pwd is a password of 255 or fewer characters.

IDOL KeyView (12.11)

Page 283 of 286

Filter SDK .NET Programming Guide Appendix I: OCR Supported Languages

Appendix I: OCR Supported Languages
KeyView OCR supports the following languages. In parentheses following each language name is the corresponding ISO 639-1 language code.

Latin Alphabet

Afrikaans (af) Basque (eu) Catalan (ca) Croatian (hr) Czech (cs) Danish (da) Dutch (nl) English (en)

Esperanto (eo) Estonian (et) Finnish (fi) French (fr) German (de) Hungarian (hu) Icelandic (is) Italian (it)

Irish (ga) Latin (la) Latvian (lv) Lithuanian (lt) Maltese (mt) Norwegian (no) Polish (pl) Portuguese (pt)

Romanian (ro) Slovak (sk) Slovenian (sl) Spanish (es) Swedish (sv) Turkish (tr) Welsh (cy)

Arabic Alphabet
Arabic (ar) Persian (fa)

Urdu (ur)

Chinese Alphabet
Simplified Chinese (zhs)

Traditional Chinese (zht)

Cyrillic Alphabet
Bulgarian (bg)

Serbian (sr)

IDOL KeyView (12.11)

Page 284 of 286

Filter SDK .NET Programming Guide Appendix I: OCR Supported Languages
Macedonian (mk) Russian (ru)
Other Alphabets
Greek (el) Hebrew (he) Japanese (ja) Korean (ko) Thai (th)

Ukrainian (uk)

IDOL KeyView (12.11)

Page 285 of 286

Send documentation feedback
If you have comments about this document, you can contact the documentation team by email. If an email client is configured on this system, click the link above and an email window opens with the following information in the subject line: Feedback on Micro Focus IDOL KeyView 12.11 Filter SDK .NET Programming Guide Add your feedback to the email and click Send. If no email client is available, copy the information above to a new message in a web mail client, and send your feedback to swpdl.idoldocsfeedback@microfocus.com. We appreciate your feedback!

IDOL KeyView (12.11)

Page 286 of 286


madbuild