.NET で PPT と PPTX を PDF に変換(高度な機能を含む)

概要

C# で PowerPoint プレゼンテーション(PPT、PPTX、ODP など)を PDF 形式に変換すると、さまざまなデバイス間での互換性や、プレゼンテーションのレイアウトと書式設定を保持できるなどの利点があります。このガイドでは、プレゼンテーションを PDF ドキュメントに変換する方法、画像品質を制御するオプションの使用、非表示スライドの含め方、PDF ファイルへのパスワード保護、フォント置換の検出、特定スライドの選択変換、出力ドキュメントへのコンプライアンス標準の適用方法を示します。

PowerPointからPDFへの変換

Aspose.Slides を使用すると、次の形式のプレゼンテーションを PDF に変換できます。

  • PPT
  • PPTX
  • ODP

プレゼンテーションを PDF に変換するには、Presentation クラスにファイル名を引数として渡し、Save メソッドで PDF として保存します。Presentation クラスは、通常プレゼンテーションを PDF に変換するために使用される Save メソッドを公開しています。

Aspose.Slides では、次の変換が可能です。

  • プレゼンテーション全体を PDF に変換
  • プレゼンテーションから特定のスライドだけを PDF に変換

Aspose.Slides はプレゼンテーションを PDF にエクスポートし、元のプレゼンテーションに極めて近い PDF を生成します。変換時には以下の要素と属性が正確にレンダリングされます。

  • 画像
  • テキスト ボックスと図形
  • テキスト書式設定
  • 段落書式設定
  • ハイパーリンク
  • ヘッダーとフッター
  • 箇条書き

PowerPointをPDFに変換

標準の PowerPoint→PDF 変換プロセスはデフォルトオプションを使用します。この場合、Aspose.Slides は最適な設定で最高品質レベルの PDF に変換しようとします。

この C# コードは、プレゼンテーション(PPT、PPTX、ODP など)を PDF に変換する方法を示しています:

// PowerPoint または OpenDocument ファイルを表す Presentation クラスのインスタンスを作成します。
using var presentation = new Presentation("PowerPoint.ppt");

// プレゼンテーションを PDF として保存します。
presentation.Save("PDF-result.pdf", SaveFormat.Pdf);

オプション付きでPowerPointをPDFに変換

Aspose.Slides は、PdfOptions クラスのプロパティとして提供されるカスタムオプションを使用して、生成される PDF のカスタマイズ、パスワードでのロック、変換プロセスの進行方法を指定できます。

カスタムオプションでPowerPointをPDFに変換

カスタム変換オプションを使用すると、ラスター画像の品質設定、メタファイルの取り扱い方法、テキストの圧縮レベル、画像の DPI などを自由に定義できます。

以下のコード例は、さまざまなカスタムオプションを使用して PowerPoint プレゼンテーションを PDF に変換する方法を示しています。

 // PdfOptions クラスのインスタンスを作成します。
 var pdfOptions = new PdfOptions
 {
     // JPG 画像の品質を設定します。
     JpegQuality = 90,

     // 画像の DPI を設定します。
     SufficientResolution = 300,

     // メタファイルの動作を設定します。
     SaveMetafilesAsPng = true,

     // テキストコンテンツの圧縮レベルを設定します。
     TextCompression = PdfTextCompression.Flate,

     // PDF コンプライアンスモードを定義します。
     Compliance = PdfCompliance.Pdf15
 };

 // PowerPoint または OpenDocument ファイルを表す Presentation クラスのインスタンスを作成します。
 using var presentation = new Presentation("PowerPoint.pptx");

 // プレゼンテーションを PDF ドキュメントとして保存します。
 presentation.Save("PowerPoint-to-PDF.pdf", SaveFormat.Pdf, pdfOptions);

非表示スライドを含めてPowerPointをPDFに変換

プレゼンテーションに非表示スライドが含まれている場合は、PdfOptions クラスの ShowHiddenSlides プロパティを使用して、非表示スライドを結果の PDF のページとして含めることができます。

この C# コードは、非表示スライドを含めて PowerPoint プレゼンテーションを PDF に変換する方法を示しています:

// PowerPoint または OpenDocument ファイルを表す Presentation クラスのインスタンスを作成します。
using var presentation = new Presentation("PowerPoint.pptx");

// PdfOptions クラスのインスタンスを作成します。
var pdfOptions = new PdfOptions();

// 非表示スライドを追加します。
pdfOptions.ShowHiddenSlides = true;

// プレゼンテーションを PDF として保存します。
presentation.Save("PowerPoint-to-PDF.pdf", SaveFormat.Pdf, pdfOptions);

パスワード保護されたPDFにPowerPointを変換

この C# コードは、PdfOptions クラスの保護パラメータを使用して、PowerPoint プレゼンテーションをパスワード保護された PDF に変換する方法を示しています:

// PowerPoint または OpenDocument ファイルを表す Presentation クラスのインスタンスを作成します。
using var presentation = new Presentation("PowerPoint.pptx");

// PdfOptions クラスのインスタンスを作成します。
var pdfOptions = new PdfOptions();

// PDF のパスワードとアクセス許可を設定します。
pdfOptions.Password = "password";
pdfOptions.AccessPermissions = PdfAccessPermissions.PrintDocument | PdfAccessPermissions.HighQualityPrint;

// プレゼンテーションを PDF として保存します。
presentation.Save("PPTX-to-PDF.pdf", SaveFormat.Pdf, pdfOptions);

