Document Library for WinForms
ドキュメントのエクスポート
PdfDocumentSource for WinForms > ドキュメントのエクスポート

PdfDocumentSource では、電子的に共有できる他のファイル形式に PDF ファイルをエクスポートできます。次の表に、エクスポートフィルタと、PDF ドキュメントをエクスポートできるエクスポート形式の説明を示します。

フィルタ 説明
HtmlFilter このエクスポートフィルタは、PDF ファイルを HTML ストリームまたはファイルにエクスポートします。
JpegFilter このエクスポートフィルタは、PDF ファイルを JPEG ストリームまたはファイルにエクスポートします。
GifFilter このエクスポートフィルタは、PDF ファイルを GIF ストリームまたはファイルにエクスポートします。
PngFilter このエクスポートフィルタは、PDF ファイルを PNG ストリームまたはファイルにエクスポートします。
BmpFilter このエクスポートフィルタは、PDF ファイルを BMP ストリームまたはファイルにエクスポートします。
TiffFilter このエクスポートフィルタは、PDF ファイルを TIFF ストリームまたはファイルにエクスポートします。

PdfDocumentSource は、C1DocumentSource クラスを通じて、あらゆる外部形式への PDF ファイルのエクスポートをサポートしています。PDF ファイルをエクスポートする際に C1DocumentSource クラスがサポートする機能の詳細については、以下で説明します。

形式固有のフィルタを使用した PDF のエクスポート

PdfDocumentSource provides support for exporting a PDF file to an external format through Export method inherited from C1DocumentSource class.

PDF を HTML 形式にエクスポートするには

  1. PDF をエクスポートするためのボタンコントロールをフォームに追加します。
  2. PdfDocumentSource コンポーネントをツールボックスからフォームにドラッグアンドドロップしてコンポーネントトレイに追加します。
  3. コードビューに切り替え、コードビューで次の名前空間を追加します。
     
    C#
    コードのコピー
    using C1.Win.C1Document.Export;
    
  4. プロジェクトに PDF ファイルを追加します。この例では、DefaultDocument.pdf という PDF ファイルを使用します。
  5. LoadFromFile メソッドを使用して、PdfDocumentSource のオブジェクトに PDF ファイルをロードします。
    C#
    コードのコピー
    c1PdfDocumentSource1.LoadFromFile(@"..\..\DefaultDocument.pdf");
    
  6. 次のコードをボタンのクリックイベントに追加し、HtmlFilter クラスを使用して PDF を HTML 形式にエクスポートします。Use the FileName property in HtmlFilter class to set the name of the html file. By default, the ShowOptions property is true, which means the options dialog will appear before exporting the document. Here, we have set this property to false.
    C#
    コードのコピー
    //HTMLFilterオブジェクトを作成します
    HtmlFilter filter = new HtmlFilter();
    //出力するファイルの名前を指定します
    filter.FileName = @"..\..\DefaultDocument.html";
    filter.ShowOptions = false;
               
    if (filter.ShowOptionsDialog())
    {
        //PDFへエクスポートします
        c1PdfDocumentSource1.Export(filter);
        System.Diagnostics.Process.Start(filter.OutputFiles[0]);
        MessageBox.Show(this, "ドキュメントが正常にエクスポートされました。",
                        "情報", MessageBoxButtons.OK,
                        MessageBoxIcon.Information);
    }
    

PDF を画像ファイル形式にエクスポートするには

上と同様のコードを使用して、サポートされているいずれかの画像形式(JPEG、PNG、TIFF など)で PDF ドキュメントを一連のページ画像ファイルにエクスポートすることができます。ページ画像を含む単一の ZIP ファイルを作成することもできます。次のコードは、画像形式フィルタクラスの 1 つ JpegFilter を使用して、複数ページから成るファイルを JPEG 形式にエクスポートし、UseZipForMultipleFilesプロパティをtrueに設定してエクスポートされた画像から成る 1 つの ZIP ファイルを作成します。

