10 Web View Export C/C++ Options

Options are parameters affecting the behavior of an export or transformation. This chapter presents the C/C++ options relevant to the Web View Export product.

Options are set using the DASetOption call. It is recommended that developers familiarize themselves with all of the options available.

Options may be Local, in which case they only affect the handle for which they are set, or Global, in which case they automatically affect all handles associated with the hDoc and must be set before the call to DAOpenDocument.

While default values are provided, users are encouraged to set all options for a number of reasons. In some cases, the default values were chosen to provide backwards compatibility. In other cases, the default values were chosen arbitrarily from a range of possibilities.

This chapter describes the following types of options:

10.1 Character Mapping

This section discusses character mapping options.

10.1.1 SCCOPT_DEFAULTINPUTCHARSET

This option is used in cases where Oracle Outside In cannot determine the character set used to encode the text of an input file. When all other means of determining the file's character set are exhausted, Oracle Outside In will assume that an input document is encoded in the character set specified by this option. This is most often used when reading plain-text files, but may also be used when reading HTML or PDF files. The possible character sets are listed in charsets.h.

When "extended test for text" is enabled (see SCCOPT_FIFLAGS), this option will still apply to plain-text input files that are not identified as EBCDIC or Unicode.

This option supersedes the SCCOPT_FALLBACKFORMAT option for selecting the character set assumed for plain-text files. For backwards compatibility, use of deprecated character-set -related values is still currently supported for SCCOPT_FALLBACKFORMAT, though internally such values will be translated into equivalent values for the SCCOPT_DEFAULTINPUTCHARSET. As a result, if an application were to set both options, the last such value set for either option will be the value that takes effect.

Data Type

VTDWORD

Default

  • Windows Code Page 1252 on Windows and ISO 8859-1 (Latin 1) on UNIX

10.1.2 SCCOPT_UNMAPPABLECHAR

This option selects the character used when a character cannot be found in the output character set. This option takes the Unicode value for the replacement character.

Data Type

VTWORD

Default

  • 0x002a = "*"

10.2 Input Handling

This section discusses input handling options.

10.2.1 SCCOPT_FALLBACKFORMAT

This option controls how files are handled when their specific application type cannot be determined. This normally affects all plain-text files, because plain-text files are generally identified by process of elimination, for example, when a file isn't identified as having been created by a known application, it is treated as a plain-text file.

It is recommended that FI_NONE be set to prevent Web View Export from exporting unidentified binary files as though they were text, which could generate many pages of "garbage" output.

This option must be set for an hDoc before any subhandle has been created for that hDoc.

A number of values that were formerly allowed for this option have been deprecated. Specifically, the values that select specific plain-text character sets are no longer to be used. Instead, applications should use the SCCOPT_DEFAULTINPUTCHARSET option for such functionality.

Data Type

VTDWORD

Default

  • FI_TEXT

10.2.2 SCCOPT_FIFLAGS

This option affects how an input file's internal format (application type) is identified when the file is first opened by the Oracle Outside In technology. When the extended test flag is in effect, and an input file is identified as being either 7-bit ASCII, EBCDIC, or Unicode, the file's contents will be interpreted as such by the export process.

The extended test is optional because it requires extra processing and cannot guarantee complete accuracy (which would require the inspection of every single byte in a file to eliminate false positives.)

Data Type

VTDWORD

Default

  • SCCUT_FI_EXTENDEDTEST: The technology will attempt an extra test after the file is first opened to see if it is 7-bit text or EBCDIC.

10.2.3 SCCOPT_FORMATFLAGS

This option allows the developer to set flags that enable options that span multiple export products.

Data Type

VTDWORD

Default

0: All flags turned off

10.2.4 SCCOPT_SYSTEMFLAGS

This option controls a number of miscellaneous interactions between the developer and the Outside In Technology.

Data Type

VTDWORD

Default

0

10.2.5 SCCOPT_IGNORE_PASSWORD

This option can disable the password verification of files where the contents can be processed without validation of the password. If this option is not set, the filter should prompt for a password if it handles password-protected files.

As of Release 8.4.0, only the PST and MDB Filters support this option.

Data Type

VTBOOL

Default

FALSE

10.2.6 SCCOPT_LOTUSNOTESDIRECTORY

This option allows the developer to specify the location of a Lotus Notes or Domino installation for use by the NSF filter. A valid Lotus installation directory must contain the file nnotes.dll.

Note:

Please see section 2.1.1 for NSF support on Win x86-32 or Win x86-64 or section 3.1.1 for NSF support on Linux x86-32 or Solaris Sparc 32.

Data Type

VTLPBYTE

Default

If this option isn't set, then OIT will first attempt to load the Lotus library according to the operating system's PATH environment variable, and then attempt to find and load the Lotus library as indicated in HKEY_CLASSES_ROOT\Notes.Link.

10.2.7 SCCOPT_PDF_FILTER_REORDER_BIDI

This option controls whether or not the PDF filter will attempt to reorder bidirectional text runs so that the output is in standard logical order as used by the Unicode 2.0 and later specification. This additional processing will result in slower filter performance according to the amount of bidirectional data in the file.

Data Type

VTDWORD

Default

SCCUT_FILTER_STANDARD_BIDI

10.2.8 SCCOPT_REORDERMETHOD

This option controls how the technology reorders bidirectional text.

Data Type

VTDWORD

10.2.9 SCCOPT_TIMEZONE

This option allows the user to define an offset to GMT that will be applied during date formatting, allowing date values to be displayed in a selectable time zone. This option affects the formatting of numbers that have been defined as date values. This option will not affect dates that are stored as text.

Note:

This option does not apply for spreadsheet files.

Data Type

VTLONG

Default

  • 0: GMT time

10.2.10 SCCOPT_HTML_COND_COMMENT_MODE

Some HTML includes a special type of comment that will be read by particular versions of browsers or other products. This option allows you to control which of those comments are included in the output.

Data Type

VTDWORD

Default

  • NONE: Don't output any conditional comment

