# C1.C1Preview.Export.ExportProvider

## Content

<div class="doc-site-dotnet-api-container">



  <h1 id="C1_C1Preview_Export_ExportProvider" data-uid="C1.C1Preview.Export.ExportProvider" class="text-break">ExportProvider Class
</h1>
  <div class="markdown level0 summary"><p>The abstract base class describing a supported export format.
All export providers describing specific formats (such as PDF or HTML) derive from this class.
For the list of all available export providers, see <a class="xref" href="C1.C1Preview.Export.ExportProviders.RegisteredProviders.html#C1_C1Preview_Export_ExportProviders_RegisteredProviders">RegisteredProviders</a>.</p>
</div>
  <div class="markdown level0 conceptual"></div>
  <div class="inheritance">
    <h5>Inheritance</h5>
    <div class="level0"><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a></div>
    <div class="level1"><span class="xref">ExportProvider</span></div>
      <div class="level2"><a class="xref" href="C1.C1Preview.Export.C1dExportProvider.html">C1dExportProvider</a></div>
      <div class="level2"><a class="xref" href="C1.C1Preview.Export.C1dbExportProvider.html">C1dbExportProvider</a></div>
      <div class="level2"><a class="xref" href="C1.C1Preview.Export.C1dxExportProvider.html">C1dxExportProvider</a></div>
      <div class="level2"><a class="xref" href="C1.C1Preview.Export.C1mdxExportProvider.html">C1mdxExportProvider</a></div>
      <div class="level2"><a class="xref" href="C1.C1Preview.Export.ComplexExportProvider.html">ComplexExportProvider</a></div>
      <div class="level2"><a class="xref" href="C1.C1Preview.Export.PagesExportProvider.html">PagesExportProvider</a></div>
      <div class="level2"><a class="xref" href="C1.C1Preview.Export.XpsExportProvider.html">XpsExportProvider</a></div>
  </div>
  <h6><strong>Namespace</strong>: <a class="xref" href="C1.C1Preview.Export.html">C1.C1Preview.Export</a></h6>
  <h6><strong>Assembly</strong>: C1.PrintDocument.4.8.dll</h6>
  <h5 id="C1_C1Preview_Export_ExportProvider_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public abstract class ExportProvider</code></pre>
  </div>
  <div class="codewrapper">
    <pre><code class="lang-vbnet hljs">Public MustInherit Class ExportProvider</code></pre>
  </div>
  <h3 id="constructors">Constructors
</h3>
  <table class="table table-bordered table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td id="C1_C1Preview_Export_ExportProvider__ctor" data-uid="C1.C1Preview.Export.ExportProvider.#ctor">
          <a class="xref" href="C1.C1Preview.Export.ExportProvider.-ctor.html#C1_C1Preview_Export_ExportProvider__ctor">ExportProvider()</a>
        </td>
        <td class="markdown level1 summary"></td>
      </tr>
    </tbody>
  </table>
  <h3 id="properties">Properties
</h3>
  <table class="table table-bordered table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td id="C1_C1Preview_Export_ExportProvider_CanExportToStream" data-uid="C1.C1Preview.Export.ExportProvider.CanExportToStream">
          <a class="xref" href="C1.C1Preview.Export.ExportProvider.CanExportToStream.html#C1_C1Preview_Export_ExportProvider_CanExportToStream">CanExportToStream</a>
        </td>
        <td class="markdown level1 summary"><p>Gets a value indicating whether export to stream is supported by the current format.</p>
</td>
      </tr>
      <tr>
        <td id="C1_C1Preview_Export_ExportProvider_CanShowOptions" data-uid="C1.C1Preview.Export.ExportProvider.CanShowOptions">
          <a class="xref" href="C1.C1Preview.Export.ExportProvider.CanShowOptions.html#C1_C1Preview_Export_ExportProvider_CanShowOptions">CanShowOptions</a>
        </td>
        <td class="markdown level1 summary"><p>Gets a value indicating whether the associated <a class="xref" href="C1.C1Preview.Export.Exporter.html">Exporter</a>