フォント置換の検出

Aspose.Slides は、PdfOptions クラスの下にある WarningCallback プロパティを提供しており、プレゼンテーション→PDF 変換プロセス中のフォント置換を検出できます。

この C# コードは、フォント置換を検出する方法を示しています:

public static void Main()
{
    // PowerPoint または OpenDocument ファイルを表す Presentation クラスのインスタンスを作成します。
    using var presentation = new Presentation("sample.pptx");

    // PDF オプションで警告コールバックを設定します。
    var pdfOptions = new PdfOptions();
    pdfOptions.WarningCallback = new FontSubstitutionHandler();

    // プレゼンテーションを PDF として保存します。
    presentation.Save("output.pdf", SaveFormat.Pdf, pdfOptions);
}

// 警告コールバックの実装です。
private class FontSubstitutionHandler : IWarningCallback
{
    public ReturnAction Warning(IWarningInfo warning)
    {
        if (warning.WarningType == WarningType.DataLoss &&
            warning.Description.StartsWith("Font will be substituted"))
        {
            Console.WriteLine($"Font substitution warning: {warning.Description}");
        }

        return ReturnAction.Continue;
    }
}

PowerPointの選択したスライドをPDFに変換

この C# コードは、PowerPoint プレゼンテーションから特定のスライドだけを選択して PDF に変換する方法を示しています:

// PowerPoint または OpenDocument ファイルを表す Presentation クラスのインスタンスを作成します。
using var presentation = new Presentation("PowerPoint.pptx");

// スライド番号の配列を設定します。
int[] slides = { 1, 3 };

// プレゼンテーションを PDF として保存します。
presentation.Save("PPTX-to-PDF.pdf", slides, SaveFormat.Pdf);

カスタムスライドサイズでPowerPointをPDFに変換

この C# コードは、指定したスライドサイズで PowerPoint プレゼンテーションを PDF に変換する方法を示しています:

var slideWidth = 612;
var slideHeight = 792;

// Load a PowerPoint presentation.
using var presentation = new Presentation("SelectedSlides.pptx");

// Create a new presentation with an adjusted slide size.
using var resizedPresentation = new Presentation();

// Set the custom slide size.
resizedPresentation.SlideSize.SetSize(slideWidth, slideHeight, SlideSizeScaleType.EnsureFit);

// Clone the first slide from the original presentation.
var slide = presentation.Slides[0];
resizedPresentation.Slides.InsertClone(0, slide);

// Save the resized presentation to a PDF with notes.
resizedPresentation.Save("PDF_with_notes.pdf", SaveFormat.Pdf);

ノートスライドビューでPowerPointをPDFに変換

この C# コードは、ノートを含む PDF を生成するために PowerPoint プレゼンテーションを変換する方法を示しています:

// PowerPoint プレゼンテーションをロードします。
using var presentation = new Presentation("NotesFile.pptx");

// Notes レイアウトで PDF オプションを設定します。
var pdfOptions = new PdfOptions
{
    SlidesLayoutOptions = new NotesCommentsLayoutingOptions
    {
        NotesPosition = NotesPositions.BottomFull
    }
};

// プレゼンテーションをノート付き PDF として保存します。
presentation.Save("PDF_with_notes.pdf", SaveFormat.Pdf, pdfOptions);

PDFのアクセシビリティとコンプライアンス基準

Aspose.Slides は、Web Content Accessibility Guidelines (WCAG) に準拠した変換手順を使用することをサポートしています。次のコンプライアンス標準のいずれかを使用して、PowerPoint ドキュメントを PDF にエクスポートできます:PDF/A1aPDF/A1bPDF/UA

以下の C# コードは、異なるコンプライアンス標準に基づいて複数の PDF を生成する PowerPoint→PDF 変換プロセスを示しています:

using var presentation = new Presentation("pres.pptx");

presentation.Save("pres-a1a-compliance.pdf", SaveFormat.Pdf, new PdfOptions
{
    Compliance = PdfCompliance.PdfA1a
});

presentation.Save("pres-a1b-compliance.pdf", SaveFormat.Pdf, new PdfOptions
{
    Compliance = PdfCompliance.PdfA1b
});

presentation.Save("pres-ua-compliance.pdf", SaveFormat.Pdf, new PdfOptions
{
    Compliance = PdfCompliance.PdfUa
});

FAQ

複数の PowerPoint ファイルを一括で PDF に変換できますか?

はい、Aspose.Slides は複数の PPT または PPTX ファイルをバッチ変換して PDF に変換することをサポートしています。ファイルをループ処理し、プログラムから変換プロセスを適用できます。

変換後の PDF にパスワード保護を設定できますか?

もちろんです。PdfOptions クラスを使用して、変換中にパスワードとアクセス許可を設定できます。

PDF に非表示スライドを含めるにはどうすればよいですか?

PdfOptions クラスの ShowHiddenSlides プロパティを true に設定すると、結果の PDF に非表示スライドが含まれます。

Aspose.Slides は PDF の画像品質を高く保てますか?

はい、JpegQualitySufficientResolution などのプロパティを PdfOptions クラスで設定することで、PDF 内の画像を高品質に保つことができます。

Aspose.Slides は PDF/A のコンプライアンス標準をサポートしていますか?

はい、Aspose.Slides は PDF/A1a、PDF/A1b、PDF/UA などのさまざまな標準に準拠した PDF のエクスポートを可能にし、アクセシビリティとアーカイブ要件を満たします。

追加リソース