10.2.11 SCCOPT_ARCFULLPATH

In the Viewer and rendering products, this option tells the archive display engine to show the full path to a node in the szNode field in response to a SCCVW_GETTREENODE message. It also causes the name fields in DAGetTreeRecord and DAGetObjectInfo to contain the full path instead of just the archive node name.

Data Type

VTBOOL

Default

FALSE

10.3 Graphics

This section discusses graphics options.

10.3.1 SCCOPT_GRAPHIC_OUTPUTDPI

This option allows the user to specify the output graphics device's resolution in DPI and only applies to images embedded in a PDF whose size is specified in physical units (in/cm). For example, consider a 1" square, 100 DPI graphic that is to be rendered on a 50 DPI device (SCCOPT_GRAPHIC_OUTPUTDPI is set to 50). In this case, the size of the resulting PDF will be 50 x 50 pixels.

In addition, the special #define of SCCGRAPHIC_MAINTAIN_IMAGE_DPI, which is defined as 0, can be used to suppress any dimensional changes to an image. In other words, a 1" square, 100 DPI graphic will be converted to an image that is 100 x 100 pixels in size. This value indicates that the DPI of the output device is not important. It extracts the maximum resolution from the input image with the smallest exported image size.

Setting this option to SCCGRAPHIC_MAINTAIN_IMAGE_DPI may result in the creation of extremely large images. Be aware that there may be limitations in the system running this technology that could result in undesirably large bandwidth consumption or an error message. Additionally, an out of memory error message will be generated if system memory is insufficient to handle a particularly large image.

Also note that the SCCGRAPHIC_MAINTAIN_IMAGE_DPI setting will force the technology to use the DPI settings already present in raster images, but for all other content the resolution used internally by Web View Export will be in effect.

For some output graphic types, there may be a discrepancy between the value set by this option and the DPI value reported by some graphics applications. The discrepancy occurs when the output format uses metric units (DPM, or dots per meter) instead of English units (DPI, or dots per inch). Depending on how the graphics application performs rounding on meters to inches conversions, the DPI value reported may be 1 unit more than expected.

Data Type

VTDWORD

Default

  • SCCGRAPHIC_DEFAULT_OUTPUT_DPI: Currently defined to be 72 dots per inch.

10.3.2 SCCOPT_GRAPHIC_SIZEMETHOD

This option determines the method used to size graphics. The developer can choose among three methods, each of which involves some degree of trade off between the quality of the resulting image and speed of conversion.

Using the quick sizing option results in the fastest conversion of color graphics, though the quality of the converted graphic will be somewhat degraded. The smooth sizing option results in a more accurate representation of the original graphic, as it uses anti-aliasing. Antialiased images may appear smoother and can be easier to read, but rendering when this option is set will require additional processing time. The grayscale only option also uses antialiasing, but only for grayscale graphics, and the quick sizing option for any color graphics.

The smooth sizing option does not work on images which have a width or height of more than 4096 pixels.

Data Type

VTDWORD

Default

SCCGRAPHIC_SMOOTHSIZING

10.4 Page Rendering

This section discusses page rendering options.

10.4.1 SCCOPT_DEFAULTPAGESIZE

This option allows the developer to specify the size of each page in the generated PDF output file. The size may be specified in inches, points, centimeters or picas. This option is only valid when SCCOPT_USEDOCPAGESETTINGS is set to FALSE.

1 inch = 6 picas = 72 points = ~ 2.54 cm

Data Type

DEFAULTPAGESIZE Structure

Default

8.5 inches by 11 inches

10.4.1.1 DEFAULTPAGESIZE Structure

typedef struct DEFAULTPAGESIZEtag
{
   VTFLOAT dwHeight;
   VTFLOAT dwWidth;
   VTDWORD wUnits;
}DEFAULTPAGESIZE,  *LPDEFAULTPAGESIZE;

Parameters

Note: You must define a value for both dwHeight and dwWidth in wUnits. If you define only height or only width, the image is not scaled.

  • dwHeight: Height of the page. Default is 11 inches.

  • dwWidth: Width of the page. Default is 8.5 inches.

  • wUnits: One of the following (SCCGRAPHIC_INCHES is the default):

    • SCCGRAPHIC_INCHES

    • SCCGRAPHIC_POINTS

    • SCCGRAPHIC_CENTIMETERS

    • SCCGRAPHIC_PICAS

10.4.2 SCCOPT_DEFAULTPRINTMARGINS

This option specifies the top, left, bottom and right margins in twips from the edges of the page. For instance, setting all the values to 1440 creates a 1-inch margin on all sides. Page margins will only be applied when formatting word processing, database and spreadsheet files.

This option is overridden when the SCCOPT_USEDOCPAGESETTINGS option is set to TRUE and print margins are specified in the input document.

This option does not affect the output of bitmap, presentation, vector or archive files.

Data Type

The SCCVWPRINTMARGINS structure.

10.4.2.1 SCCVWPRINTMARGINS Structure

This structure is used by the SCCOPT_DEFAULTPRINTMARGINS option to specify margin settings.

SCCVWPRINTMARGINS is a C data structure defined in sccvw.h as follows:

typedef struct SCCVWPRINTMARGINStag
   {
   VTDWORD  dwTop;
   VTDWORD  dwBottom;
   VTDWORD  dwLeft;
   VTDWORD  dwRight;
} SCCVWPRINTMARGINS,  * PSCCVWPRINTMARGINS;

Parameters

  • dwTop: Margin from the top edge of the page (in twips). Default is 1 inch.

  • dwBottom: Margin from the bottom edge of the page (in twips). Default is 1 inch.

  • dwLeft: Margin from the left edge of the page (in twips). Default is 1 inch.

  • dwRight: Margin from the right edge of the page (in twips). Default is 1 inch.

10.4.3 SCCOPT_PRINTENDPAGE

This option indicates the page that rendering should end on. It is only valid if the option SCCOPT_WHATTOPRINT has the value SCCVW_PRINT_PAGERANGE.