can show a dialog allowing the user to edit the export options.</p>
</td>
      </tr>
      <tr>
        <td id="C1_C1Preview_Export_ExportProvider_DefaultExtension" data-uid="C1.C1Preview.Export.ExportProvider.DefaultExtension">
          <a class="xref" href="C1.C1Preview.Export.ExportProvider.DefaultExtension.html#C1_C1Preview_Export_ExportProvider_DefaultExtension">DefaultExtension</a>
        </td>
        <td class="markdown level1 summary"><p>Gets the default filename extension for the current export format.</p>
</td>
      </tr>
      <tr>
        <td id="C1_C1Preview_Export_ExportProvider_DefaultOptionsFormClass" data-uid="C1.C1Preview.Export.ExportProvider.DefaultOptionsFormClass">
          <a class="xref" href="C1.C1Preview.Export.ExportProvider.DefaultOptionsFormClass.html#C1_C1Preview_Export_ExportProvider_DefaultOptionsFormClass">DefaultOptionsFormClass</a>
        </td>
        <td class="markdown level1 summary"><p>Gets the type of form which is used to edit the export options by default.</p>
</td>
      </tr>
      <tr>
        <td id="C1_C1Preview_Export_ExportProvider_FormatKey" data-uid="C1.C1Preview.Export.ExportProvider.FormatKey">
          <a class="xref" href="C1.C1Preview.Export.ExportProvider.FormatKey.html#C1_C1Preview_Export_ExportProvider_FormatKey">FormatKey</a>
        </td>
        <td class="markdown level1 summary"><p>Gets the format key, which is an arbitrary string that should uniquely identify
the current export provider/format.
The default implementation returns the current <a class="xref" href="C1.C1Preview.Export.ExportProvider.html">ExportProvider</a>'s type name.</p>
</td>
      </tr>
      <tr>
        <td id="C1_C1Preview_Export_ExportProvider_FormatName" data-uid="C1.C1Preview.Export.ExportProvider.FormatName">
          <a class="xref" href="C1.C1Preview.Export.ExportProvider.FormatName.html#C1_C1Preview_Export_ExportProvider_FormatName">FormatName</a>
        </td>
        <td class="markdown level1 summary"><p>Gets a short description of the current export format.</p>
</td>
      </tr>
      <tr>
        <td id="C1_C1Preview_Export_ExportProvider_ShouldEnsureGeneratedDocument" data-uid="C1.C1Preview.Export.ExportProvider.ShouldEnsureGeneratedDocument">
          <a class="xref" href="C1.C1Preview.Export.ExportProvider.ShouldEnsureGeneratedDocument.html#C1_C1Preview_Export_ExportProvider_ShouldEnsureGeneratedDocument">ShouldEnsureGeneratedDocument</a>
        </td>
        <td class="markdown level1 summary"><p>When overridden in a derived class, should return a value indicating
whether, if a <a class="xref" href="C1.C1Preview.C1PrintDocument.html">C1PrintDocument</a> is to be exported,
it should be generated before exporting.
Exporters that do not need the document to be generated,
or might require custom generation, should return <b>false</b>.</p>
</td>
      </tr>
      <tr>
        <td id="C1_C1Preview_Export_ExportProvider_SupportedDocumentInfoFields" data-uid="C1.C1Preview.Export.ExportProvider.SupportedDocumentInfoFields">
          <a class="xref" href="C1.C1Preview.Export.ExportProvider.SupportedDocumentInfoFields.html#C1_C1Preview_Export_ExportProvider_SupportedDocumentInfoFields">SupportedDocumentInfoFields</a>
        </td>
        <td class="markdown level1 summary"><p>Gets the combination of flags indicating which fields of the <a class="xref" href="C1.C1Preview.DocumentInfo.html">DocumentInfo</a> class
