この記事には、C#でプログラムによってPDFをPPTまたはPPTXに変換するための手順とコードサンプルが含まれています。

PDFをPPTC#に変換する

PDFは、レイアウトの問題を気にせずに信頼性の高いドキュメントを交換するために広く使用されている形式の1つです。一方、PowerPointプレゼンテーション(PPT / PPTX)を使用すると、データや情報をインタラクティブなスライド形式で簡単に表示できるようになります。場合によっては、PDFファイルに含まれる情報をPowerPointプレゼンテーションとして表示する必要があります。このような場合、PDFからPowerPoint PPT / PPTXに情報をインポートするプロセスを自動化することで、労力を最小限に抑えることができます。

上記のシナリオに対処するために、この記事では次の方法を示します。

PDFからPowerPointへの変換のためのC#API

PDFをPPTまたはPPTXに変換するには、PDFドキュメントを作成、処理、変換するための強力なPDFAPIであるAspose.PDF for .NETを使用します。 Aspose.PDF for .NETは、NuGetで入手できます。また、ダウンロードセクションでDLLの形式で入手できます。

PDFをC#でPPTまたはPPTXに変換する

以下は、Aspose.PDF for .NETを使用してPDFファイルをPowerPointプレゼンテーションに変換する手順です。

  • Documentクラスのオブジェクトを作成します。
  • PptxSaveOptionsクラスのオブジェクトを作成します。
  • Document.Save()メソッドを呼び出して、PDFをPPTまたはPPTXとして保存します。

次のコードサンプルは、C#でPDFをPPTに変換する方法を示しています。

// PDFドキュメントをロード
Document pdfDocument = new Document("document.pdf");
PptxSaveOptions pptxOptions = new PptxSaveOptions();
// 出力ファイルを保存する
pdfDocument.Save("PDF to PPT.ppt", pptxOptions);

PDFドキュメント

変換されたPowerPointPPT

PDFをC#でPPTに変換-スライドを画像としてレンダリング

変換されたPowerPointプレゼンテーションに選択可能なテキストが含まれないようにしたい場合は、各スライドを画像としてレンダリングできます。このために、PptxSaveOptions.SlidesAsImagesプロパティをtrueに設定すると、残りの手順は同じままになります。

次のコードサンプルは、C#で画像としてスライドを使用してPDFをPPTに変換する方法を示しています。

// PDFドキュメントをロード
Document pdfDocument = new Document("document.pdf");
PptxSaveOptions pptxOptions = new PptxSaveOptions();
pptxOptions.SlidesAsImages = true;
// 出力ファイルを保存する
pdfDocument.Save("PDF to PPT.ppt", pptxOptions);

PDFからPPTへの変換の進捗状況を追跡する

Aspose.PDF for .NETを使用して、PDFからPPTへの変換プロセスの進行状況を追跡することもできます。変換プロセスについて、次の情報を取得できます。

  • 変換の全体的な進捗状況
  • 変換前の各ページの分析の終了
  • 物理的なエクスポート前の結果ページの作成
  • 各結果ページのエクスポート

次のコードサンプルは、C#でPDFからPPTへの変換を追跡する方法を示しています。

// PDFドキュメントをロード
Document pdfDocument = new Document("document.pdf");
PptxSaveOptions pptxOptions = new PptxSaveOptions();
// スライドを画像としてレンダリングする
pptxOptions.SlidesAsImages = true;
// コンソールで進行状況を追跡する
pptxOptions.CustomProgressHandler = ShowProgressOnConsole;
// 出力ファイルを保存する
pdfDocument.Save("PDF to PPT.ppt", pptxOptions);

//----------------------------------

public static void ShowProgressOnConsole(PptxSaveOptions.ProgressEventHandlerInfo eventInfo)
{ 
	switch (eventInfo.EventType)
	{
		case ProgressEventType.TotalProgress:
			Console.WriteLine(String.Format("{0}  - Conversion progress : {1}% .", DateTime.Now.TimeOfDay, eventInfo.Value.ToString()));
			break;
		case ProgressEventType.ResultPageCreated:
			Console.WriteLine(String.Format("{0}  - Result page's {1} of {2} layout created.", DateTime.Now.TimeOfDay, eventInfo.Value.ToString(), eventInfo.MaxValue.ToString()));
			break;
		case ProgressEventType.ResultPageSaved:
			Console.WriteLine(String.Format("{0}  - Result page {1} of {2} exported.", DateTime.Now.TimeOfDay, eventInfo.Value.ToString(), eventInfo.MaxValue.ToString()));
			break;
		case ProgressEventType.SourcePageAnalysed:
			Console.WriteLine(String.Format("{0}  - Source page {1} of {2} analyzed.", DateTime.Now.TimeOfDay, eventInfo.Value.ToString(), eventInfo.MaxValue.ToString()));
			break;

		default:
			break;
	} 
}

出力

関連記事

情報:Asposeは、独自のAPIを使用して、PDFをPowerPointに変換するための無料のオンラインサービスを開発しました。