|Oracle® Outside In Viewer Developer's Guide
Part Number E12845-03
The Oracle Outside In Viewer module is part of Oracle's family of OEM technologies known as Oracle Outside In, a powerful document viewing and conversion technology that can access the information in more than 500 file formats.
There may be references to other Oracle Outside In Technology SDKs within this manual. To obtain complete documentation for any other Oracle Outside In product, see:
and click on Outside In Technology.
This chapter includes the following sections:
The updated list of supported formats is linked from the page
http://www.outsideinsdk.com/. Look for the data sheet with the latest supported formats.
A new message has been added, SCCVW_GETCURRENTPAGENUMBER, to retrieve the current page number.
A new message has been added to the SCCVWANNOTATIONEVENT41 Structure. The message SCCVW_EVENTRIGHTCLICK is sent when the user right-clicks on the annotation.
The new value SCCUT_WP_EMAILHEADERNONE has been added to the SCCID_WPEMAILHEADEROUTPUT option. This will produce no email header fields.
Because we were encountering documents that needed a range that exceeded a single WORD's storage, the message SCCVW_SETVSCROLLRANGE has been replaced with SCCVW_SETVSCROLLRANGEMIN and SCCVW_SETVSCROLLRANGEMAX.
A new option, SCCID_SYSTEMFLAGS, allows you to control miscellaneous interactions between the developer and the Outside In Technology.
NSF support has been added for the Win x86-64 platform. Please see Section 2.1.1, "NSF Support" for more details.
Fonts embedded in PDF input files will now be extracted and used to render text. The Viewer uses the FreeType library to render the font.
Previously, the display engine DEVECT only allowed a clipboard paradigm of selecting an area and copying a bitmap of that area to the clipboard. There is now a second paradigm that allows selection and copying of text in vector objects.
The new sample application ExtractArchive demonstrates using the DATree API to extract all nodes in an archive.
Support has been added for AutoCAD 2011 and 2012 files, using the OpenDesign Alliance's Teigha 3.05.00 libraries.
Support has been added for Hangul 2010 documents.
Scalable Vector Graphics (SVG) files are now identified and processed by the XML filter.
When saving email messages that have been created in HTML format, Outlook creates two message bodies, a plain text body and an RTF body that contains embedded HTML. Support has been added for the HTML embedded in the RTF.
Support has been added to extract and render MSGs and EMLs to which a digital signature has been applied.
A new option, SCCID_HTML_COND_COMMENT_MODE, allows you to control which special comments targeted for particular versions of browsers, or other products that are found in the HTML, will be included in the output.
PDF files created by Acrobat 10 are now validated and processed.
Support has been added for the extraction of table data in a Microsoft Jet 3.x- or 4.x-based file. This means that for database files created in Access 95, 97, 2000, 2002, 2003, 2007, and 2010, the TABLES data can be extracted.
Support has been added for text extraction from Microsoft OneNote 2007 and 2010 files.
Support has been added for Outlook 2010 PST and OST files, including support for High Encryption in all versions of Outlook PST and OST files.
Support has been added for rendering Outlook MSG files: Note, Task, Appointment, Contact, and Journal.
Support has been added for two types of Office 2003 files: WordProcessingML (Word 2003), text only; and SpreadSheetML (Excel 2003), text only. The XML version of the binary format will be processed, skipping embedded objects and tagging properties.
Support has been added for IBM SmartSuite 9.8 files: Lotus WordPro, Lotus 1-2-3, and Lotus Freelance.
Support has been added for Apple iWork 09 files for Mac OSX: Pages 09 PDF Preview & Text, Numbers 09 PDF Preview & Text, and Keynote 09 PDF Preview & Text.
Support has been added for WordPerfect X5 files: Word Processor, Quattro Pro, and Presentations.
Support has been added for Adobe Creative Suite 5 files: Photoshop CS5, Illustrator CS5, and InDesign CS5.
Certification on Windows 2000 has been discontinued.
When automatic font color is selected in Microsoft Office (the default setting), the application renders the text as white if the text is on a dark background. The Outside In Technology now assumes the same behavior.
Support has been added for Microsoft Project Note field rich text.
The core rendering engine has been changed to apply the SMALLCAPS character attribute.
Support has been added for PDF input for Global Streams in JBIG2 Explicit masks.
Support has been added for viewing compressed PDF files.
The PDF filter has been updated to enable support for PDFs using AES 256-bit encryption.
Not all formats that use passwords are supported. Only Microsoft Office binary (97-2003) and Microsoft Office 2007, Lotus NSF, PDF (with RC4 encryption), Zip (with AES 128 & 256 bit, ZipCrypto) are currently supported.
Support has been enhanced for processing hyperlinks in PDF files.
For each supported platform, the Oracle Outside In Viewer provides a way to create a rectangular view consisting of a horizontal scroll bar, a vertical scroll bar and a display area. This rectangle is referred to as the view window.
The view window is blank until the developer sends a SCCVW_VIEWFILE message. This message allows the developer to specify a file to be viewed. On some platforms you can specify a bitmap to display when no file is being viewed.
If SCCVW_VIEWFILE returns successfully, the display area will contain the top part of the file specified and scroll bars will be enabled, allowing the user to move around the rest of the file.
Once a file is being viewed, a whole set of messages can be sent by the developer to the view window allowing the developer to print, copy, search, change the look of, and perform a number of other operations on the view.
Eventually, the developer will either close the file (SCCVW_CLOSE) and destroy the view window or make another call to SCCVW_VIEWFILE.
The basic architecture of the Oracle Outside In Viewer is noted below. There are no supported platform distinctions:
The input filters form the base of the architecture. Each one reads a specific file format or set of related formats and sends the data to the chunker module through a standard set of function calls. There are more than 150 of these filters that read more than 500 distinct file formats. Filters are loaded on demand by the data access module.
The Chunker module is responsible for caching a certain amount of data from the filter and returning this data as a display engine.
It is also responsible for running the filter to rebuild any data not already in the cache that is requested.
The Display Engine is responsible for reading data from the chunker and displaying it in the view window. It is also responsible for all user interface, clipboard and printing for a given data type. There are currently six display engines: Document, Spreadsheet/Database, Bitmap, Drawing, Archive and Hex.
Display Engines are loaded on demand by the view window.
The View Window controls all of the modules for this product.
Someone integrating this technology into another technology or application. Most likelythis is you, the reader.
The file the developer wishes to view.
Each Oracle Outside In product has an sdk directory, under which there is a subdirectory for each platform on which the product ships (for example, vw/sdk/vw_win-x86-32_sdk). Under each of these directories are the following three subdirectories:
docs: Contains both a PDF and HTML version of the product manual.
redist: Contains only the files that the customer is allowed to redistribute. These include all the compiled modules, filter support files, .xsd and .dtd files, cmmap000.bin, and third-party libraries, like freetype.
sdk: Contains the other subdirectories that used to be at the root-level of an sdk (common, lib (windows only), resource, samplefiles, and samplecode (previously samples). In addition, one new subdirectory has been added, demo, that holds all of the compiled sample apps and other files that are needed to demo the products. These are files that the customer should not redistribute (.cfg files, exportmaps, etc.).
In the root platform directory (for example, vw/sdk/vw_win-x86-32_sdk), there are two files:
README: Explains the contents of the sdk, and that makedemo must be run in order to use the sample applications.
makedemo (either .bat or .sh – platform-based): This script will either copy (on Windows) or Symlink (on Unix) the contents of …/redist into …/sdk/demo, so that sample applications can then be run out of the demo directory.
The following notice must be included in the documentation, help system, or About box of any software that uses any of Oracle's executable code:
Oracle Outside In Viewer © 1991, 2012 Oracle.
The following notice must be included in the documentation of any software that uses Oracle's TIF6 filter (this filter reads TIFF and JPEG formats):
The software is based in part on the work of the Independent JPEG Group.