10 PDF 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 PDF 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 covers 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.

Handle Types

NULL, VTHDOC

Scope

Global

Data Type

VTDWORD

Default

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

Data

The data types are listed in charsets.h.

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.

Handle Types

VTHDOC

Scope

Local

Data Type

VTWORD

Data

The Unicode value for the character to use.

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 PDF 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 selected specific plain-text character sets are no longer to be used. Instead, applications should use the SCCOPT_DEFAULTINPUTCHARSET option for such functionality.

Handle Types

NULL, VTHDOC

Scope

Global

Data Type

VTDWORD

Data

The high VTWORD of this value is reserved and should be set to 0, and the low VTWORD must have one of the following values:

  • FI_TEXT: Unidentified file types will be treated as text files.

  • FI_NONE: Oracle Outside In will not attempt to process files whose type cannot be identified. This will include text files. When this option is selected, an attempt to process a file of unidentified type will cause Oracle Outside In to return an error value of DAERR_FILTERNOTAVAIL (or SCCERR_NOFILTER).

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.)

Handle Types

NULL, VTHDOC

Scope

Global

Data Type

VTDWORD

Data

One of the following values:

  • SCCUT_FI_NORMAL: This is the default value. When this is set, standard file identification behavior occurs.

  • SCCUT_FI_EXTENDEDTEST: If set, the File Identification code will run an extended test on all files that are not identified.

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.

Handle Types

VTHDOC

Scope

Local

Data Type

VTDWORD

Data

  • SCCOPT_FLAGS_ALLISODATETIMES: When this flag is set, all Date and Time values are converted to the ISO 8601 standard. This conversion can only be performed using dates that are stored as numeric data within the original file.

  • SCCOPT_FLAGS_STRICTFILEACCESS: When an embedded file or URL can't be opened with the full path, OIT will sometimes try and open the referenced file from other locations, including the current directory. When this flag is set, it will prevent OIT from trying to open the file from any location other than the fully qualified path or URL.

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.

Handle Type

VTHDOC

Scope

Local

Data Type

VTDWORD

Data

  • SCCVW_SYSTEM_UNICODE: This flag causes the strings in SCCDATREENODE to be returned in Unicode.

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.

Scope

Global

Data Type

VTBOOL

Data

  • TRUE: Ignore validation of the password

  • FALSE: Prompt for the password

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.

Handle Types

NULL

Scope

Global

Data Type

VTLPBYTE

Data

A path to the Lotus Notes directory.

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.

Handle Types

VTHDOC, NULL

Scope

Global

Data Type

VTDWORD

Data

  • SCCUT_FILTER_STANDARD_BIDI

  • SCCUT_FILTER_REORDERED_BIDI

Default

SCCUT_FILTER_STANDARD_BIDI

10.2.8 SCCOPT_REORDERMETHOD

This option controls how the technology reorders bidirectional text.

Data Type

VTDWORD

Data

One of the following values:

  • SCCUT_REORDER_UNICODE_OFF: This disables any processing for bidirectional characters. This option is the default.

  • SCCUT_REORDER_UNICODE_LTOR: Characters displayed using the Unicode bidirectional algorithm assuming a base left-to-right order. Use this option to enable bidirectional rendering.

  • SCCUT_REORDER_UNICODE_RTOL: Characters displayed using the Unicode bidirectional algorithm assuming a base right-to-left order. Use this option to force starting bidirectional rendering in the right-to-left order.

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:

Daylight savings is not supported. The sent time in msg files when viewed in Outlook can be an hour different from the time sent when an image of the msg file is created.

Handle Types

NULL, VTHDOC

Scope

Global

Data Type

VTLONG

Data

Integer parameter from -96 to 96, representing 15-minute offsets from GMT. To query the operating system for the time zone set on the machine, specify SCC_TIMEZONE_USENATIVE.

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.

Handle Type

VTHDOC

Scope

Local

Data Type

VTDWORD

Data

  • One or more of the following values OR-ed together:

  • HTML_COND_COMMENT_NONE: Don't output any conditional comments. Note: setting any other flag will negate this.

  • HTML_COND_COMMENT_IE5: include the IE 5 comments

  • HTML_COND_COMMENT_IE6: include the IE 6 comments

  • HTML_COND_COMMENT_IE7: include the IE 7 comments

  • HTML_COND_COMMENT_IE8: include the IE 8 comments

  • HTML_COND_COMMENT_IE9: include the IE 9 comments

  • HTML_COND_COMMENT_ALL: include all conditional comments including the versions listed above and any other versions that might be in the HTML.

Default

HTML_COND_COMMENT_NONE

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

Data

  • TRUE: Display the full path.

  • FALSE: Do not display the path.

Default

FALSE

10.3 Compression

This section discusses compression options.

10.3.1 SCCOPT_APPLYFILTER

This option determines if ZLIB compression will be applied to all object streams when generating the PDF output file.

Handle Types

VTHDOC, VTHEXPORT

Scope

Local

Data Type

VTBOOL

Data

  • TRUE: ZLIB compression is applied to all output streams.

  • FALSE: ZLIB compression is not applied to any output stream.