Note that page range settings are one-based and inclusive. Therefore, specifying a range with SCCOPT_PRINTENDPAGE equal to 5 and SCCOPT_PRINTSTARTPAGE equal to 3 would export any of the three pages that follow, if they exist: 3, 4 and 5.

Data Type

VTDWORD

Default

  • 0: The last page at the end of the document.

10.4.4 SCCOPT_PRINTSTARTPAGE

This option indicates the page rendering should start on. It is only valid if the option SCCOPT_WHATTOPRINT has the value SCCVW_PRINT_PAGERANGE.

Note that page range settings are one-based and inclusive. Therefore, specifying a range with SCCOPT_PRINTENDPAGE equal to 5 and SCCOPT_PRINTSTARTPAGE equal to 3 would export any of the three pages that follow, if they exist: 3, 4 and 5.

Data Type

VTDWORD

Default

  • 0: Printing will begin with the first page of the document.

10.4.5 SCCOPT_USEDOCPAGESETTINGS

This option is used to select the document's page layout information when rendering.

If TRUE, the document's native (or author selected) page margins, paper size, page scaling and page orientation are used when available from the filter.

The values of the SCCOPT_DEFAULTPAGESIZE and SCCOPT_DEFAULTPRINTMARGINS options are overridden if this option is set to TRUE and the properties associated with those options are specified in the input document. Additionally, print area and page breaks in spreadsheet documents are ignored unless this option is set to TRUE.

If FALSE, the page margins, size, orientation and scaling are set to specific values rather than those in the native document. The page size is forced to 8 1/2" x 11" in portrait orientation, but this may be changed by setting the SCCOPT_DEFAULTPAGESIZE option. The margins are forced 1" all around, but may be changed by setting the SCCOPT_DEFAULTPRINTMARGINS option. The scaling for the document will be set to 100%, although this may be changed by setting any of the various scaling options.

It should be noted that this option also affects page orientation for both input spreadsheets and word processing documents.

Data Type

VTBOOL

Default

TRUE

10.4.6 SCCOPT_WHATTOPRINT

This option indicates whether the whole file or a selected range of pages should be rendered.

Data Type

VTDWORD

Default

SCCVW_PRINT_ALLPAGES

10.4.7 SCCOPT_NUMBERFORMAT

This option is used to control the formatting of numbers. It is useful for setting environment dependent variables related to international support. The default values are retrieved from the operating system for the Windows platform, and are set to logical U.S. defaults on all other platforms.

Data Type

SCCVWNUMBERFORMAT and SCCVWNUMBERFORMAT775 structures

10.4.7.1 SCCVWNUMBERFORMAT775 and SCCVWNUMBERFORMAT Structures

These structures are used to set the SCCID_NUMBERFORMAT option. The fields of the structures allow the developer to control variables related to international support. Please note that the SCCVWNUMBERFORMAT775 structure always assumes 2-digit year data, whereas the SCCVWNUMBERFORMAT structure allows for both 2- and 4-digit year data.

These are C data structures defined in sccvw.h as follows:

typedef struct SCCVWNUMBERFORMAT775tag
   {
   VTTCHAR   cDecimalSep;
   VTTCHAR   cThousandSep;
   VTTCHAR   cDateSep;
   VTTCHAR   cTimeSep;
   VTTCHAR   szCurrencySymbol[8];
   VTTCHAR   szAM[8];
   VTTCHAR   szPM[8];
   VTDWORD   dwNumBytesAM;
   VTDWORD   dwNumBytesPM;
   VTWORD    wCurrencyPosition;
   VTWORD    wShortDateOrder;
   } SCCVWNUMBERFORMAT775,  * PSCCVWNUMBERFORMAT775;

typedef struct SCCVWNUMBERFORMATtag
   {
   VTTCHAR   cDecimalSep;
   VTTCHAR   cThousandSep;
   VTTCHAR   cDateSep;
   VTTCHAR   cTimeSep;
   VTTCHAR   szCurrencySymbol[8];
   VTTCHAR   szAM[8];
   VTTCHAR   szPM[8];
   VTDWORD    dwNumBytesAM
   VTDWORD   dwNumBytesPM;
   VTWORD    wCurrencyPosition
   VTWORD    wShortDateOrder;
   VTWORD    wShortDateYearDigits;
   VTWORD    wShortDateMonthDigits;
   VTWORD    wShortDateDayDigits;
   VTWORD    wShortDateFlags;
   } SCCVWNUMBERFORMAT,  * PSCCVWNUMBERFORMAT;

Parameters

  • cDecimalSep: The character used for the decimal separator when formatting currency.

  • cThousandSep: The character used for the thousands separator when formatting currency.

  • cDateSep: The character used to separate years, months, and days when formatting dates. This option only works on variable formats. For example, only one of the several date formats in Microsoft Excel is variable.

  • cTimeSep: The character used to separate hours, minutes, and seconds when formatting times. This option only works on variable formats. For example, only one of the several time formats in Microsoft Excel is variable.

  • szCurrencySymbol: The string used for the currency symbol when formatting currency.

  • szAM: The string used to indicate "AM" when formatting times.

  • szPM: The string used to indicate "PM" when formatting times.

  • dwNumBytesAM: Number of bytes of the string stored in szAM.

  • dwNumBytesPM: Number of bytes of the string stored in szPM.

  • wCurrencyPosition: Flags that indicate the positioning of the currency symbol when formatting currency. Only six specific filters are supported: SOC6, WG2, WK4, WK6, WPW, and VISO.

    • SCCVW_CURRENCY_LEADS: The currency symbol is placed before the amount.

    • SCCVW_CURRENCY_TRAILS: The currency symbol is placed after the amount.

    • SCCVW_CURRENCY_SPACE: A space is placed between the currency and the amount.

    • SCCVW_CURRENCY_NOSPACE: A space is not placed between the currency and the amount.

  • wShortDateOrder: Indicates the order used when formatting short dates (numeric dates). This option only works on variable formats. For example, only one of the several date formats in Microsoft Excel is variable. One of the following:

    • SCCVW_DATEORDER_MDY: Month, Day, Year

    • SCCVW_DATEORDER_DMY: Day, Month, Year

    • SCCVW_DATEORDER_YMD: Year, Month, Date

  • wShortDateYearDigits: This parameter is specific to the SCCVWNUMBERFORMAT structure. This is the number of digits in the year as specified by the Windows registry entry sShortDate. This option only works on variable formats. For example, only one of the several date formats in Microsoft Excel is variable.

  • wShortDateMonthDigits: This parameter is specific to the SCCVWNUMBERFORMAT structure. This is the number of digits in the month as specified by the Windows registry entry sShortDate.

  • wShortDateDayDigits: This parameter is specific to the SCCVWNUMBERFORMAT structure. This is the number of digits in the day as specified by the Windows registry entry sShortDate.

  • wShortDateFlags: This parameter is specific to the SCCVWNUMBERFORMAT structure. It is reserved for internal use.

