Использование Gembox.Spreadsheets для преобразования .Xlsx в PDF

Я искал бесплатные альтернативы Spire.Xls, которые позволяют мне конвертировать из формата .Xlsx в .PDF, пока Gembox отлично с этим справляется. Тем не менее, я не могу правильно масштабировать, и, насколько я знаю, ни у кого не было такой проблемы. Я пытаюсь установить масштабирование на 93% от исходного размера с 0 полями вокруг. Однако я не могу найти документацию кода, в которой это упоминается. Его нет и в их файлах образцов.

Кто-нибудь с опытом работы с этой DLL знает, где я должен искать?


person Aroueterra    schedule 09.02.2017    source источник


Ответы (1)


Используйте следующее:

var workbook = ExcelFile.Load("Sample.xlsx");

foreach (var worksheet in workbook.Worksheets)
{
    var printOptions = worksheet.PrintOptions;
    printOptions.LeftMargin =
    printOptions.RightMargin =
    printOptions.TopMargin =
    printOptions.BottomMargin = 0;

    printOptions.AutomaticPageBreakScalingFactor = 93;
}

var saveOptions = new PdfSaveOptions();
saveOptions.SelectionType = SelectionType.EntireFile;

workbook.Save("Sample Output.pdf", saveOptions);

Кроме того, я не уверен, почему именно вы хотите использовать масштабирование 93%, но если вы хотите добиться соответствия всех столбцов рабочего листа ширине одной страницы, вам следует вместо этого использовать следующее:

//printOptions.AutomaticPageBreakScalingFactor = 93;
printOptions.FitWorksheetWidthToPages = 1;
person Mario Z    schedule 10.02.2017
comment
О, так они существуют. Работает отлично до сих пор. Однако несколько вопросов. GemBox, похоже, не включает текст, написанный в текстовых полях, в отличие от ячейки, есть ли способ включить их? Сюда входят линии, белые прямоугольники, которые я сделал, но все они по какой-то причине исключены. - person Aroueterra; 10.02.2017
comment
К сожалению, нет, элементы формы (в том числе TextBox, Line, Rectangle и т. д.) в настоящее время не поддерживаются через GemBox.Spreadsheet 4.1 API, они поддерживаются только через сохранение (загрузка и сохранение в том же формате файла). Есть запрос функции, за который вы можете проголосовать, чтобы повысить его приоритет (но на данный момент я не могу сказать, когда он будет доступен): support.gemboxsoftware.com/feedback/view/ - person Mario Z; 10.02.2017
comment
Последние версии GemBox.Spreadsheet поддерживают элементы Shape и TexBox, см. формы Excel. и примеры Excel TextBox. - person Mario Z; 28.03.2020