Default

TRUE

10.3.2 SCCOPT_FILTERJPG

This option can disable access to any files using JPEG compression, such as JPG graphic files or TIFF files using JPEG compression, or files with embedded JPEG graphics. Attempts to read or write such files when this option is enabled will fail and return the error SCCERR_UNSUPPORTEDCOMPRESSION if the entire file is JPEG compressed, and grey boxes for embedded JPEG-compressed graphics.

The following is a list of file types affected when this option is disabled:

  • JPG files

  • Postscript files containing JPG images

  • PDFs containing JPEG images

Handle Types

VTHDOC, HEXPORT

Scope

Global

Data Type

VTDWORD

Data

  • SCCVW_FILTER_JPG_ENABLED: Allow access to files that use JPEG compression

  • SCCVW_FILTER_JPG_DISABLED: Do not allow access to files that use JPEG compression

Default

SCCVW_FILTER_JPG_ENABLED

10.3.3 SCCOPT_FILTERLZW

This option can disable access to any files using Lempel-Ziv-Welch (LZW) compression, such as .GIF files, .ZIP files or self-extracting archive (.EXE) files containing "shrunk" files. Attempts to read or write such files when this option is enabled will fail and return the error SCCERR_UNSUPPORTEDCOMPRESSION.

The following is a list of file types affected when this option is disabled:

  • GIF files

  • TIF files using LZW compression

  • PDF files that use internal LZW compression

  • ZIP and self-extracting archive (.EXE) files containing "shrunk" files

  • Postscript files using LZW compression

PDF Export will not be affected by this option when processing formats that compress subfile contents but not subfile names, such as TAR and ZIP.

Although this option can disable access to files in ZIP or EXE archives stored using LZW compression, any files in such archives that were stored using any other form of compression will still be accessible.

Handle Types

VTHDOC, HEXPORT

Scope

Global

Data Type

VTDWORD

Data

  • SCCVW_FILTER_LZW_ENABLED: LZW compressed files will be read normally.

  • SCCVW_FILTER_LZW_DISABLED: LZW compressed files will not be read.

Default

SCCVW_FILTER_LZW_ENABLED

10.4 Graphics

This section discusses graphics options.

10.4.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 PDF 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.

Handle Types

VTHDOC, VTHEXPORT

Scope

Local

Data Type

VTDWORD

Data

The DPI to use when exporting graphic images. The maximum value allowed is SCCGRAPHIC_MAX_SANE_BITMAP_DPI, which is currently defined to be 2400 DPI.

Default

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

10.4.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.

Handle Types

VTHDOC, VTHEXPORT

Scope

Local

Data Type

VTDWORD

Data

One of the following values:

  • SCCGRAPHIC_QUICKSIZING: Resize without antialiasing

  • SCCGRAPHIC_SMOOTHSIZING: Resize using antialiasing

  • SCCGRAPHIC_SMOOTHGRAYSCALESIZING: Resize using antialiasing for grayscale graphics only (no antialiasing for color graphics)

Default

SCCGRAPHIC_SMOOTHSIZING

10.4.3 SCCOPT_IMAGE_PASSTHROUGH

This feature is used to allow certain input files to circumvent the normal filtering process and to be 'wrapped' in a PDF output file directly. This allows for much faster exporting of the supported file formats, which for release 8.4 are JPEG, JPEG2000, and TIFF.

Data Type

VTBOOL

Default

TRUE

10.4.4 SCCOPT_RENDER_ENABLEALPHABLENDING

This option allows the user to enable alpha-channel blending (transparency) in rendering vector images when using an X-Windows output solution. This may improve fidelity on documents that use these transparent images, but will result in performance degradation. his option does not affect Microsoft Windows or Unix implementations where SCCOPT_RENDERING_PREFER_OIT is set to TRUE.

Handle Types

VTHDOC, VTHEXPORT

Scope

Local

Data Type

VTBOOL

Default

False

10.5 Spreadsheet and Database File Rendering

This section discusses spreadsheet and database options.

10.5.1 SCCOPT_DBPRINTFITTOPAGE

This option scales a spreadsheet file to a certain percent or to a page width or height. However, in an effort to preserve readability after scaling, PDF Export will not shrink a database document to under approximately one-third of its original size.

It should be noted that when this option is set to SCCVW_DBPRINTFITMODE_NOMAP, the pages of the database file are printed down first and then across.

Please note that any margins applied as a result of settings for the SCCOPT_DEFAULTPRINTMARGINS option will be included in any scaling that is applied to the output image as a result of settings for this option.

Handle Types

VTHDOC, VTHEXPORT

Scope

Local

Data Type

VTDWORD

Data

One of the following values:

  • SCCVW_DBPRINTFITMODE_NOMAP: This will not do any scaling of the database image. It will render in its original size onto as many pages as are required to fit the data.

  • SCCVW_DBPRINTFITMODE_FITTOPAGES: This will fit the database to one page, scaling to the image width or height depending on the page size and database size.

  • SCCVW_DBPRINTFITMODE_FITTOWIDTH: This will scale the database on the rendered image so it is no larger than one page wide.

  • SCCVW_DBPRINTFITMODE_FITTOHEIGHT: This will scale the database on the rendered image so it is no larger than one page high.

