C++を使用して出力されたPDFや画像において文字の折り返し方法を指定する
可能な使用シナリオ
セルにテキストや文字列がセルの幅よりも大きい場合、次の列のセルがnullまたは空であれば、その文字列ははみ出します。ExcelファイルをPDFや画像に保存する際に、このはみ出しをコントロールしたい場合は、TextCrossType列挙型を使用して交差タイプを指定します。次の値があります:
-
TextCrossType.Default:MS Excelのように表示。次のセルに依存します。次のセルがnullの場合、文字列ははみ出すか切り捨てられます。
-
TextCrossType.CrossKeep:MS Excelのように文字列を表示し、PDFや画像にエクスポートします。
-
TextCrossType.CrossOverride:文字列をすべて他のセルにまたがって表示し、また交差したセルのテキストを上書きします。
-
TextCrossType.StrictInCell: セルの幅内で文字列のみを表示します。
TextCrossTypeを使用して出力PDF/イメージで文字列をクロスする方法を指定します。
以下のサンプルコードは、サンプルのExcelファイルを読み込み、異なるTextCrossTypeを指定してPDF/画像形式に保存します。サンプルExcelファイルと出力ファイルは以下のリンクからダウンロード可能です:
サンプルコード
#include <iostream>
#include <memory>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;
using namespace Aspose::Cells::Rendering;
int main()
{
Aspose::Cells::Startup();
// Source directory path
U16String srcDir(u"..\\Data\\01_SourceDirectory\\");
// Output directory path
U16String outDir(u"..\\Data\\02_OutputDirectory\\");
// Load template Excel file
Workbook wb(srcDir + u"sampleCrosssType.xlsx");
// Initialize PDF save options
PdfSaveOptions pdfSaveOptions;
pdfSaveOptions.SetTextCrossType(TextCrossType::StrictInCell);
// Save PDF file
wb.Save(outDir + u"outputCrosssType.pdf", pdfSaveOptions);
// Initialize image or print options
ImageOrPrintOptions imageSaveOptions;
imageSaveOptions.SetTextCrossType(TextCrossType::StrictInCell);
// Initialize sheet renderer object
SheetRender sheetRenderer(wb.GetWorksheets().Get(0), imageSaveOptions);
// Save PNG image
sheetRenderer.ToImage(0, outDir + u"outputCrosssType.png");
Aspose::Cells::Cleanup();
}