ExcelワークブックをPDFに変換する

ExcelワークブックをPDFに変換する

PDFファイルは、組織、政府部門、個人間で文書を交換するために広く使用されています。これは標準のドキュメント形式であり、ソフトウェア開発者はしばしばMicrosoft ExcelファイルをPDFドキュメントに変換する方法を見つけるよう求められます。

Aspose.Cellsは、ExcelファイルをPDFに変換する機能をサポートし、変換時に高い視覚的忠実度を維持します。

直接変換

Aspose.Cellsは、他のソフトウェアに依存せずにスプレッドシートからPDFへの変換をサポートしています。WorkbookクラスのSaveメソッドを使用して、Excelファイルを単独でPDFに保存できます。SaveFormat_Pdf列挙メンバーを使用して、ネイティブExcelファイルをPDF形式に変換します。

以下の手順に従って、Excelスプレッドシートを直接PDF形式に変換します:

  1. 空のコンストラクタを呼び出してWorkbookクラスのオブジェクトをインスタンス化します。
  2. 既存のテンプレートファイルを開いたり読み込んだりするか、ワークブックをゼロから作成している場合は、この手順をスキップします。
  3. Aspose.CellsのAPIを使用して、スプレッドシート上で作業を行います(入力データ、書式設定の適用、数式の設定、画像の挿入など)。
  4. スプレッドシートのコードが完成したら、WorkbookクラスのSaveメソッドを呼び出してスプレッドシートを保存してください。

ファイル形式はPDFである必要があるため、最終的なPDFドキュメントを生成するためにSaveFormat列挙型から関連するPDF(事前定義された値)を選択してください。

次のサンプルコードと、参照用のサンプルExcelファイルおよび出力PDFファイルをご覧ください。

Aspose::Cells::Startup();
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-C
// Source directory path.
U16String srcDir(u"..\\Data\\01_SourceDirectory\\");
// Output directory path.
U16String outDir(u"..\\Data\\02_OutputDirectory\\");
// Path of input Excel file
U16String sampleConvertExcelWorkbookToPDF = srcDir+ u"sampleConvertExcelWorkbookToPDF.xlsx";
// Path of output Pdf file
U16String outputConvertExcelWorkbookToPDF = outDir+ u"outputConvertExcelWorkbookToPDF_DirectConversion.pdf";
// Load the sample Excel file.
Workbook workbook(sampleConvertExcelWorkbookToPDF);
// Save the Excel Document in PDF format
workbook.Save(outputConvertExcelWorkbookToPDF, SaveFormat::Pdf);
Aspose::Cells::Cleanup();

高度な変換

変換の異なる属性を設定するためにPdfSaveOptionsクラスを使用することもできます。PdfSaveOptionsクラスの異なるプロパティを設定すると、出力PDFの印刷、フォント、セキュリティ、および圧縮設定を制御できます。 最も重要なプロパティはSetComplianceであり、ExcelファイルをPDF/A準拠のPDFファイルとして保存できます。

PDF/A準拠ファイルへのワークブックの保存

次のコードスニペットは、PdfSaveOptionsクラスを使用してExcelファイルをPDF/A準拠のPDF形式で保存する方法を示しています。

次のサンプルコードと、参照用の出力PDFをご覧ください。

Aspose::Cells::Startup();
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-C
// Output directory path.
U16String outDir(u"..\\Data\\02_OutputDirectory\\");
// Path of output Pdf file.
U16String outputConvertExcelWorkbookToPDF = outDir+ u"outputConvertExcelWorkbookToPDF_PdfCompliance_PdfA1b.pdf";
// Create an empty workbook.
Workbook workbook;
// Access first worksheet.
Worksheet worksheet = workbook.GetWorksheets().Get(0);
// Access cell A1.
Cell cell = worksheet.GetCells().Get(u"A1");
// Add some text in cell.
cell.PutValue(u"Testing PDF/A");
// Create pdf save options object.
PdfSaveOptions pdfSaveOptions;
// Set the compliance to PDF/A-1b.
pdfSaveOptions.SetCompliance(PdfCompliance::PdfA1b);
// Save the Excel Document in PDF format
workbook.Save(outputConvertExcelWorkbookToPDF, pdfSaveOptions);
Aspose::Cells::Cleanup();

PDF作成時間の設定

IPdfSaveOptionsクラスを使用すると、PDFの作成時間を取得または設定できます。

次のサンプルコードと、参照用の出力PDFをご覧ください。

Aspose::Cells::Startup();
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-C
// Output directory path.
U16String outDir(u"..\\Data\\02_OutputDirectory\\");
// Path of output Pdf file.
U16String outputConvertExcelWorkbookToPDF = outDir + u"outputConvertExcelWorkbookToPDF_PDFCreationTime.pdf";
// Create an empty workbook.
Workbook workbook;
// Access first worksheet.
Worksheet worksheet = workbook.GetWorksheets().Get(0);
// Access cell A1.
Cell cell = worksheet.GetCells().Get(u"A1");
// Add some text in cell.
cell.PutValue(u"PDF Creation Time is 25-May-2017.");
// Create pdf save options object.
PdfSaveOptions pdfSaveOptions;
// Set the created time for the PDF i.e. 25-May-2017
pdfSaveOptions.SetCreatedTime(Date{2017, 5, 25});
// Save the Excel Document in PDF format
workbook.Save(outputConvertExcelWorkbookToPDF, pdfSaveOptions);
Aspose::Cells::Cleanup();