Default

SCCVW_DBPRINTFITMODE_FITTOPAGES

10.5.2 SCCOPT_DBPRINTGRIDLINES

If this option is TRUE, lines are generated between cells in the rendered images.

Handle Types

VTHDOC, VTHEXPORT

Scope

Local

Data Type

VTBOOL

Default

TRUE

10.5.3 SCCOPT_DBPRINTHEADINGS

If this option is TRUE, field headings will be generated along with the data.

Handle Types

VTHDOC, VTHEXPORT

Scope

Local

Data Type

VTBOOL

Default

TRUE

10.5.4 SCCOPT_MAXSSDBPAGEHEIGHT

Normally, the size of pages generated from spreadsheet worksheets and database tables is limited to the size of the page defined by the input document's page size information and how the SCCOPT_USEDOCPAGESETTINGS option is set. If, after scaling is factored in, the resulting image is too large to fit on a single page, it is split up into multiple pages.

The SCCOPT_MAXSSDBPAGEWIDTH and SCCOPT_MAXSSDBPAGEHEIGHT options are used to change the size of a page to match the scaled size of the page being rendered - within limits. The key reason for those limits is that rendering very large pages can easily overwhelm the memory available on the system. When using this feature, a calculation should be made to be sure that the values passed in work within said memory limits. The values for these two options will override the current page dimensions if necessary.

The memory needed may be calculated based on the following:

memory = [max. worksheet/table height (in inches)]  x  [max. worksheet/table width (in inches)]  x  [dpi setting]2  x  3 bytes/pixel  +  a bit extra for the needs of the rest of the conversion

By default, these options are set to the current page dimensions. Users may choose to set only one of the two options if desired. If, for example, only the SCCOPT_MAXSSDBPAGEWIDTH is set, then the height of the page will be based on the normal page height.

When a worksheet or table is larger than the maximum values specified by these options, then the file is rendered on multiple pages, with the requested (larger) page dimensions.

These new options grow the page size (if needed) to match the size of the worksheet or table.

Please see Figure 10-1 for a diagram which clarifies the interactions of all of the options mentioned in this discussion.

If text in cells ends up extending past the edge of the cell and beyond the edge of the page, PDF Export writes one or more additional pages for the overflow text.

Handle Types

VTHDOC, VTHEXPORT

Scope

Local

Data Type

VTDWORD

Data

The maximum page height (including margins) specified in twips (1440 twips are in 1 inch). If the value specified is smaller than the page height, then this option will be ignored.

Default

Figure 10-1 Logic Flow for Determining the Page Size of Spreadsheet and Database Pages

Logic flow to determine page size.

10.5.5 SCCOPT_MAXSSDBPAGEWIDTH

See the documentation for SCCOPT_MAXSSDBPAGEHEIGHT for a full discussion of how this option works and interacts with other options affecting the page size of images generated from spreadsheet and database pages.

Handle Types

VTHDOC, VTHEXPORT

Scope

Local

Data Size

VTDWORD

Data

The maximum page width (including margins) specified in twips (1440 twips are in 1 inch). If the value specified is smaller than the page width, then this option will be ignored.

Default

10.5.6 SCCOPT_SSPRINTDIRECTION

This option controls the pattern in which the pages are rendered, either across first and then down, or down first and then across.

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

Handle Types

VTHDOC, VTHEXPORT

Scope

Local

Data Type

VTDWORD

Data

One of the following values:

  • SCCVW_SSPRINTDIRECTION_ACROSS: Will specify that pages are printed across first and then down.

  • SCCVW_SSPRINTDIRECTION_DOWN: Will specify that pages are printed down first and then across.

Default

SCCVW_SSPRINTDIRECTION_DOWN

10.5.7 SCCOPT_SSPRINTFITTOPAGE

This option requests that the spreadsheet file be fit to one page.

Please note that any margins applied as a result of settings for the SCCOPT_DEFAULTPRINTMARGINS option will be included in any scaling that is applied to the output image as a result of settings for this option.

This option is overridden when the SCCOPT_USEDOCPAGESETTINGS option is set to TRUE and fitting the page to the printer's image limits is specified in the input document.

Handle Types

VTHDOC, VTHEXPORT

Scope

Local

Data Type

VTDWORD

Data

One of the following values:

  • SCCVW_SSPRINTFITMODE_NOMAP: No scaling is performed on the spreadsheet image. It will render in its original size onto as many pages as are required to fit the data.

  • SCCVW_SSPRINTFITMODE_FITTOPAGES: Will scale the spreadsheet in the rendered image to fit to the number of pages specified in the SCCOPT_SSPRINTSCALEXHIGH and SCCOPT_SSPRINTSCALEXWIDE options. Since aspect ratio is maintained, the lesser of the two dimensions (width or height) will determine the scale factor. Note that if either SCCOPT_SSPRINTSCALEXHIGH or SCCOPT_SSPRINTSCALEXWIDE is set to 0, the value in the other option will be nullified.

  • SCCVW_SSPRINTFITMODE_FITTOWIDTH: Will scale the spreadsheet in the rendered image so it is no larger than one page wide.

  • SCCVW_SSPRINTFITMODE_FITTOHEIGHT: Will scale the spreadsheet in the rendered image so it is no larger than one page high.

  • SCCVW_SSPRINTFITMODE_SCALE: Will scale the spreadsheet in the rendered image using the scale value stored in the SCCOPT_SSPRINTSCALEPERCENT option.