10.5 Font Rendering

This section discusses font rendering options.

10.5.1 SCCOPT_DEFAULTPRINTFONT

This is an advanced option that casual users of Web View Export may ignore.

This option sets the font to use when the chunker-specified font is either excluded or is not available on the system. It is also the font used when the font in the source file is not available on the system performing the conversion.

Data Type

SCCVWFONTSPECstructure

10.5.1.1 SCCVWFONTSPEC Structure

This structure is used by various options to specify a font.

SCCVWFONTSPEC is a C data structure defined in sccvw.h as follows:

typedef struct
   {
   VTTCHAR  szFace[40];
   VTWORD   wHeight;
   VTWORD   wAttr;
   VTWORD   wType;
   } SCCVWFONTSPEC,  * LPSCCVWFONTSPEC;

Parameters

  • szFace: The name of the font. For example, "Helvetica Compressed." The default is "Arial", however this default is constrained by the fonts available on the system.

  • wHeight: Size of the font in half points. For example, a value of 24 will produce a 12-point font. This size is only applied when the font size is not known. The default is 10-point, however this default is constrained by the font sizes available on the system.

  • wAttr: The attributes of the font. This parameter is used primarily by the Oracle Outside In Viewer Technology and is currently ignored by Web View Export.

  • wType: Should be set to 0.

10.5.2 SCCOPT_FONTDIRECTORY

This option allows the developer to specify one or more font directories where fonts are located for use by Web View Export. If multiple font directories are specified, they should be delimited by a colon on Linux and UNIX systems and a semi-colon on Windows systems.

This option must be set prior to performing any exports. Please note that Web View Export supports single TrueType fonts (*.ttf, *.TTF) and TrueType collections (*.ttc, *.TTC), not Windows bitmap fonts (*.fon, *.FON), or any other type of font. Also, Web View Export does not require case-sensitive font filenames on UNIX systems.

Data Type

VTLPBYTE

Default

NONE - the option must be set.

10.5.3 SCCOPT_PRINTFONTALIAS

This option sets or gets printer font aliases according to the SCCVWFONTALIAS structure.

Handle Types

VTHDOC, VTHEXPORT

Scope

Local

Data Type

The SCCVWFONTALIAS structure.

10.5.3.1 SCCVWFONTALIAS Structure

This structure is used in the SCCOPT_PRINTFONTALIAS option.

SCCVWFONTALIAS is a C data structure defined in sccvw.h as follows:

typedef struct SCCVWFONTALIAStag
{
    VTDWORD dwSize;
    VTDWORD dwAliasID;
    VTDWORD dwFlags;
    VTWORD szwOriginal[ SCCVW_FONTNAMEMAX ];
    VTWORD szwAlias[ SCCVW_FONTNAMEMAX * SCCVW_MAXALIASES ]
} SCCVWFONTALIAS, * PSCCVWFONTALIAS;

Parameters

  • dwSize: Must be set by the developer to sizeof(SCCVWFONTALIAS).

  • dwAliasID: ID of the aliasing in the current list of aliases. In PDF Export, the default is that no alias is applied.

  • dwFlags: The usage of these flags depends on whether this structure is being used with the DASetOption or DAGetOption message. It should be set to one of the following:

    • SCCVW_FONTALIAS_COUNT (DAGetOption): dwAliasID will be filled with the count of current font aliases for that device.

    • SCCVW_FONTALIAS_ALIASNAME (DASetOption): The alias of szwAlias for szwOriginal will be used when szwOriginal is not available on the device. When a font alias is added to the list, this can affect the alias count. If an alias already exists for szwOriginal, the new szwAlias will replace it.

    • SCCVW_FONTALIAS_ALIASNAME (DAGetOption): szwAlias will be filled if there is an alias in the alias list for the font in szwOriginal on that device.

    • SCCVW_FONTALIAS_GETALIASBYID (DAGetOption): szwAlias and szwOriginal will be filled by the technology for the alias in the numbered slot identified by the ID.

    • SCCVW_FONTALIAS_GETALIASID (DAGetOption): dwAliasID will be set for the font in szwOriginal. If none exists, the dwAliasID will be 0xFFFFFFF.

    • SCCVW_FONTALIAS_REMOVEALIASBYID (DASetOption): The alias in that slot will be removed if one exists. When a font alias is removed from the list, this can affect the other alias IDs.

    • SCCVW_FONTALIAS_REMOVEALIASBYNAME (DASetOption): The alias for the font szwOriginal will be removed from the alias list if one exists. When a font alias is removed from the list, this can affect the other alias IDs.

    • SCCVW_FONTALIAS_REMOVEALL (DASetOption): The alias list will be cleared out and the count will be zero.

    • SCCVW_FONTALIAS_USEDEFAULTS (DASetOption): This clears the existing alias list and sets it to a list of default aliases that is variable by platform.

  • szwOriginal: This represents the original name of a font that will be mapped when this font is not available. This name should be a Unicode string.

  • szwAlias: This represents the new name of a font that will be used as a replacement for the unmapped font named in szwOriginal. This name should be a Unicode string.