are supported by the current export format.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h3 id="methods">Methods
</h3>
  <table class="table table-bordered table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td id="C1_C1Preview_Export_ExportProvider_CanExportObject_System_Object_" data-uid="C1.C1Preview.Export.ExportProvider.CanExportObject(System.Object)">
          <a class="xref" href="C1.C1Preview.Export.ExportProvider.CanExportObject.html#C1_C1Preview_Export_ExportProvider_CanExportObject_System_Object_">CanExportObject(object)</a>
        </td>
        <td class="markdown level1 summary"><p>Tests whether the specified object represents a document that can be exported
by an <a class="xref" href="C1.C1Preview.Export.Exporter.html">Exporter</a> associated with the current export provider
(see <a class="xref" href="C1.C1Preview.Export.ExportProvider.NewExporter.html#C1_C1Preview_Export_ExportProvider_NewExporter">NewExporter()</a>).
The default implementation of this method returns <b>false</b>.</p>
</td>
      </tr>
      <tr>
        <td id="C1_C1Preview_Export_ExportProvider_CanExportRange_C1_C1Preview_OutputRangeTypeEnum_" data-uid="C1.C1Preview.Export.ExportProvider.CanExportRange(C1.C1Preview.OutputRangeTypeEnum)">
          <a class="xref" href="C1.C1Preview.Export.ExportProvider.CanExportRange.html#C1_C1Preview_Export_ExportProvider_CanExportRange_C1_C1Preview_OutputRangeTypeEnum_">CanExportRange(OutputRangeTypeEnum)</a>
        </td>
        <td class="markdown level1 summary"><p>Tests whether the <a class="xref" href="C1.C1Preview.Export.Exporter.html">Exporter</a> associated with the current export provider
can handle the specified type of document pages' range.
The default implementation of this method returns <b>true</b> if the specified range type
is <a class="xref" href="C1.C1Preview.OutputRangeTypeEnum.html#C1_C1Preview_OutputRangeTypeEnum_All">All</a>, <b>false</b> otherwise.</p>
</td>
      </tr>
      <tr>
        <td id="C1_C1Preview_Export_ExportProvider_CanExportType_System_Type_" data-uid="C1.C1Preview.Export.ExportProvider.CanExportType(System.Type)">
          <a class="xref" href="C1.C1Preview.Export.ExportProvider.CanExportType.html#C1_C1Preview_Export_ExportProvider_CanExportType_System_Type_">CanExportType(Type)</a>
        </td>
        <td class="markdown level1 summary"><p>Tests whether documents of the specified type can be exported
by an <a class="xref" href="C1.C1Preview.Export.Exporter.html">Exporter</a> associated with the current export provider
(see <a class="xref" href="C1.C1Preview.Export.ExportProvider.NewExporter.html#C1_C1Preview_Export_ExportProvider_NewExporter">NewExporter()</a>).</p>
<p>
Note that if just the type is not enough to determine whether a document
of that type can be exported (e.g. an array of objects can be exported
by some exporters only if all objects in that array are images),
this method returns <b>false</b>.
Use <a class="xref" href="C1.C1Preview.Export.ExportProvider.CanExportObject.html#C1_C1Preview_Export_ExportProvider_CanExportObject_System_Object_">CanExportObject(object)</a> method to get a definitive value.
</p>
</td>
      </tr>
      <tr>
        <td id="C1_C1Preview_Export_ExportProvider_NewExporter" data-uid="C1.C1Preview.Export.ExportProvider.NewExporter">
          <a class="xref" href="C1.C1Preview.Export.ExportProvider.NewExporter.html#C1_C1Preview_Export_ExportProvider_NewExporter">NewExporter()</a>
        </td>
        <td class="markdown level1 summary"><p>Creates a new Exporter object.
When overridden in a derived class, returns an instance of a specialized class derived from <a class="xref" href="C1.C1Preview.Export.Exporter.html">Exporter</a>.</p>
</td>
      </tr>
    </tbody>
  </table>

</div>