Default

  • SCCVW_SSPRINTFITMODE_SCALE: Scales the rendered image of the spreadsheet using the scale value stored in the SCCOPT_SSPRINTSCALEPERCENT option (which is 100 by default).

10.5.8 SCCOPT_SSPRINTGRIDLINES

If this option is TRUE, a line is generated between cells in the rendered images.

This option is overridden when the SCCOPT_USEDOCPAGESETTINGS option is set to TRUE and printing grid lines between cells is specified in the input document.

Handle Types

VTHDOC, VTHEXPORT

Scope

Local

Data Type

VTBOOL

Default

TRUE

10.5.9 SCCOPT_SSPRINTHEADINGS

If this option is TRUE, row and column headings will be rendered along with the data.

This option is overridden when the SCCOPT_USEDOCPAGESETTINGS option is set to TRUE and printing column and row headers is specified in the input document.

Handle Types

VTHDOC, VTHEXPORT

Scope

Local

Data Type

VTBOOL

Default

FALSE

10.5.10 SCCOPT_SSPRINTSCALEPERCENT

This option will scale spreadsheet pages by the percentage specified. The option has no effect unless the SCCOPT_SSPRINTFITTOPAGE option is set to SCCVW_SSPRINTFITMODE_SCALE.

This option must take a value between 1 and 100. If any value outside of this range is used, the option will be ignored.

Handle Types

VTHDOC, VTHEXPORT

Scope

Local

Data Type

VTDWORD

Default

100

10.5.11 SCCOPT_SSPRINTSCALEXHIGH

This option will fit the spreadsheet image to the number of vertical pages specified. The setting for this option will have no effect unless the SCCOPT_SSPRINTFITTOPAGE option is set to SCCVW_SSPRINTFITMODE_FITTOPAGES.

Handle Types

VTHDOC, VTHEXPORT

Scope

Local

Data Type

VTDWORD

Default

1

10.5.12 SCCOPT_SSPRINTSCALEXWIDE

This option will fit the spreadsheet image to the number of horizontal pages specified. The setting for this option will have no effect unless the SCCOPT_SSPRINTFITTOPAGE option is set to SCCVW_SSPRINTFITMODE_FITTOPAGES.

Handle Types

VTHDOC, VTHEXPORT

Scope

Local

Data Type

VTDWORD

Default

1

10.5.13 SCCOPT_SSSHOWHIDDENCELLS

This option lets you determine whether or not to show hidden rows or columns when rendering spreadsheets. It is used to expand the widths of cells that are hidden by virtue of having their row height or column width reduced to 0. This is a BOOLEAN option that will leave the data hidden when it is FALSE, and show all hidden rows and columns when it is TRUE, displayed using the default row width or default column height.

Handle Types

VTHDOC, VTHEXPORT

Scope

Local

Data Type

VTBOOL

Data

  • TRUE: Displays hidden cells.

  • FALSE: Does not display hidden cells.

Default

FALSE

10.5.14 SCCOPT_EX_SHOWHIDDENSSDATA

The setting for this option determines whether or not hidden sheets in a spreadsheet will be included in the output. When set to FALSE (the default), the hidden elements are not written. When set to TRUE, they are placed in the output in the same manner as regular spreadsheet data.

Handle Types

VTHDOC, VTHEXPORT

Scope

Local

Data Type

VTBOOL

Data

  • TRUE: Allow hidden data to be placed in the output.

  • FALSE: Prevent hidden data from being placed in the output.

Default

FALSE

10.5.15 SCCOPT_FILTERNOBLANK

If this option is TRUE, blank spreadsheet pages will not be produced when printing a file or rendering it.

Data Type

VTBOOL

Default

False

10.6 Page Rendering

This section discusses page rendering options.

10.6.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

Handle Types

VTHDOC, VTHEXPORT

Scope

Local

Data Type

DEFAULTPAGESIZE Structure

Data

Structure containing the height and width of the page, and a field indicating the units used.

Default

8.5 inches by 11 inches

10.6.1.1 DEFAULTPAGESIZE Structure

typedef struct DEFAULTPAGESIZEtag
{
   VTFLOAT fHeight;
   VTFLOAT fWidth;
   VTDWORD wUnits;
}DEFAULTPAGESIZE,  *LPDEFAULTPAGESIZE;

Parameters

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

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

  • fWidth: 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.6.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.

Please note all margins are applied before scaling with the SCCOPT_DBPRINTFITTOPAGE or SCCOPT_SSPRINTFITTOPAGE options.

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.

Handle Types

VTHDOC, VTHEXPORT

Scope

Local

Data Type

The SCCVWPRINTMARGINS structure.

10.6.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.6.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.

Handle Types

