com.esri.arcgis.output
Interface IExport

All Superinterfaces:
Serializable
All Known Implementing Classes:
ExportAI, ExportBMP, ExportEMF, ExportGIF, ExportJPEG, ExportPDF, ExportPNG, ExportPS, ExportSVG, ExportTIFF

public interface IExport
extends Serializable

Provides access to members that control the Export.

Remarks

This interface contains the essential properties and methods for controlling an export object.

At ArcGIS 9, this interface is the replacement for the IExporter and IArcPressExporter interfaces.

IExport should be used in conjuction with one of the ten export CoClasses: ExportAI, ExportBMP, ExportEMF, ExportGIF, ExportJPEG, ExportPDF, ExportPNG, ExportPS, ExportSVG, and ExportTIFF.

The Export Active View sample demonstrates the basic use of this interface.

Exporting a map to a graphics export file involves a few basic steps:

  1. Create an export object.
  2. Define the resolution of your source display and of the destination file.
  3. Prepare a number of extent rectangles (Envelopes and a RECT structure) to define the target area on the print device and the map extent to be printed.
  4. Generate draw instructions and direct them to the export object. The export object will sense the incoming draw instructions and begin the process of bulding the graphic export file in the desired format.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.


Method Summary
 void cleanup()
          Cleanup should clean all temporary files, free used memory, etc...
 void finishExporting()
          Shuts down the Exporter.
 String getExportFileName()
          The Export File Name.
 String getFilter()
          Filter String used in the CFileDialog class.
 String getName()
          The Name of the Exporter.
 IEnvelope getPixelBounds()
          The Export Bounds in Pixels (The Pixel Bounds of the Export surface).
 int getPriority()
          Exporter's priority - the order of appearance in the user interface.
 double getResolution()
          The Export Resolution.
 void setExportFileName(String fileName)
          The Export File Name.
 void setPixelBounds(IEnvelope pixelBounds)
          The Export Bounds in Pixels (The Pixel Bounds of the Export surface).
 void setResolution(double res)
          The Export Resolution.
 void setStepProgressorByRef(IStepProgressor rhs1)
          Export will update a Progress Bar if StepProgressor is not NULL.
 void setTrackCancelByRef(ITrackCancel rhs1)
          Export will react on Cancel if TrackCancel is not NULL.
 int startExporting()
          Initializes the Exporter.
 

Method Detail

getName

String getName()
               throws IOException,
                      AutomationException
The Name of the Exporter.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Returns:
The name
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getFilter

String getFilter()
                 throws IOException,
                        AutomationException
Filter String used in the CFileDialog class.

Remarks

This method is primarily used for defining the extension of the export file name within the Export Map dialog. The string contained in this value is a null-terminated pattern string that follows the standard for a Windows Open and Save As dialog filter. The value of this property can change according to the state of the export object. An ExportSVG object, for example, returns "SVG (*.svg)|*.svg" when its compression property is False, and "Compressed SVG (*.svgz)|*.svgz" when the compression property is True. This makes the Filter ideal for automatically assigning the appropriate file name extension for an export file.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Returns:
The filter
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getPriority

int getPriority()
                throws IOException,
                       AutomationException
Exporter's priority - the order of appearance in the user interface.

Remarks

Primarily used by export dialogs for ordering the appearance of export formats in the 'Save As...' pulldown list. By ordering through this property, the export dialog can group similar formats together. For example, all raster export formats are grouped together in the 'Save As...' list.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Returns:
The pPriority
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setStepProgressorByRef

void setStepProgressorByRef(IStepProgressor rhs1)
                            throws IOException,
                                   AutomationException
Export will update a Progress Bar if StepProgressor is not NULL.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Parameters:
rhs1 - A reference to a com.esri.arcgis.system.IStepProgressor (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setTrackCancelByRef

void setTrackCancelByRef(ITrackCancel rhs1)
                         throws IOException,
                                AutomationException
Export will react on Cancel if TrackCancel is not NULL.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Parameters:
rhs1 - A reference to a com.esri.arcgis.system.ITrackCancel (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setPixelBounds

void setPixelBounds(IEnvelope pixelBounds)
                    throws IOException,
                           AutomationException
The Export Bounds in Pixels (The Pixel Bounds of the Export surface).

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Parameters:
pixelBounds - A reference to a com.esri.arcgis.geometry.IEnvelope (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getPixelBounds

IEnvelope getPixelBounds()
                         throws IOException,
                                AutomationException
The Export Bounds in Pixels (The Pixel Bounds of the Export surface).

Remarks

The PixelBounds represents the height and width of the export image in device units (usually pixels for a export file). To set up values to use in this property, get the height and width of the image draw to screen. Then multiply each dimension by the ratio of the output resolution to screen resolution.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Returns:
A reference to a com.esri.arcgis.geometry.IEnvelope
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setExportFileName

void setExportFileName(String fileName)
                       throws IOException,
                              AutomationException
The Export File Name.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Parameters:
fileName - The fileName (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getExportFileName

String getExportFileName()
                         throws IOException,
                                AutomationException
The Export File Name.

Remarks

You must assign a value to the ExportFileName property before calling the IExport::StartExporting() method. There are two exceptions to this. If IExport is controlling a ExportBMP or ExportEMF object, you can assign an empty string to the ExportFileName property without an error being raised on StartExporting(). This is to allow cases where the application will use the export object as a intermediate container for a drawing, and won't be written to an export file.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Returns:
The fileName
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setResolution

void setResolution(double res)
                   throws IOException,
                          AutomationException
The Export Resolution.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Parameters:
res - The res (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getResolution

double getResolution()
                     throws IOException,
                            AutomationException
The Export Resolution.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Returns:
The res
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

startExporting

int startExporting()
                   throws IOException,
                          AutomationException
Initializes the Exporter.

Remarks

The StartExporting method causes the export object to allocate memory for the export based on resolution, bit depth, and pixel bounds. The method returns a long that represents the hDC (Windows GDI Device Context handle) of the export object. After this method is called, the export object is ready to receive GDI draw instructions directed to its hDC.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Returns:
The hDC (A COM typedef)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

finishExporting

void finishExporting()
                     throws IOException,
                            AutomationException
Shuts down the Exporter.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

cleanup

void cleanup()
             throws IOException,
                    AutomationException
Cleanup should clean all temporary files, free used memory, etc...

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.