Android で PPT と PPTX を PDF に変換(高度な機能を含む)
概要
Android で PowerPoint プレゼンテーション(PPT、PPTX、ODP など)を PDF 形式に変換すると、さまざまなデバイス間での互換性が確保され、プレゼンテーションのレイアウトや書式が保持されます。このガイドでは、プレゼンテーションを PDF に変換する方法、画像品質を制御するオプション、非表示スライドの含め方、PDF ファイルへのパスワード保護、フォント置換の検出、変換対象スライドの選択、出力ドキュメントへのコンプライアンス標準の適用方法を示します。
PowerPoint to PDF 変換
Aspose.Slides を使用すると、次の形式のプレゼンテーションを PDF に変換できます。
- PPT
- PPTX
- ODP
プレゼンテーションを PDF に変換するには、ファイル名を Presentation クラスの引数として渡し、save メソッドで PDF として保存します。Presentation クラスは、プレゼンテーションを PDF に変換する際に通常使用される save メソッドを提供します。
NOTE
Aspose.Slides for Android via Java は、API 情報とバージョン番号を出力ドキュメントに挿入します。たとえば、プレゼンテーションを PDF に変換すると、Application フィールドに「Aspose.Slides」が、PDF Producer フィールドに「Aspose.Slides v XX.XX」の形式で値が設定されます。注意:出力ドキュメントからこの情報を削除または変更するよう指示することはできません。Aspose.Slides では、次の変換が可能です。
- プレゼンテーション全体を PDF に変換
- プレゼンテーションから特定のスライドだけを PDF に変換
Aspose.Slides はプレゼンテーションを PDF にエクスポートし、結果の PDF が元のプレゼンテーションに極めて近い形になるようレンダリングします。変換時に正確に描画される要素と属性は次のとおりです。
- 画像
- テキスト ボックスとシェイプ
- テキスト書式
- 段落書式
- ハイパーリンク
- ヘッダーとフッター
- 箇条書き
- 表
PowerPoint を PDF に変換
標準の PowerPoint‑to‑PDF 変換プロセスはデフォルトオプションを使用します。この場合、Aspose.Slides は最高品質レベルの最適設定でプレゼンテーションを PDF に変換しようとします。
以下のコードは、プレゼンテーション(PPT、PPTX、ODP など)を PDF に変換する方法を示しています。
// PowerPoint または OpenDocument ファイルを表す Presentation クラスのインスタンスを作成します。
Presentation presentation = new Presentation("PowerPoint.ppt");
try {
// プレゼンテーションを PDF として保存します。
presentation.save("PPT-to-PDF.pdf", SaveFormat.Pdf);
} finally {
presentation.dispose();
}
オプション付きで PowerPoint を PDF に変換
Aspose.Slides は、PdfOptions クラスのプロパティとしてカスタム オプションを提供し、結果の PDF をカスタマイズしたり、パスワードでロックしたり、変換プロセスの動作を指定したりできます。
カスタム オプションで PowerPoint を PDF に変換
カスタム変換オプションを使用すると、ラスター画像の品質設定、メタファイルの取り扱い、テキストの圧縮レベル、画像の DPI などを自由に定義できます。
以下のコード例は、複数のカスタム オプションを使用して PowerPoint プレゼンテーションを PDF に変換する方法を示しています。
// PdfOptions クラスのインスタンスを作成します。
PdfOptions pdfOptions = new PdfOptions();
// Set the quality for JPG images.
pdfOptions.setJpegQuality((byte)90);
// Set DPI for images.
pdfOptions.setSufficientResolution(300);
/// メタファイルの動作を設定します。
pdfOptions.setSaveMetafilesAsPng(true);
// テキストコンテンツの圧縮レベルを設定します。
pdfOptions.setTextCompression(PdfTextCompression.Flate);
// PDF コンプライアンスモードを定義します。
pdfOptions.setCompliance(PdfCompliance.Pdf15);
// PowerPoint または OpenDocument ファイルを表す Presentation クラスのインスタンスを作成します。
Presentation presentation = new Presentation("PowerPoint.pptx");
try {
// プレゼンテーションを PDF ドキュメントとして保存します。
presentation.save("PowerPoint-to-PDF.pdf", SaveFormat.Pdf, pdfOptions);
} finally {
presentation.dispose();
}
非表示スライドを含めて PowerPoint を PDF に変換
プレゼンテーションに非表示スライドが含まれる場合、PdfOptions クラスの setShowHiddenSlides メソッドを使用して、非表示スライドを結果の PDF のページとして含めることができます。
以下のコードは、非表示スライドを含めて PowerPoint プレゼンテーションを PDF に変換する方法を示しています。
// PowerPoint または OpenDocument ファイルを表す Presentation クラスのインスタンスを作成します。
Presentation presentation = new Presentation("PowerPoint.pptx");
try {
// PdfOptions クラスのインスタンスを作成します。
PdfOptions pdfOptions = new PdfOptions();
// 非表示スライドを追加します。
pdfOptions.setShowHiddenSlides(true);
// プレゼンテーションを PDF として保存します。
presentation.save("PowerPoint-to-PDF.pdf", SaveFormat.Pdf, pdfOptions);
} finally {
presentation.dispose();
}
パスワード保護された PDF に PowerPoint を変換
以下のコードは、PdfOptions クラスの保護パラメータを使用して、PowerPoint プレゼンテーションをパスワード保護された PDF に変換する方法を示しています。
// PowerPoint または OpenDocument ファイルを表す Presentation クラスのインスタンスを作成します。
Presentation presentation = new Presentation("PowerPoint.pptx");
try {
// PdfOptions クラスのインスタンスを作成します。
PdfOptions pdfOptions = new PdfOptions();
// PDF のパスワードとアクセス許可を設定します。
pdfOptions.setPassword("password");
pdfOptions.setAccessPermissions(PdfAccessPermissions.PrintDocument | PdfAccessPermissions.HighQualityPrint);
// プレゼンテーションを PDF として保存します。
presentation.save("PPTX-to-PDF.pdf", SaveFormat.Pdf, pdfOptions);
} finally {
presentation.dispose();
}
フォント置換の検出
Aspose.Slides は、PdfOptions クラスの下にある setWarningCallback メソッドを提供し、プレゼンテーションから PDF への変換プロセス中にフォント置換を検出できます。
以下のコードは、フォント置換を検出する方法を示しています。
public static void main(String[] args) {
// PowerPoint または OpenDocument ファイルを表す Presentation クラスのインスタンスを作成します。
Presentation presentation = new Presentation("sample.pptx");
// PDF オプションに警告コールバックを設定します。
PdfOptions pdfOptions = new PdfOptions();
pdfOptions.setWarningCallback(new FontSubstitutionHandler());
// プレゼンテーションを PDF として保存します。
presentation.save("output.pdf", SaveFormat.Pdf, pdfOptions);
}
// 警告コールバックの実装。
private static class FontSubstitutionHandler implements IWarningCallback {
public int warning(IWarningInfo warning) {
if (warning.getWarningType() == WarningType.DataLoss &&
warning.getDescription().startsWith("Font will be substituted")) {
System.out.println("Font substitution warning: " + warning.getDescription());
}
return ReturnAction.Continue;
}
}
レンダリング中のフォント置換に関するコールバック取得の詳細は、Getting Warning Callbacks for Fonts Substitution を参照してください。
フォント置換に関する詳細は、Font Substitution 記事をご覧ください。
選択したスライドだけを PowerPoint から PDF に変換
以下のコードは、PowerPoint プレゼンテーションから特定のスライドだけを PDF に変換する方法を示しています。
// PowerPoint または OpenDocument ファイルを表す Presentation クラスのインスタンスを作成します。
Presentation presentation = new Presentation("PowerPoint.pptx");
try {
// スライド番号の配列を設定します。
int[] slides = { 1, 3 };
// プレゼンテーションを PDF として保存します。
presentation.save("PPTX-to-PDF.pdf", slides, SaveFormat.Pdf);
} finally {
presentation.dispose();
}
カスタム スライドサイズで PowerPoint を PDF に変換
以下のコードは、指定したスライドサイズで PowerPoint プレゼンテーションを PDF に変換する方法を示しています。
float slideWidth = 612;
float slideHeight = 792;
// PowerPoint または OpenDocument ファイルを表す Presentation クラスのインスタンスを作成します。
Presentation presentation = new Presentation("SelectedSlides.pptx");
// スライドサイズを調整した新しいプレゼンテーションを作成します。
Presentation resizedPresentation = new Presentation();
try {
// カスタムスライドサイズを設定します。
resizedPresentation.getSlideSize().setSize(slideWidth, slideHeight, SlideSizeScaleType.EnsureFit);
// 元のプレゼンテーションから最初のスライドをクローンします。
ISlide slide = presentation.getSlides().get_Item(0);
resizedPresentation.getSlides().insertClone(0, slide);
// 調整したプレゼンテーションをノート付きの PDF として保存します。
resizedPresentation.save("PDF_with_notes.pdf", SaveFormat.Pdf);
} finally {
resizedPresentation.dispose();
presentation.dispose();
}
ノート スライド ビューで PowerPoint を PDF に変換
以下のコードは、ノートを含む PDF を作成するために PowerPoint プレゼンテーションを変換する方法を示しています。
// PowerPoint または OpenDocument ファイルを表す Presentation クラスのインスタンスを作成します。
Presentation presentation = new Presentation("SelectedSlides.pptx");
try {
// Notes レイアウトで PDF オプションを設定します。
NotesCommentsLayoutingOptions notesOptions = new NotesCommentsLayoutingOptions();
notesOptions.setNotesPosition(NotesPositions.BottomFull);
PdfOptions pdfOptions = new PdfOptions();
pdfOptions.setSlidesLayoutOptions(notesOptions);
// プレゼンテーションをノート付きの PDF として保存します。
presentation.save("PDF_with_notes.pdf", SaveFormat.Pdf, pdfOptions);
} finally {
presentation.dispose();
}
PDF のアクセシビリティとコンプライアンス標準
Aspose.Slides は、Web Content Accessibility Guidelines (WCAG) に準拠した変換手順を使用できます。次のコンプライアンス標準のいずれかで PowerPoint 文書を PDF にエクスポートできます:PDF/A1a、PDF/A1b、PDF/UA。
以下のコードは、異なるコンプライアンス標準に基づいて複数の PDF を生成する PowerPoint‑to‑PDF 変換プロセスを示しています。
Presentation presentation = new Presentation("pres.pptx");
try {
PdfOptions pdfOptions = new PdfOptions();
pdfOptions.setCompliance(PdfCompliance.PdfA1a);
presentation.save("pres-a1a-compliance.pdf", SaveFormat.Pdf, pdfOptions);
pdfOptions.setCompliance(PdfCompliance.PdfA1b);
presentation.save("pres-a1b-compliance.pdf", SaveFormat.Pdf, pdfOptions);
pdfOptions.setCompliance(PdfCompliance.PdfUa);
presentation.save("pres-ua-compliance.pdf", SaveFormat.Pdf, pdfOptions);
} finally {
presentation.dispose();
}
Note
Aspose.Slides は PDF 変換操作もサポートし、PDF ファイルを一般的な形式に変換できます。PDF to HTML、PDF to image、PDF to JPG、PDF to PNG の変換が可能です。さらに、PDF to SVG、PDF to TIFF、PDF to XML といった特殊フォーマットへの変換もサポートされています。FAQ
複数の PowerPoint ファイルを一括で PDF に変換できますか?
はい、Aspose.Slides は複数の PPT または PPTX ファイルをバッチ変換して PDF に出力できます。ファイルを列挙し、プログラムで変換処理を適用してください。
変換した PDF にパスワードを設定できますか?
もちろんです。PdfOptions クラスを使用して、変換時にパスワードとアクセス許可を設定できます。
PDF に非表示スライドを含めるにはどうすればよいですか?
PdfOptions クラスの setShowHiddenSlides メソッドを使用して、結果の PDF に非表示スライドを含めてください。
Aspose.Slides は PDF の画像品質を高く保てますか?
はい、setJpegQuality や setSufficientResolution などのメソッドを PdfOptions で利用し、高品質な画像を PDF に保持できます。
Aspose.Slides は PDF/A コンプライアンス標準をサポートしていますか?
はい、Aspose.Slides は PDF/A1a、PDF/A1b、PDF/UA などのさまざまな標準に準拠した PDF のエクスポートをサポートし、アクセシビリティと長期保存要件を満たします。