VTHDOC, VTHEXPORT

Scope

Local

Data Type

VTDWORD

Default

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

10.6.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.

Handle Types

VTHDOC, VTHEXPORT

Scope

Local

Data Type

VTDWORD

Default

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

10.6.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, SCCOPT_DEFAULTPRINTMARGINS, SCCOPT_SSPRINTGRIDLINES,SCCOPT_SSPRINTHEADINGS, SCCOPT_SSPRINTHEADINGS, SCCOPT_SSPRINTDIRECTION, and SCCOPT_SSPRINTFITTOPAGE 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.

Handle Types

VTHDOC, VTHEXPORT

Scope

Local

Data Type

VTBOOL

Default

TRUE

10.6.6 SCCOPT_WHATTOPRINT

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

Handle Types

VTHDOC, VTHEXPORT

Scope

Local

Data Type

VTDWORD

Data

One of the following values:

  • SCCVW_PRINT_PAGERANGE: The pages in the one-based, inclusive range from SCCOPT_PRINTSTARTPAGE to SCCOPT_PRINTENDPAGE will be printed.

  • SCCVW_PRINT_ALLPAGES: The entire document will be printed.

Default

SCCVW_PRINT_ALLPAGES

10.6.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.6.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.6.8 SCCOPT_DOLINEARIZATION

Linearization is a method by which PDF renderers are able to render pages of the PDF file before the entire document is loaded. Linearized output is both larger and takes longer to produce; this option allows you to produce non-linearized PDF so that the export process will be quicker and result in a smaller output file.

Type

VTBOOL

Default

FALSE

10.6.9 SCCOPT_WPEMAILHEADEROUTPUT

The former option SCCOPT_WPMIMEHEADEROUTPUT has been deprecated. This option controls rendering of email headers.

Scope

Global

Data Type

VTDWORD

Data

One of these values:

  • SCCUT_WP_EMAILHEADERSTANDARD: Displays "To," "From," "Subject," "CC," "BCC," "Date Sent," and "Attachments" header fields only. The filter outputs any fields not listed above as hidden fields, so they will not display.

  • SCCUT_WP_EMAILHEADERNONE: Displays no email header fields.

  • SCCUT_WP_EMAILHEADERALL: Displays all available email headers.

Default

SCCUT_WP_EMAILHEADERSTANDARD

10.6.10 SCCOPT_MAILHEADERVISIBLE

Along with SCCOPT_MAILHEADERHIDDEN, these options exist to allow the developer fine-grained control over what email headers are rendered. These options modify which email headers are displayed, and are based on the most recent setting of SCCOPT_WPEMAILHEADEROUTPUT. To implement a fully customized set of email headers for display, your code should first set the SCCOPT_WPEMAILHEADEROUTPUT option to select a baseline set of headers, then use these options to selectively add or remove headers from that set.

Setting a header to be visible means that it will be rendered when that header is found in a document of the appropriate type. Selected headers that are not present in the input file will not have any corresponding output created for them (no 'empty' headers will be created). Setting a header to be hidden means that it will not be rendered for the document types specified.

Scope

Global

Data Type

SCCUTEMAILHEADERINFO structure

SCCUTEMAILHEADERINFO structure

This structure is used by the SCCOPT_WPMAILHEADERVISIBLE/SCCOPT_WPMAILHEADERHIDDEN options to specify the headers to show or hide.

typedef struct SCCUTEMAILHEADERINFOtag
{
    VTDWORD    dwHeaderID;                         
    VTDWORD    dwSubtypeID;                        
    VTWORD     wsMimeHeaderName[SCCUT_MAIL_NAMELENGTH];
    VTWORD     wsMimeHeaderLabel[SCCUT_MAIL_NAMELENGTH];
} SCCUTEMAILHEADERINFO, *PSCCUTEMAILHEADERINFO;

Parameters:

  • dwHeaderID

    Either the ID of a predefined email header field, found in sccca.h (for example SCCCA_MAIL_TO), or an identifer between NONSTANDARD_HEADER_ID_BASE and NONSTANDARD_HEADER_ID_TOP for tracking a user-defined header.

  • dwSubTypeID

    The type(s) of documents in which to either show or hide this header. These can be joined with a bitwise OR operator. Available subtypes are:

    SCCUT_MAILTYPE_EMAIL

    SCCUT_MAILTYPE_JOURNAL

    SCCUT_MAILTYPE_CONTACT

    SCCUT_MAILTYPE_NOTE

    SCCUT_MAILTYPE_APPOINTMENT

    SCCUT_MAILTYPE_TASK

    SCCUT_MAILTYPE_POST

    SCCUT_MAILTYPE_DISTROLIST

  • wsMimeHeaderName

    A Unicode string containing the value of a user-specified MIME header name. This value is only used when the dwHeaderId field contains a user-defined ID value between NONSTANDARD_HEADER_ID_BASE and NONSTANDARD_HEADER_ID_TOP.

  • wsMimeHeaderLabel

    Unicode string that will be used as the label for a user-defined MIME header. This value is only used for user-defined headers.

Note:

Support for user-defined MIME headers is intended to allow Outside In to selectively display MIME headers that are not included in the predefined set of email headers known to Outside In. It is likely that most developers using Outside In will not need to specify user-defined MIME headers. Knowledge of the particular MIME headers present in the input email files is necessary in order to take advantage of this capability.

Default

Not used

10.6.11 SCCOPT_MAILHEADERHIDDEN

Along with SCCOPT_MAILHEADERVISIBLE, these options exist to allow the developer fine-grained control over what email headers are rendered. These options modify which email headers are displayed, and are based on the most recent setting of SCCOPT_WPEMAILHEADEROUTPUT. To implement a fully customized set of email headers for display, your code should first set the SCCOPT_WPEMAILHEADEROUTPUT option to select a baseline set of headers, then use these options to selectively add or remove headers from that set.

Setting a header to be visible means that it will be rendered when that header is found in a document of the appropriate type. Selected headers that are not present in the input file will not have any corresponding output created for them (no 'empty' headers will be created). Setting a header to be hidden means that it will not be rendered for the document types specified.

Scope

Global

Data Type

See SCCUTEMAILHEADERINFO structure under SCCOPT_MAILHEADERVISIBLE.

Default

Not used

10.6.12 SCCOPT_EXPORTEMAILATTACHMENTS

This option toggles whether or not email attachments will be output as PDF. For input files in all OIT-supported email formats that contain attachments, this option instructs the PDF Export process to export the contents of the attachments to PDF. The contents of the export are attached to the end of the email message so that only one PDF output file is produced. In addition, hyperlinks are provided that link to bookmarks marking the beginning of each attachment in the resulting PDF.

Data Type

VTBOOL

Data

  • TRUE: Email attachments are output as PDF.

  • FALSE: Email attachments are not included in the PDF.

Default

FALSE

10.6.13 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.6.14 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.6.15 SCCOPT_MARGIN_TEXT_LINE

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

Data Type

SCCEX_MARGINTEXTLINE

Default

None

10.6.16 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.6.17 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.6.18 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.6.19 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.6.20 SCCOPT_SHOW_REDACTION_LABELS

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

Data Type

VTBOOL

Default

False (no labels)

10.7 Font Rendering

This section discusses font rendering options.

10.7.1 SCCOPT_DEFAULTPRINTFONT

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

This option sets the font to use when the chunker-specified font is either excluded by SCCOPT_FONTFILTER 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.

Handle Types

VTHDOC, VTHEXPORT

Scope

Local

Data Type

SCCVWFONTSPECstructure

10.7.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 PDF Export.

  • wType: Should be set to 0.

10.7.2 SCCOPT_EMBEDFONTS

This option allows the developer to specify whether or not fonts should be embedded in the file. In order to comply with the PDF/A-1a spec, this option is forced to a value of TRUE when FI_PDFA is selected for the output type.

Handle Type

VTHDOC, VTHEXPORT

Scope

local

Data Type

VTBOOL

Data

A Boolean value indicating if fonts should be embedded.

Default Value

TRUE

10.7.3 SCCOPT_FONTDIRECTORY

This option allows the developer to specify one or more font directories where fonts are located for use by PDF 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 PDF 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, PDF Export does not require case-sensitive font filenames on UNIX systems.

Note:

Please note that the maximum path size is 256 characters - paths longer than this will be truncated and will result in fonts not being discovered by PDF Export.

Handle Types

VTHDOC, VTHEXPORT

Scope

Local

Data Type

VTLPBYTE

Data

A path to the fonts.

Default

NONE - the option must be set.

10.7.4 SCCOPT_FONTFILTER

This option allows the developer to specify a list of fonts to be included or excluded during the export process.

Handle Types

VTHDOC, VTHEXPORT

Scope

Local

Data Type

FONTFILTERLIST Structure

Data

A structure containing the list of fonts and an attribute indicating whether the list is an inclusion list or exclusion list.

Default

All fonts included during the export process.

10.7.4.1 FONTFILTERLIST Structure

typedef struct FONTFILTERLISTtag
{
   BOOL            bExclude;
   PFONTNAMELIST   pFontList;
}FONTFILTERLIST;

Parameters

  • bExclude: If true, then the accompanying font list is an exclusion list. If false, the list is an inclusion list.

  • pFontList: Pointer to a FONTNAMELIST structure (see FONTNAMELIST Structure) that contains the names of the fonts to include or exclude.

10.7.4.2 FONTNAMELIST Structure

typedef struct FONTNAMELISTtag *PFONTNAMELIST;
typedef struct FONTNAMELISTtag
{
   BYTE            szFontName[SCCUT_FILENAMEMAX];
   PFONTNAMELIST   pNextFont; 
}FONTNAMELIST;

Parameters

  • szFontName: Name of font to include or exclude.

  • pNextFont: Pointer to a FONTNAMELIST structure that contains the name of the next font to include or exclude. The pointer in the final structure in this linked list should point to NULL.

10.7.5 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.7.5.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.7.6 SCCOPT_FONTEMBEDPOLICY

This option determines whether or not to automatically embed Adobe Standard Base 14 fonts.

Handle Type

VTHDOC, VTHEXPORT

