ExcelワークブックをPDFに変換する
ExcelワークブックをPDFに変換する
PDFファイルは、組織、政府部門、個人間で文書を交換するために広く使用されています。これは標準のドキュメント形式であり、ソフトウェア開発者はしばしばMicrosoft ExcelファイルをPDFドキュメントに変換する方法を見つけるよう求められます。
Aspose.Cellsは、ExcelファイルをPDFに変換する機能をサポートし、変換時に高い視覚的忠実度を維持します。
Aspose.Cellsは、出力ドキュメントにAPIとバージョン番号に関する情報を直接書き込みます。たとえば、DocumentをPDFにレンダリングすると、Applicationフィールドに ‘Aspose.Cells’ という値が、PDF Producerフィールドに ‘Aspose.Cells v18.5.0’ という値が埋め込まれます。
なお、この情報を出力ドキュメントから変更または削除するようAspose.Cells for C++に指示することはできません。
直接変換
Aspose.Cellsは、他のソフトウェアに依存せずにスプレッドシートからPDFへの変換をサポートしています。WorkbookクラスのSaveメソッドを使用して、Excelファイルを単独でPDFに保存できます。SaveFormat_Pdf列挙メンバーを使用して、ネイティブExcelファイルをPDF形式に変換します。
以下の手順に従って、Excelスプレッドシートを直接PDF形式に変換します:
- 空のコンストラクタを呼び出してWorkbookクラスのオブジェクトをインスタンス化します。
- 既存のテンプレートファイルを開いたり読み込んだりするか、ワークブックをゼロから作成している場合は、この手順をスキップします。
- Aspose.CellsのAPIを使用して、スプレッドシート上で作業を行います(入力データ、書式設定の適用、数式の設定、画像の挿入など)。
- スプレッドシートのコードが完成したら、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(); |