Data

A structure containing the font aliasing information.

Defaults

For defaults, please see Default Font Aliases for Windows defaults, and Default Font Aliases for UNIX defaults.

10.6 File System

This section describes file system options.

10.6.1 SCCOPT_IO_BUFFERSIZE

This set of three options allows the user to adjust buffer sizes to tailor memory usage to the machine's ability. The numbers specified in these options are in kilobytes. These are advanced options that casual users of Search Export may ignore.

Handle Type

NULL, VTHDOC

Scope

Global

Data Type

SCCBUFFEROPTIONS Structure

Data

A buffer options structure

10.6.1.1 SCCBUFFEROPTIONS Structure

typedef struct SCCBUFFEROPTIONStag
{
   VTDWORD dwReadBufferSize;    /* size of the I/O Read buffer 
                                in KB */
   VTDWORD dwMMapBufferSize;    /* maximum size for the I/O   
                                Memory Map buffer in KB */
   VTDWORD dwTempBufferSize;    /* maximum size for the memory-
                                mapped temp files in KB */
   VTDWORD dwFlags;             /* use flags */
} SCCBUFFEROPTIONS, *PSCCBUFFEROPTIONS;

Parameters

  • dwReadBufferSize: Used to define the number of bytes that will read from disk into memory at any given time. Once the buffer has data, further file reads will proceed within the buffer until the end of the buffer is reached, at which point the buffer will again be filled from the disk. This can lead to performance improvements in many file formats, regardless of the size of the document.

  • dwMMapBufferSize: Used to define a maximum size that a document can be and use a memory-mapped I/O model. In this situation, the entire file is read from disk into memory and all further I/O is performed on the data in memory. This can lead to significantly improved performance, but note that either the entire file can be read into memory, or it cannot. If both of these buffers are set, then if the file is smaller than the dwMMapBufferSize, the entire file will be read into memory; if not, it will be read in blocks defined by the dwReadBufferSize.

  • dwTempBufferSize: The maximum size that a temporary file can occupy in memory before being written to disk as a physical file. Storing temporary files in memory can boost performance on archives, files that have embedded objects or attachments. If set to 0, all temporary files will be written to disk.

  • dwFlags

    • SCCBUFOPT_SET_READBUFSIZE 1

    • SCCBUFOPT_SET_MMAPBUFSIZE 2

    • SCCBUFOPT_SET_TEMPBUFSIZE 4

    To set any of the three buffer sizes, set the corresponding flag while calling dwSetOption.

Default

The default settings for these options are:

  • #define SCCBUFOPT_DEFAULT_READBUFSIZE 2: A 2KB read buffer.

  • #define SCCBUFOPT_DEFAULT_MMAPBUFSIZE 8192: An 8MB memory-map size.

  • #define SCCBUFOPT_DEFAULT_TEMPBUFSIZE 2048: A 2MB temp-file limit.

Minimum and maximum sizes for each are:

  • SCCBUFOPT_MIN_READBUFSIZE 1: Read one Kbyte at a time.

  • SCCBUFOPT_MIN_MMAPBUFSIZE 0: Don't use memory-mapped input.

  • SCCBUFOPT_MIN_TEMPBUFSIZE 0: Don't use memory temp files

  • SCCBUFOPT_MAX_READBUFSIZE 0x003fffff, SCCBUFOPT_MAX_MMAPBUFSIZE 0x003fffff, SCCBUFOPT_MAX_TEMPBUFSIZE 0x003fffff: These maximums correspond to the largest file size possible under the 4GB DWORD limit.

10.6.2 SCCOPT_TEMPDIR

From time to time, the technology needs to create one or more temporary files. This option sets the directory to be used for those files.

It is recommended that this option be set as part of a system to clean up temporary files left behind in the event of abnormal program termination. By using this option with code to delete files older than a predefined time limit, the OEM can help to ensure that the number of temporary files does not grow without limit.

Note:

This option will be ignored if SCCOPT_REDIRECTTEMPFILE is set.

Handle Types

NULL, VTHDOC

Scope

Global

Data Type

SCCUTTEMPDIRSPEC structure

10.6.2.1 SCCUTTEMPDIRSPEC Structure

This structure is used in the SCCOPT_TEMPDIR option.

SCCUTTEMPDIRSPEC is a C data structure defined in sccvw.h as follows:

typedef struct SCCUTTEMPDIRSPEC
{
   VTDWORD   dwSize;
   VTDWORD   dwSpecType;
   VTBYTE    szTempDirName[SCCUT_FILENAMEMAX];
} SCCUTTEMPDIRSPEC,  * LPSCCUTTEMPDIRSPEC;

There is currently a limitation. dwSpecType describes the contents of szTempDirName. Together, dwSpecType and szTempDirName describe the location of the source file. The only dwSpecType values supported at this time are:

  • IOTYPE_ANSIPATH: Windows only. szTempDirName points to a NULL-terminated full path name using the ANSI character set and FAT 8.3 (Win16) or NTFS (Win32 and Win64) file name conventions.

  • IOTYPE_UNICODEPATH: Windows only. szTempDirName points to a NULL-terminated full path name using the Unicode character set and NTFS file name conventions. Note that the length of the path name is limited to SCCUT_FILENAMEMAX bytes, or (SCCUT_FILENAMEMAX / 2) double-byte Unicode characters.

  • IOTYPE_UNIXPATH: UNIX platforms only. szTempDirName points to a NULL-terminated full path name using the system default character set and UNIX path conventions.

Specifically not supported at this time is IOTYPE_REDIRECT.

Parameters

  • dwSize: Set to sizeof(SCCUTTEMPDIRSPEC).

  • dwSpecType: IOTYPE_ANSIPATH, IOTYPE_UNICODE or IOTYPE_UNIXPATH

  • szTempDirName: The path to the directory to use for the temporary files. Note that if all SCCUT_FILENAMEMAX bytes in the buffer are filled, there will not be space left for file names.

Default