Scope

Local

Data Type

VTDWORD

Data

Value indicating which embedding policy to use. Must be one of the following:

  • SCCFONTS_REDUCESIZE: do not embed Adobe Standard 14 fonts

  • SCCFONTS_EMBEDALL: embed all fonts, including Adobe Standard 14 fonts

Default Value

SCCFONTS_REDUCESIZE

10.7.7 SCCOPT_RENDER_EMBEDDED_FONTS

This option allows you to disable the use of embedded fonts in PDF input files. If the option is set to TRUE, the embedded fonts in the PDF input will be used to render text; if the option is set to FALSE, the embedded fonts will not be used and the fallback is to use fonts available to Outside In to render text.

Handle Type

VTHDOC, VTHEXPORT

Scope

local

Data Type

VTBOOL

Data

A Boolean value indicating if embedded fonts should be rendered.

Default Value

TRUE

10.7.8 SCCOPT_STROKE_TEXT

This option is used to stroke out (display as graphical primitives) text in an AutoCAD file. Setting this option to FALSE would improve performance, but the visual fidelity may be compromised.

  • If the export for the conversion is text only, text is never stroked out.

  • If the export is not text only, and the drawing is perspective, text will always be stroked out (regardless of this option). This is due to the fact that in non-text only situations visual fidelity is of importance, and handling of textual objects in perspective drawings is more accurate with stroked out text. If the conversion is non-text only and the drawing is not perspective, this option determines if text should be stroked.

Note that when this option is TRUE, some special characters appear as asterisks or question marks due to limited support of characters for stroking out text.

Handle Types

VTHDOC, VTHEXPORT

Scope

Local

Data Type

VTBOOL

Default

TRUE

10.8 Watermarks

This section discusses watermark options.

You can use any raster formats supported by OIT as watermarks. By default, the watermark image is centered in the middle of the target image.

10.8.1 SCCOPT_ENABLEWATERMARK

This option allows the developer to specify if a watermark should be included on each of the rendered PDF pages.

Handle Type

VTHDOC, VTHEXPORT

Scope

Local

Data Type

VTBOOL

Data

Boolean indicating if a watermark is to be included in the rendering.

Default Value

FALSE

10.8.2 SCCOPT_WATERMARKIO

This option allows the developer to specify the location of the file to be used as a watermark. It also provides scaling options for the watermark.

If no scaling is specified for the watermark, the technology will default to using the actual size of the image as given.

Handle Type

VTHDOC, VTHEXPORT

Scope

Local

Data Type

WATERMARKIO Structure

Data

Structure containing information on the location of the watermark, the scaling value of the watermark as a percentage of the size of the original image, and the type of IO to use (IOTYPE_ANSIPATH, IOTYPE_REDIRECT, or IOTYPE_UNIXPATH).

There are two error messages that may be returned:

  • SCCERR_WATERMARKFILEOPEN --- an error occurred when attempting to open the watermark.

  • SCCERR_WATERMARKFILEFAILURE --- an error occurred during conversion of the watermark.

Default Value

Each element of the WATERMARKIO Structure has its own default value. See the following section for more information.

10.8.2.1 WATERMARKIO Structure

typedef struct WATERMARKIOtag
{
   VTVOID*         phDoc;
   VTDWORD         dwType;
   WATERMARKPATH   Path;
   VTDWORD         dwScalingMethod;
   VTDWORD         dwScalePercent;
}WATERMARKIO,   * LPWATERMARKIO;

Parameters

  • phDoc: Should only be filled in if the dwType is equal to IOTYPE_REDIRECT.

  • dwType: Valid values are IOTYPE_ANSIPATH, IOTYPE_REDIRECT or IOTYPE_UNIXPATH. No default -- this element MUST be set.

  • Path: This is a WATERMARKPATH structure. For more information, see "WATERMARKPATH Structure.

  • dwScalingMethod: Contains the type of scaling, if any, the user would like applied to the watermark. Valid values are SCCGRAPHIC_NOSCALING (the default), SCCGRAPHIC_NOMAP, SCCGRAPHIC_FITTOPAGE or SCCGRAPHIC_SCALE.

  • dwScalePercent: If dwScalingMethod is set to SCCGRAPHIC_SCALE, then dwScalePercent contains the amount to scale the watermark. Default value is 100, which means the watermark will be scaled at 100% of its original size.

10.8.2.2 WATERMARKPATH Structure

typedef struct WATERMARKPATHtag {
   VTCHAR    szWaterMarkPath[SCCUT_FILENAMEMAX];
   VTDWORD   dwMaxSize;
}WATERMARKPATH,   * LPWATERMARKPATH;

Parameters

  • szWaterMarkPath: A character array of size SCCUT_FILENAMEMAX.

  • dwMaxSize: Should be set to SCCUT_FILENAMEMAX.

10.8.3 SCCOPT_WATERMARKPOSITION

This option allows the developer to specify where on the page the watermark should be placed.

No scaling of watermark graphics is performed, so a graphic larger than the page or located such that the entire image cannot fit on the page will be cropped to fit the page.

Handle Type

VTHDOC, VTHEXPORT

