GolangとC++経由でExcelをPDFに変換
ExcelワークブックをPDFに変換する
PDFファイルは、企業、政府機関、個人間で文書を交換するために広く使用されています。標準的な文書形式であり、ソフトウェア開発者からはMicrosoft ExcelファイルをPDFに変換する方法の提案をよく求められます。
Aspose.Cellsは、ExcelファイルをPDFに変換する機能をサポートし、変換時に高い視覚的忠実度を維持します。
Aspose.Cells for C++は、出力ドキュメントにAPIとバージョン番号についての情報を直接書き込みます。例えば、ドキュメントをPDFにレンダリングするとき、Aspose.Cells for C++はPDFプロデューサフィールドに値(例:‘Aspose.Cells v23.2’)を設定します。
この情報は、PdfSaveOptions.GetProducer()プロパティを使用して出力ドキュメント内で変更可能です。
直接変換
Aspose.Cells for C++は、他のソフトウェアに依存せずにスプレッドシートからPDFへの変換をサポートします。WorkbookクラスのSaveメソッドを使ってExcelファイルをPDFに保存します。Saveメソッドは、ネイティブなExcelファイルをPDF形式に変換するためのSaveFormat.Pdf列挙型のメンバーを提供します。
以下の手順に従って、Excelスプレッドシートを直接PDF形式に変換します:
- Workbookクラスの空コンストラクターを呼び出してオブジェクトを作成します。
- 既存のテンプレートファイルを開いたり読み込んだりするか、ワークブックをゼロから作成している場合は、この手順をスキップします。
- Aspose.CellsのAPIを使用してスプレッドシート上で任意の作業(データの入力、書式設定の適用、数式の設定、画像やその他の描画オブジェクトの挿入など)を行います。
- スプレッドシートのコードが完了したら、WorkbookクラスのSaveメソッドを呼び出してスプレッドシートを保存します。
ファイル形式はPDFを選択し、SaveFormat列挙型からPdf(事前定義された値)を選ぶことで最終的なPDFドキュメントを生成します。
高度な変換
また、PdfSaveOptionsクラスを使用して変換の異なる属性を設定することも可能です。PdfSaveOptionsクラスのさまざまなプロパティを設定することで、出力PDFの印刷、フォント、セキュリティ、圧縮設定を制御できます。
最も重要なプロパティはGetCompliance()で、これによりPDFの標準準拠レベルを設定できます。現在、PDF 1.4、PDF 1.5、PDF 1.6、PDF 1.7、PDF/A-1a、PDF/A-1b、PDF/A-2a、PDF/A-2b、PDF/A-2u、PDF/A-3a、PDF/A-2ab、PDF/A-3u形式で保存可能です。PDF/A形式を使用すると、出力ファイルのサイズは通常のPDFより大きくなることに注意してください。
PDF/A準拠ファイルへのワークブックの保存
以下のコードスニペットは、PdfSaveOptionsクラスを使用してExcelファイルをPDF/A準拠のPDF形式に保存する方法を示しています。
PDF作成時間の設定
PdfSaveOptionsクラスを使用すると、PDFの作成時間を取得または設定できます。次のコードは、PdfSaveOptions.GetCreatedTime()プロパティを使ってPDFの作成時間を設定する例です。
ContentCopyForAccessibilityオプションの設定
PdfSaveOptionsクラスを使って、PDFのGetAccessibilityExtractContent()オプションを取得または設定し、変換されたPDFの内容アクセスを制御できます。
PDFへのカスタムプロパティのエクスポート
PdfSaveOptionsクラスを使用して、ソースワークブックのカスタムプロパティをPDFにエクスポートできます。PdfCustomPropertiesExport列挙体は、プロパティのエクスポート方法を指定するために提供されます。これらのプロパティは、Adobe Acrobat Readerの[ファイル]→[プロパティ]をクリックして確認できます。テスト用のテンプレートファイル"sourceWithCustProps.xlsx"はこちらからダウンロードでき、出力PDFファイル"outSourceWithCustProps"はこちらで確認できます。

変換属性
私たちは新しいリリースごとに変換機能の強化に努めています。Aspose.CellsのExcelからPDFへの変換にはいくつかの制限があります。MapChartはPDF形式への変換時にサポートされていません。また、一部の描画オブジェクトもうまくサポートされていません。
以下の表は、Aspose.Cellsを使用してPDFにエクスポートする際に完全または部分的にサポートされているすべての機能を一覧にしています。こちらの表は最終版ではなく、すべてのスプレッドシート属性を網羅しているわけではありませんが、サポートされていないまたは部分的にサポートされている機能を特定しています。
| ドキュメント要素 | 属性 | サポート状況 | 備考 |
|---|---|---|---|
| 配置 | はい | ||
| 背景設定 | はい | ||
| 境界線 | 色 | はい | |
| 境界線 | 線種 | はい | |
| 境界線 | 線の太さ | はい | |
| セルのデータ | はい | ||
| コメント | はい | ||
| 条件付き書式 | はい | ||
| ドキュメントのプロパティ | はい | ||
| 描画オブジェクト | 一部のみサポート | 描画オブジェクトのシャドウと3D効果は十分にサポートされていません。WordArtとSmartArtは部分的にサポートされています。 | |
| フォント | サイズ | はい | |
| フォント | 色 | はい | |
| フォント | スタイル | はい | |
| フォント | 下線 | はい | |
| フォント | 効果 | はい | |
| 画像 | はい | ||
| ハイパーリンク | はい | ||
| チャート | 一部のみサポート | MapChartはサポートされていません。 | |
| 結合セル | はい | ||
| ページ区切り | はい | ||
| ページ設定 | ヘッダー/フッター | はい | |
| ページ設定 | マージン | はい | |
| ページ設定 | ページ方向 | はい | |
| ページ設定 | ページサイズ | はい | |
| ページ設定 | 印刷範囲 | はい | |
| ページ設定 | 印刷タイトル | はい | |
| ページ設定 | 拡大縮小 | はい | |
| 行高さ/列幅 | はい | ||
| RTL(右から左)言語 | はい |
高度なトピック
- 名前付き目次でPDFブックマークを追加する
- PDFへの変換時に特定のUnicode文字のフォントを変更する
- XLSXファイルをPDF形式に変換
- PDFA-1aに準拠したExcelファイルをPDF形式に変換する
- 画像やチャートを含むXLSファイルをPDFに変換
- チャートシートの PdfBookmarkEntry を作成
- 1つのPDFページでワークシートのすべての列を表示する
- DrawObjectEventHandlerクラスを使用してPDFへのレンダリング中にDrawObjectとバインドを取得
- Excelファイルを変換する際のフォントの置換に関する警告を取得
- Excel を PDF にレンダリングする際のエラーを無視
- 生成されるページ数を制限する - ExcelからPDFへの変換
- PDFへ保存する際にコメントを印刷する
- ExcelをPDFに変換する際のOffice Add-Insのレンダリング
- Excelのワークシートごとに1つのPDFページをレンダリング - ExcelからPDFへの変換
- Aspose.Cellsによる出力PDFでUnicode補助文字をレンダリングする
- 追加された画像のリサンプリング - ExcelからPDFへの変換
- 異なるPDFファイルごとに各ワークシートを保存
- 標準または最小サイズでExcelをPDFに保存
- 指定されたワークシートをPDFに保存
- PDFドキュメントをセキュアにする
- 出力PDFおよび画像内の文字列の交差方法を指定