The system default directory for temporary files. On UNIX systems, this is the value of environment variable $TMP. On Windows systems, it is the value of environment variable %TMP%.

10.6.3 SCCOPT_DOCUMENTMEMORYMODE

This option determines the maximum amount of memory that the chunker may use to store the document's data, from 4 MB to 1 GB. The more memory the chunker has available to it, the less often it needs to re-read data from the document.

Handle Types

NULL, VTHDOC

Scope

Global

Data Type

VTDWORD

Parameters

  • SCCDOCUMENTMEMORYMODE_SMALLEST 1 - 4MB

  • SCCDOCUMENTMEMORYMODE_SMALL 2 - 16MB

  • SCCDOCUMENTMEMORYMODE_MEDIUM 3 - 64MB

  • SCCDOCUMENTMEMORYMODE_LARGE 4 - 256MB

  • SCCDOCUMENTMEMORYMODE_LARGEST 5 - 1 GB

Default

SCCDOCUMENTMEMORYMODE_LARGE 4 - 256MB

10.6.4 SCCOPT_REDIRECTTEMPFILE

This option is set when the developer wants to use redirected IO to completely take over responsibility for the low level IO calls of the temp file.

Handle Types

NULL, VTHDOC

Scope

Global (not persistent)

Data Type

VTLPVOID: pCallbackFunc

Function pointer of the redirect IO callback.

Redirect call back function:

typedef
{
     VTDWORD (* REDIRECTTEMPFILECALLBACKPROC)
     (HIOFILE *phFile, 
     VTVOID *pSpec, 
     VTDWORD dwFileFlags);

There is another option to handle the temp directory, SCCOPT_TEMPDIR. Only one of these two can be set by the developer. The SCCOPT_TEMPDIR option will be ignored if SCCOPT_REDIRECTTEMPFILE is set. These files may be safely deleted when the Close function is called.

10.7 Web View Export Options

This section describes Web View Export options.

10.7.1 SCCOPT_OUTPUT_STRUCTURE

This option controls the structure of output files created by Web View Export.

SCCWV_STRUCTURE_FLAT

When the output structure is SCCWV_STRUCTURE_FLAT, the entire document will be exported to a single HTML file and various data files (CSS, Javascript, PNG, TTF.) The number and size of these files depends on the content of the input document, and the other conversion options that were specified. To load this web view, you simply load the primary HTML output file into the browser.

SCCWV_STRUCTURE_AJAX_STREAMING

When the output structure is set to SCCWV_STRUCTURE_AJAX_STREAMING, the output files that comprise the web view of a document will be spread among a larger number of smaller output files. The chief benefit of using this document structure is that the web view output files may be displayed in the browser before the export operation has completed. The primary HTML output file represents only the first page of the web view, and may be loaded as soon as it is completed. The web view's Javascript library will use Ajaxtechniques to load the rest of the web view on demand, in response to browser-based requests.

Web views produced in Ajax mode, in general, must be accessed from a Web server in order to be loaded by a browser. In other words, they cannot be opened by a browser directly from the local file system (e.g., from a file:/// URL.) This is a security feature of modern browsers, which do not allow the use of Ajax loading methods on local files.

Web views produced with this document structure do not support the generation of exported web fonts.

SCCWV_PAGE_STREAMING

When the SCCWV_PAGE_STREAMING output structure is used, the web view output is divided among separate files in a manner similar to the Ajax streaming mode. This mode does provide additional means of loading the web view output: each page of the web view has its own HTML file that may be loaded directly, without loading the entire document.

If the primary HTML output file is loaded, the web view uses Ajax to load the rest of the view on demand, and the user can navigate the entire document. As with the Ajax streaming mode, the primary HTML output file will not load correctly from the local file system due to browser security restrictions.

When the HTML file of an individual page is loaded directly, no Ajax techniques are used. In this case, the web view does not have knowledge of other pages of the document and document-wide navigation is not available. Individual pages may be loaded from a Web server or from the local file system.

10.7.2 SCCOPT_URLPATH_RESOURCES

String option for specifying the base URL for Web View Export scripts, css files and other resources that do not vary with the converted file. The value of this option is used as a prefix for references to those resources in the primary output file.

For example, if the resources' base URL is "/oit/", the script reference in the output file would look like this:

<script src="/oit/oit.js"></script>

By default, this value is empty, meaning all resources must be present in the same directory as the generated output.

Data Type

utf-8 encoded string

Default

""

10.7.3 SCCOPT_URLPATH_OUTPUT

String option for specifying the base URL for output files generated during the export process. The value of this option is used as a prefix for references to those resources in the primary output file.

If the output base URL is "/exports/", an image tag in an exported document would look like this:

<img src="/exports/doc01.doc.jpg" />

and URLs to the exported files within content.js would be of this form:

{id:"page.1",name:"Page 1",type:"page",oid:"overlay.1",w:"816px",h:"1056px",src:"/exports/output.3.html"},

By default, the output file base URL is empty, and all output will be specified without path information.

Data Type

utf-8 encoded string

Default

""

10.7.4 SCCOPT_EXTERNAL_STYLESHEET

String option for specifying the url of a user supplied stylesheet to be included in the output html file. Values specified through this option will appear in output HTML files as linked stylesheets.

Example:

char * pCustomStyles = "/some/path/myStylesheet.css";
DAAddOptionItem( hExport, SCCOPT_POST_LIBRARY_SCRIPT, pInitScript, strlen(pCustomStyles), NULL );

which results in the following contents in the EXH5 output:

<script src="oit.css">
<link rel="stylesheet" href="/some/path/myStylesheet.css"/>

10.7.5 SCCOPT_POST_LIBRARY_SCRIPT

String option specifying the relative URL of the customer's initialization script. Scripts specified via this option will load after the Outside In libraries, and may access the Outside In javascript API. This option may be called multiple times; the scripts will be referenced in the same order as the calls to set this option.

Example:

char * pInitScript = "/config/oitinit.js";
DWORD optionId;
DAAddOptionItem( hExport, SCCOPT_POST_LIBRARY_SCRIPT, pInitScript, strlen(pInitScript), &optionId );

which results in the following contents in the EXH5 output:

<script src="oit.js">
<script src="/config/oitinit.js">

Data Type

utf-8 encoded URL string

Default

None

10.7.6 SCCOPT_PRE_LIBRARY_SCRIPT

String option specifying the URL of a script file to be referenced via a <script> tag in the output file. Scripts specified via this option will load before the Outside In libraries. This option may be called multiple times; the scripts will be referenced in the same order as the calls to set this option.

Example:

char * pJQlib = "/jQuery/jQuery-min.js";
DAAddOptionItem( hExport, SCCOPT_PRE_LIBRARY_SCRIPT, pJQlib, strlen(pJQlib), NULL );

char * pHelperLib = "/shims/customstuff.js";
DAAddOptionItem( hExport, SCCOPT_PRE_LIBRARY_SCRIPT, pHelperLib, strlen(pHelperLib), NULL );

which results in the following contents in the EXH5 output:

<script src="/jQuery/jQuery-min.js">
<script src="/shims/customstuff.js">
<script src="oit.js">

Data Type

utf-8 encoded URL string

Default

None

10.7.7 SCCOPT_OUTPUT_RAWTEXT

Boolean option controlling whether raw text output is generated on the server side. This option must be enabled in order to enable in-browser searching via the Outside In API. This does not affect the search capabilities of the browser itself.

Raw text generation is enabled by default.

Data Type

BOOLEAN

Default

TRUE

10.7.8 SCCOPT_EX_TEXTBUFFERSIZE

If the export process is generating raw text, this option controls the size limit of a single buffer of raw text. This is a limit on the number of Unicode characters produced. The output files that store these characters will be UTF8-encoded, so their size on disk will likely not exactly match the value of this option.

The minimum value for this option is 8KB, the maximum is 16MB. Values outside of this range will be treated as the nearest limit; a value of zero will be treated as the default value.

Data Type

VTDWORD

Default

64KB

10.7.9 SCCOPT_FONT_PERMISSIONS_MODE

This option controls the use of "embedded" fonts (see SCCOPT_FONT_REFERENCE_METHOD) in the Web View Export output; specifically, whether or not a downloadable (web font) version of the font should be made available to Web View Export output, based on the licensing restrictions indicated within the font itself.

Data Type

DWORD flags; value must be any of the following ORed together: SCCFONTS_DEFAULT_PERMISSIONS, SCCFONTS_REQUIRE_INSTALLABLE, SCCFONTS_REQUIRE_PREVIEW_PRINT, SCCFONTS_REQUIRE_EDITABLE

Default

SCCFONTS_DEFAULT_PERMISSIONS

Values

  • SCCFONTS_DEFAULT_PERMISSIONS: Normally restricted per the TrueType specification. This requires that the font declare itself as capable of being embedded.

  • SCCFONTS_REQUIRE_INSTALLABLE: Font selection is tightly restricted (a la Internet Explorer 9/10). This requires that the font declare itself as capable of being installed.

  • SCCFONTS_REQUIRE_PREVIEW_PRINT: This requires that the font declare itself as capable of preview and print. When this bit is set, the font may be embedded, and temporarily loaded on the remote system. Documents containing Preview & Print fonts must be opened as read-only; no edits can be applied to the document.

  • SCCFONTS_REQUIRE_EDITABLE: This requires that the font declare itself as capable being edited. When this bit is set, the font may be embedded but must only be installed temporarily on other systems. In contrast to Preview & Print fonts, documents containing Editable fonts may be opened for reading, editing is permitted, and changes may be saved.

10.7.10 SCCOPT_FONT_REFERENCE_METHOD

This option controls the way embedded fonts are presented (or not) in the HTML5 output.

Data Type

DWORD enumeration; value must be one of the following: SCCFONTS_REFERENCE_BY_NAME, SCCFONTS_REFERENCE_EXPORTED, or SCCFONTS_REFERENCE_BY_BASE_URL.

Default

: SCCFONTS_REFERENCE_BY_NAME

Values

  • SCCFONTS_REFERENCE_BY_NAME: The font is referenced in the output file by name only. For example: "Baskerville".

  • SCCFONTS_REFERENCE_EXPORTED: The font is exported during document conversion, and referenced in the output by file name. For example: "ttf002.ttf".

  • SCCFONTS_REFERENCE_BY_BASE_URL: The full font is referenced in the output using the font file name and the base URL supplied by the SCCOPT_FONT_BASE_URL option. For example: "http://baseurl.com/Baskerville.ttf". If SCCOPT_FONT_BASE_URL is not specified then this option reverts to the default (SCCFONTS_REFERENCE_BY_NAME).

Option Effects in CSS

SCCFONTS_REFERENCE_BY_NAME: Reference by family name only

.oit-span-6 {
    font: 0.65pt "Arial", "Helvtetica Neue", Helvetica, sans-serif;
}

SCCFONTS_REFERENCE_EXPORTED: Reference exported font.

@font-face {
    font-family:  f101;
    src: url('m2.f101.ttf');
}
.oit-span-6 {
    font: 0.65pt "Arial", f101, "Helvtetica Neue", Helvetica, sans-serif;
}

SCCFONTS_REFERENCE_BY_BASE_URL: Reference original font with fontBaseUrl, if specified. Otherwise default to SCCFONTS_REFERENCE_BY_NAME.

@font-face {
    font-family:  f101;
    src: url('fontBaseUrl/Arial.ttf');
}
.oit-span-6 {
    font: 0.65pt "Arial", f101, "Helvtetica Neue", Helvetica, sans-serif;
}

10.7.11 SCCOPT_FONT_BASE_URL

This option allows the developer to specify the base URL used in the Web View Export output when referencing a non-exported font as a downloadable font.

(Exported fonts will be placed in the exported output location.)

Data Type

utf-8 encoded URL string

Default

None

10.7.12 SCCOPT_EMAIL_ATTACHMENT_HANDLING

This option determines whether email attachments are converted or extracted.

Data Type

DWORD enumeration; value must be one of the following: SCCOPT_EXPORT, SCCOPT_EXPORT_RECURSIVE, or SCCOPT_EXTRACT

Default

None

Values

  • SCCOPT_EXPORT: The attachments to this email will be converted.

  • SCCOPT_EXPORT_RECURSIVE: The attachments to this email will be converted; if any are emails, they will also have their attachments converted, and so on.

  • SCCOPT_EXTRACT: The attachments will be extracted in their native form, stored alongside the Web View Export output files.

10.7.13 SCCOPT_STAMP_IMAGE_URL

Image stamp annotations are bitmap images that are "stamped" onto the rendition of a file generated by Outside In. The source of the image may be a PNG, JPG, or GIF image. They may be considered special type of rectangular annotation.

In the Export API, image stamps are applied in the following way:

  • Names are defined for the source images. In the C API, this is accomplished via calling DAAddOptionItem as many times as necessary, with the option SCCOPT_STAMP_IMAGE_URL (for Web View Export output files) or SCCOPT_STAMP_IMAGE_FILE (for Image Export output files.)

  • A stamp is applied by specifying its destination rectangle and the name of its source image. In the C API, this is accomplished by populating an EXANNOSTAMP data structure and specifying it as a parameter to EXAddStampAnnotation.

The EXANNOSTAMPIMAGE data structure has the following definition:

typedef struct EXANNOSTAMPIMAGE 
{
  VTLPCTSTR   szStampName;
  VTLPVOID    pStampImage;
  VTDWORD     dwSpecType;
} EXANNOSTAMPIMAGE ;
 
  • szStampName is a null-terminated UTF8 string that specifies the name of a stamp

  • pStampImage is the IO spec of the stamp image.

  • dwSpecType is the type of IO spec provided by pStampImage

When setting the SCCOPT_STAMP_IMAGE_URL option, pStampImage must be a null-terminated UTF8 encoded URL to a PNG, JPG, or GIF image. dwSpecType should be set to IOTYPE_URL.

If the name specified by szStampName has already been used in a previous call to SCCOPT_STAMP_IMAGE_URL, its URL will be updated with the new value.

Data Type

pointer to EXANNOSTAMPIMAGE structure

Default

none

10.7.14 SCCOPT_VECTOROBJECTLIMIT

This value sets a limit on the number of objects that will be generated in an SVG drawing so that browser capabilities will not be exceeded. A value of 0 indicates no limit.

Web View Export renders vector-based graphics from source documents as SVG drawings. SVG is part of the HTML5 specification and provides native browser-based support for vector graphics, and usually results in superior visual fidelity. However, while HTML5 browsers generally support SVG vector graphics very well, this native support can be pushed past its limits with highly complex source documents. To avoid overtaxing a browser, this option allows a limit to be placed on the complexity of SVG graphics created from such source documents. Once the specified number of objects has been added to an SVG drawing, no further graphic objects will be added.

This limit is reset for each page of output; hitting the limit on the first page of the document doesn't prevent SVG objects from being created for subsequent pages of the Web View Export output.

An application can detect if an input document triggered this limit by using the EXExportStatus API function.

Type

VTDWORD

Default

5000

10.7.15 SCCOPT_REDACTION_COLOR

This option provides the ability to specify the color used for a redaction rectangle (black or white) as well as the color used (black or white) for the redaction code. When the colors match, the redaction code will effectively be invisible. Settings should default to Black redactions with White codes if not explicitly set. The values may be set on each redaction individually, both in the UI and in the rendered output.

Data Type

SCCVWCOLORREF

Data

Any valid CSS color

10.7.16 SCCOPT_REDACTION_LABEL_FONT_NAME

This option sets the font name to be used for the redaction label.

Data Type

VTCWSTR (string for any valid CSS font name)

Default

Default display font

10.7.17 SCCOPT_REDACTION_LABEL_FONT_SIZE

This option lets you set the size of font to use for redaction labels. The font size may be reduced to allow text to fit within a redaction rectangle.

Data Type

DWORD (size in half points)

Default

9 pts.

10.7.18 SCCOPT_REDACTIONS_ENABLED

This option tells the export to format the output to be redaction-capable. In practical terms what this means is that all embeddings will be rasterized (routed through sccimg) so that a rectangle in an embedding is consistent across all output formats.

Data Type

Boolean

Default

False

10.7.19 SCCOPT_SHOW_REDACTION_LABELS

This option allows you to display redaction labels in your output.

Data Type

VTBOOL

Default

False (no labels)

10.7.20 SCCOPT_MARGIN_TEXT_FONT_NAME

This option lets you set the font to use for margin text.

Data Type

VTCWSTR (string for any valid CSS font name)

Default

Arial

10.7.21 SCCOPT_MARGIN_TEXT_FONT_SIZE

This option lets you set the font size to use for margin text.

Data Type

VTDWORD (increments of one-half point)

Default

9 pt.

10.7.22 SCCOPT_MARGIN_TEXT_LINE

This option lets you specify a text string to use for margin text.

Data Type

SCCEX_MARGINTEXTLINE

Default

None

10.7.23 SCCOPT_WV_LIBRARY_NAME

String option specifying the file name of the Web View Javascript library, which will be written into a <script> tag in the generated HTML files for a Web View. If this option is not set, the value "oit.js" will be used.

This option allows the Web View Javascript library to be renamed for versioning or other purposes. This option works in combination with the resource path option.

Data Type

utf-8 encoded string

Default

"oit.js"

10.7.24 SCCOPT_WV_STYLESHEET_NAME

String option specifying the file name of the Web View stylesheet, which will be written into a <link> tag in the generated HTML files for a Web View. If this option is not set, the value "oit.css" will be used.

This option allows the Web View stylesheet to be renamed for versioning or other purposes. This option works in combination with the resource path option.

Data Type

utf-8 encoded string

Default

"oit.css"