Scope

Local

Data Type

WATERMARKPOS Structure

Data

Structure containing a positional indicator for the watermark, as well as vertical and horizontal offset values that are used.

Default Value

Determined by the value of dwWatermarkPos in the WATERMARKPOS Structure.

10.8.3.1 WATERMARKPOS Structure

typedef struct WATERMARKPOStag
{
   VTDWORD   dwWatermarkPos;
   VTLONG    lVerticalPos;
   VTLONG    lHorizontalPos;
}WATERMARKPOS,  * LPWATERMARKPOS;

Parameters

  • dwWatermarkPos: Defines where the user wants the watermark to be placed. Currently the only valid value for this option is SCCGRAPHIC_OFFSETFROMCENTER.

  • lVerticalPos: lVerticalPos specifies the distance, in twips, to move the watermark from the center. Negative values correspond to below center, and positive values correspond to above center. The default is zero (center).

  • lHorizontalPos:lHorizontalPos specifies the distance, in twips, to move the watermark from the center. Negative values correspond to left of center, and positive values correspond to right of center. The default is zero (center).

10.9 Callbacks

This section discusses callback options.

10.9.1 SCCOPT_EX_CALLBACKS

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

This option is used to disable callbacks being made from PDF Export. Callbacks that are disabled will behave as if they were made and the developer had returned SCCERR_NOTHANDLED.

The option takes a VTDWORD field of flags. When the flag is set, the callback is enabled. By default, all callbacks are enabled. You can activate multiple callbacks by bitwise OR-ing them together. You can also disable multiple callbacks by bitwise &-ing the SCCEX_CALLBACKFLAG_ALLENABLED value with the one's complement of the corresponding callback flags. The following #defines are to be used for enabling the various callbacks:

In addition, the following two special values are available:

  • SCCEX_CALLBACKFLAG_ALLDISABLED: Disables the receipt of all callbacks. Additionally, bitwise OR-ing this value with one or more flags enables the corresponding callbacks. For example, SCCEX_CALLBACKFLAG_ALTLINK | SCCEX_CALLBACKFLAG_CREATENEWFILE enables the ALTLINK and CREATENEWFILE callbacks, but disables all others.

  • SCCEX_CALLBACKFLAG_ALLENABLED: Enables the receipt of all callbacks. Additionally, bitwise &-ing this value with the one's complement of one or more flags disables the corresponding callbacks. For example, SCCEX_CALLBACKFLAG_ALLENABLED& (~SCCEX_CALLBACKALTLINK & ~SCCEX_CALLBACKFLAG_CREATENEWFILE) disables the ALTLINK and CREATENEWFILE callbacks, but enables all others.

Handle Types

VTHDOC

Scope

Local

Data Type

VTDWORD

Data

One or more of the valid flags, bitwise OR-ed together

Default

  • SCCEX_CALLBACKFLAG_ALLENABLED: All callbacks are available to the developer.

10.9.2 SCCOPT_EX_UNICODECALLBACKSTR

This option determines the format of strings used in the callback functions. For those structures that contain a field of type BYTE or LPBYTE, a comparable structure has been added which has a similar field of type WORD or LPWORD. These structures will have the same name as the original structure, with the addition of a "W" at the end.

When this option is set to TRUE, any time a callback uses a structure with a string, it will use the new structure. Also, any strings that the callback function returns will be expected to follow the same guidelines. If the option is set to FALSE, all callbacks will use single-byte character strings.

For example, if this option is set to TRUE, and the EX_CALLBACK_ID_CREATENEWFILE callback is called, the pExportData parameter to the callback will point to an EXURLFILEIOCALLBACKDATAW structure. If the option is set to FALSE, the pCommandOrInfoData parameter will point to an EXURLFILEIOCALLBACKDATA structure.

This option should be set before EXOpenExport is called.

Handle Types

VTHDOC

Scope

Local

Data Type

VTBOOL

Data

One of the following values:

  • TRUE: Use Unicode strings in callbacks.

  • FALSE: Do not use Unicode strings in callbacks.

Default

FALSE

10.10 File System

This section discusses file system options.

10.10.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 PDF Export may ignore.

Handle Type

NULL, VTHDOC

Scope

Global

Data Type

SCCBUFFEROPTIONS Structure

Data

A buffer options structure

10.10.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.10.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.10.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.

Users should also note that temporary files created by the technology are not subject to callbacks (such as EX_CALLBACK_ID_CREATENEWFILE) normally made when files are created.

Parameters

  • dwSize: Set to sizeof(SCCUTTEMPDIRSPEC).

  • dwSpecType: IOTYPE_ANSIPATH, IOTYPE_UNICODEPATH, 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.10.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 (4MB)

  • SCCDOCUMENTMEMORYMODE_SMALL (16MB)

  • SCCDOCUMENTMEMORYMODE_MEDIUM (64MB)

  • SCCDOCUMENTMEMORYMODE_LARGE (256MB)

  • SCCDOCUMENTMEMORYMODE_LARGEST (1 GB)

Default

SCCDOCUMENTMEMORYMODE_LARGE (256MB)

10.10.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.