Почему Aspose.Cells отрезает верхнюю половину моего текста при экспорте в PDF (или TIFF или XPS)?

Я использую Aspose.Cells для создания отчета для экспорта в Excel и PDF. В ячейке A1 у меня есть текст, размер шрифта которого равен 20. Когда я сохраняю эту книгу в файл PDF, верхняя половина текста обрезается.

Вот скриншот файла PDF:

введите здесь описание изображения

Я попытался отрегулировать высоту первой строки с помощью AutoFitRow(int), но это не решило мою проблему. Мой код для воспроизведения этого очень короткий:

static void Main(string[] args)
{
    Program.Licenses(); //only sets licenses

    var wb = new Aspose.Cells.Workbook();
    var ws = wb.Worksheets[0];
    var cell = ws.Cells[0, 0];

    cell.Value = "Text is cutoff";

    var style = cell.GetStyle();
    style.Font.Size = 20;
    cell.SetStyle(style);

    ws.AutoFitRow(1); //doesn't prevent text cutoff

    wb.Save(@"C:\Users\guest\Desktop\file2.pdf", Aspose.Cells.SaveFormat.Pdf);
}

Что я делаю не так, из-за чего верхняя половина моего текста обрезается? текст также обрезается, если я экспортирую в Tiff или XPS. Однако это выглядит нормально, если я экспортирую в XLSX.

Информация о версии:

  • Aspose.Cells.DLL: версия среды выполнения = v2.0.50727, версия = 8.1.2.0
  • Aspose.Pdf.DLL: версия среды выполнения = v4.0.30319, версия 9.5.0.0

person user2023861    schedule 13.08.2014    source источник


Ответы (1)


Эта строка была проблемой:

ws.AutoFitRow(1); //doesn't prevent text cutoff

Аргумент должен быть равен нулю, а не единице. Если я изменю это на приведенное ниже, это сработает.

ws.AutoFitRow(0);

Изменить: если ячейки объединены, вам нужно использовать AutoFitterOptions, чтобы сообщить коду, который соответствует объединенным ячейкам:

ws.AutoFitRow(0, 0, 1, new Aspose.Cells.AutoFitterOptions() { AutoFitMergedCells = true });
person user2023861    schedule 14.08.2014