ExcelワークブックをPDFに変換する
PDFファイルは、組織、政府部門、個人間で文書を交換するために広く使用されています。これは標準のドキュメント形式であり、ソフトウェア開発者はしばしばMicrosoft ExcelファイルをPDFドキュメントに変換する方法を見つけるよう求められます。
Aspose.Cellsは、ExcelファイルをPDFに変換する機能をサポートし、変換時に高い視覚的忠実度を維持します。
Aspose.Cells for .NETは出力ドキュメントにAPIおよびバージョン番号に関する情報を直接書き込みます。たとえば、[Aspose.Cells v23.2]などの値でPDF Producerフィールドを埋めます。
出力ドキュメントでこの情報を変更することができることに注意してください。
直接変換
Aspose.Cells for .NETは他のソフトウェアに依存せずにスプレッドシートからPDFへの変換をサポートしています。WorkbookクラスのSaveメソッドを使用してExcelファイルをPDFに保存します。Saveメソッドは、ネイティブのExcelファイルをPDF形式に変換するSaveFormat.Pdf列挙型メンバーを提供します。
以下の手順に従って、Excelスプレッドシートを直接PDF形式に変換します:
- 空のコンストラクタを呼び出してWorkbookクラスのオブジェクトをインスタンス化します。
- 既存のテンプレートファイルを開いたり読み込んだりするか、ワークブックをゼロから作成している場合は、この手順をスキップします。
- Aspose.CellsのAPIを使用して、スプレッドシート上で作業を行います(入力データ、書式設定の適用、数式の設定、画像の挿入など)。
- スプレッドシートのコードが完了したら、WorkbookクラスのSaveメソッドを呼び出してスプレッドシートを保存します。
ファイル形式はPDFである必要がありますので、SaveFormat列挙型からPdf(事前に定義された値)を選択して最終的なPDFドキュメントを生成します。
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
// Instantiate the Workbook object | |
// Open an Excel file | |
Workbook workbook = new Workbook(dataDir + "Book1.xls"); | |
// Save the document in PDF format | |
workbook.Save(dataDir + "output.pdf", SaveFormat.Pdf); | |
高度な変換
異なる属性を設定するためにPdfSaveOptionsクラスを使用したり、出力PDFの印刷、フォント、セキュリティ、圧縮設定を制御するためにPdfSaveOptionsクラスの異なるプロパティを設定することもできます。
Complianceは最も重要なプロパティで、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形式に保存する方法を示しています。
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
// Instantiate new workbook | |
Workbook workbook = new Workbook(); | |
// Insert a value into the A1 cell in the first worksheet | |
workbook.Worksheets[0].Cells[0, 0].PutValue("Testing PDF/A"); | |
// Define PdfSaveOptions | |
PdfSaveOptions pdfSaveOptions = new PdfSaveOptions(); | |
// Set the compliance type | |
pdfSaveOptions.Compliance = PdfCompliance.PdfA1b; | |
// Save the file | |
workbook.Save(dataDir + "output.pdf", pdfSaveOptions); |
PDF作成時間の設定
PdfSaveOptions クラスを使用すると、PDF作成時刻を取得または設定することができます。次のコードは、PdfSaveOptions.CreatedTime プロパティを使用してPDFファイルの作成時刻を設定する方法を示しています。
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
string inputPath = dataDir + "Book1.xlsx"; | |
// Load excel file containing charts | |
Workbook workbook = new Workbook(inputPath); | |
// Create an instance of PdfSaveOptions | |
PdfSaveOptions options = new PdfSaveOptions(); | |
options.CreatedTime = DateTime.Now; | |
// Save the workbook to PDF format while passing the object of PdfSaveOptions | |
workbook.Save(dataDir + "output.pdf", options); |
ContentCopyForAccessibilityオプションの設定
PdfSaveOptions クラスを使用すると、変換されたPDFのコンテンツアクセスを制御するためのPDF AccessibilityExtractContent オプションを取得または設定できます。
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
//Source directory | |
string sourceDir = RunExamples.Get_SourceDirectory(); | |
//Output directory | |
string outputDir = RunExamples.Get_OutputDirectory(); | |
string inputPath = sourceDir + "BookWithSomeData.xlsx"; | |
// Load excel file containing some data | |
Workbook workbook = new Workbook(inputPath); | |
// Create an instance of PdfSaveOptions and pass SaveFormat to the constructor | |
PdfSaveOptions pdfSaveOpt = new PdfSaveOptions(); | |
// Create an instance of PdfSecurityOptions | |
PdfSecurityOptions securityOptions = new PdfSecurityOptions(); | |
// Set AccessibilityExtractContent to true | |
securityOptions.AccessibilityExtractContent = false; | |
// Set the securityoption in the PdfSaveOptions | |
pdfSaveOpt.SecurityOptions = securityOptions; | |
// Save the workbook to PDF format while passing the object of PdfSaveOptions | |
workbook.Save(outputDir + "outFile.pdf", pdfSaveOpt); |
PDFへのカスタムプロパティのエクスポート
PdfSaveOptions クラスを使用すると、元のワークブック内のカスタムプロパティをPDFにエクスポートすることができます。プロパティのエクスポート方法を指定するために PdfCustomPropertiesExport 列挙型が提供されています。これらのプロパティは、次の画像に示すように、Adobe Acrobat Readerで[ファイル]をクリックして[プロパティ]オプションをクリックすることで観察することができます。テンプレートファイル “sourceWithCustProps.xlsx” はこちらからダウンロードでき、解析用の出力PDFファイル “outSourceWithCustProps” はこちらで利用できます。
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// Load excel file containing custom properties | |
Workbook workbook = new Workbook("sourceWithCustProps.xlsx"); | |
// Create an instance of PdfSaveOptions | |
PdfSaveOptions pdfSaveOptions = new PdfSaveOptions(); | |
// Set CustomPropertiesExport property to PdfCustomPropertiesExport.Standard | |
pdfSaveOptions.CustomPropertiesExport = Aspose.Cells.Rendering.PdfCustomPropertiesExport.Standard; | |
// Save the workbook to PDF format while passing the object of PdfSaveOptions | |
workbook.Save("outSourceWithCustProps.pdf", pdfSaveOptions); |
変換属性
新しいリリースごとに変換機能を強化しています。Aspose.CellのExcelからPDFへの変換にはまだいくつかの制限があります。MapChartはPDF形式への変換時にサポートされていません。また、一部の図形オブジェクトには十分なサポートがありません。
以下の表は、Aspose.Cellsを使用してPDFにエクスポートする際に完全または部分的にサポートされているすべての機能をリストしています。この表は最終的なものではなく、すべてのスプレッドシート属性を網羅していませんが、PDFへの変換にはサポートされていないまたは部分的にサポートされている機能を特定しています。
ドキュメント要素 | 属性 | サポート | 注釈 |
---|---|---|---|
配置 | はい | ||
背景設定 | はい | ||
ボーダー | 色 | はい | |
ボーダー | 線のスタイル | はい | |
ボーダー | 線の幅 | はい | |
セルデータ | はい | ||
コメント | はい | ||
条件付き書式 | はい | ||
ドキュメントプロパティ | はい | ||
図形オブジェクト | 部分的 | 図形オブジェクトの影や3D効果には十分なサポートがありません。WordArtとSmartArtは部分的にサポートされています。 | |
フォント | サイズ | はい | |
フォント | 色 | はい | |
フォント | スタイル | はい | |
フォント | 下線 | はい | |
フォント | 効果 | はい | |
画像 | はい | ||
ハイパーリンク | はい | ||
チャート | 部分的に | MapChartはサポートされていません。 | |
セルの結合 | はい | ||
改ページ | はい | ||
ページ設定 | ヘッダー/フッター | はい | |
ページ設定 | 余白 | はい | |
ページ設定 | ページの向き | はい | |
ページ設定 | ページサイズ | はい | |
ページ設定 | 印刷範囲 | はい | |
ページ設定 | 印刷タイトル | はい | |
ページ設定 | 拡大/縮小 | はい | |
行の高さ/列の幅 | はい | ||
右から左への言語 | はい |
高度なトピック
- PDFブックマークを追加
- 名前付き目次でPDFブックマークを追加する
- 出力PDFの空白ページを回避する
- PDFへの変換時に特定のUnicode文字のフォントを変更する
- PDFに変換する際のMS Excelブックの外部リソースの読み込みを制御する
- 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および画像内の文字列の交差方法を指定