Добрый день!
Столкнулись с ошибкой конвертации Excel в PDF - обрезается первая жирная строчка (Baskerville-Bold).
Проблема воспроизводится на приложенном файле.
Ниже приведен код конвертации.
Conversion details.7z (855.0 KB)
var resultStream = new MemoryStream();
try
{
var workbook = new Aspose.Cells.Workbook(inputStream);
var saveOptions = this.GetCellsSaveOptions(workbook, saveParameters);
var substitutionWarningHandler = new ExcelDocumentSubstitutionWarnings();
saveOptions.WarningCallback = substitutionWarningHandler;
workbook.Save(resultStream, saveOptions);
if (substitutionWarningHandler.FontWarnings.Any())
{
this.HandleFontSubstitutions(substitutionWarningHandler.FontWarnings.Select(x => x.Description));
}
}
catch (Exception ex)
{
resultStream.Close();
throw;
}
return resultStream;
@directum
Добрый день!
Благодарим вас за предоставленные файлы (Baskerville.zip, Original.xls, Result.pdf) и фрагмент кода.
Нам удалось воспроизвести описанную проблему. При конвертации файла в PDF первая строка текста «1. ПРЕАМБУЛА И РЕКВИЗИТЫ СТОРОН», оформленная шрифтом Baskerville-Bold, действительно отображается некорректно — верхняя часть символов оказывается обрезанной. По предварительным данным, это связано с расчетом высоты строки или ограничивающей рамки (bounding box) для данного конкретного начертания шрифта.
Мы открыли следующие новые тикеты в нашей внутренней системе отслеживания ошибок и предоставим исправления в соответствии с условиями, указанными в Free Support Policies.
ID задачи: CELLSNET-60134
Вы можете воспользоваться Paid Support Services, если вам требуется приоритетная поддержка и прямой доступ к нашей команде управления платной поддержкой.
@directum ,
В вашем файле “Result.pdf” используется шрифт “Calibri”, что указывает на отсутствие шрифта “Baskerville” в вашей среде.
После установки шрифта “Baskerville” в моей среде и преобразования в PDF с помощью следующего кода из Aspose.Cells для .NET 26.4, всё работает нормально.
Workbook wb = new Workbook("Original.xls");
//wb.Worksheets[0].PageSetup.PrintGridlines = true;
wb.Save($"output_{CellsHelper.GetVersion()}.pdf");
output_26.4.pdf (17.9 KB)
Кстати, файл “Result.pdf”, который вы прислали, был обработан Aspose.PDF после сохранения в Aspose.Cells. Если проблема сохраняется, пожалуйста, пришлите файл с результатом, сохраненный непосредственно в Aspose.Cells.