C#
コードのコピー
//JPEGFilterオブジェクトを作成します
JpegFilter filter = new JpegFilter();
filter.FileName = @"..\..\DefaultDocument.zip";
filter.UseZipForMultipleFiles = true;
filter.ShowOptions = false;
if (filter.ShowOptionsDialog())
{
    //PDFへエクスポートします
    c1PdfDocumentSource1.Export(filter);
    System.Diagnostics.Process.Start(filter.OutputFiles[0]);
    MessageBox.Show(this, "ドキュメントが正常にエクスポートされました。",
                    "情報", MessageBoxButtons.OK,
                    MessageBoxIcon.Information);
}

PdfDocumentSource では、SupportedExportProviders プロパティを使用して、ドキュメントのサポートされているエクスポート形式を列挙することができます。このプロパティは ExportProvider クラスのコレクションを返します。これには、サポートされている形式に関する情報が含まれます。また、ExportProvider クラスの NewExporter メソッドを使用して、サポートされている形式に対応するエクスポートフィルタを作成することができます。サポートされるエクスポート形式のセットはドキュメントタイプによって異なるため、正しい結果を得るには、SupportedExportProviders によってエクスポートフィルタを列挙および作成してください。

サポートされているエクスポータを使用して PDF をエクスポートするには

  1. PdfDocumentSource、SaveFileDialog、Button、および ComboBox コントロールをツールボックスからフォームにドラッグアンドドロップします。
  2. プロパティウィンドウで DropDownStyle プロパティに移動して、ドロップダウンから DropDownList を選択します。
  3. コードビューに切り替え、コードビューで次の名前空間を追加します。
    Example Title
    コードのコピー
    using System.IO;
    using C1.Win.C1Document;
    using C1.Win.C1Document.Export;
    
  4. LoadFromFile メソッドを使用して、PdfDocumentSource のオブジェクトに PDF ファイルをロードします。 
    C#
    コードのコピー
    c1PdfDocumentSource1.LoadFromFile(@"..\..\DefaultDocument.pdf");
    
  5. 次のコードを InitializeComponent メソッドの下に追加して、サポートされているエクスポータのリストを SupportedExportProviders プロパティを使用して取得します。
     
    C#
    コードのコピー
    var supportedProviders = c1PdfDocumentSource1.SupportedExportProviders;
    foreach (var sep in supportedProviders)
        cbExporter.Items.Add(new FileAction()
        {
            Text = string.Format("Export to {0}...",
            sep.FormatName), ExportProvider = sep
        });
    
  6. 次のコードを追加して、変数を含む FileAction クラスを追加します。
     
    C#
    コードのコピー
    private class FileAction
      {
                public string Text { get; set; }
                public ExportProvider ExportProvider { get; set; }
                public override string ToString()
                {
                    return Text;
                }
       }
    
  7. 次のコードを追加して DoExportメソッドを作成し、 Export メソッドを使用して PDF を別の形式にエクスポートします。
    C#
    コードのコピー
    private void DoExport(C1PdfDocumentSource pds, ExportProvider ep)
    {
        saveFileDialog1.DefaultExt = "." + ep.DefaultExtension;
        saveFileDialog1.FileName = Path.GetFileName("Document")+ "." +
                                   ep.DefaultExtension;
        saveFileDialog1.Filter = string.Format("{0} (*.{1})|*.{1}|All files (*.*)|*.*",
                                 ep.FormatName, ep.DefaultExtension);
        if (saveFileDialog1.ShowDialog(this) != DialogResult.OK)
            return;
        try
        {
            var exporter = ep.NewExporter();
            exporter.ShowOptions = false;
            exporter.FileName = saveFileDialog1.FileName;
            if (exporter.ShowOptionsDialog())
            {
                pds.Export(exporter);
                MessageBox.Show(this, "ドキュメントが正常にエクスポートされました。",
                                "情報", MessageBoxButtons.OK,
                                MessageBoxIcon.Information);
            }
        }
        catch (Exception ex)
        {
            MessageBox.Show(this, ex.Message, "エラー", MessageBoxButtons.OK,
                            MessageBoxIcon.Error);
        }
    }
    
  8. 次のコードをボタンのクリックイベントに追加して、C1PdfDocumentSource のオブジェクトと ExportProvider をパラメータとして受け取る DoExport メソッドを呼び出します。
    C#
    コードのコピー
    private void btnExport_Click(object sender, EventArgs e)
        {
                DoExport(c1PdfDocumentSource1, ((FileAction)
                         cbExporter.SelectedItem).ExportProvider);
        }