2016-11-13 2 views
0

я пытаюсь загрузить файл первенствовать и шоу в xpsdocument просмотра, следующий кодКак установить размер страницы в ConvertToXpsDocument (SaveOptions.XpsDefault);

  XpsDocument xpsDocument = ef.ConvertToXpsDocument(SaveOptions.XpsDefault); 

      documentViewer.Tag = xpsDocument; 

      documentViewer.Document = xpsDocument.GetFixedDocumentSequence(); 

Это работает до сих пор. Проблема в том, что во время преобразования изменяется размер страницы. Похоже, что предполагается размещение размером от 8 до 11 дюймов, и документ растягивается. Документ Excel предназначен для документов формата A4. Это означает, что ширина увеличивается, а последний столбец переходит на следующую страницу.

Как я могу повлиять на размер бумаги и ширину рамки для SaveOptions.XpsDefault ??

ответ

0

Формат A4 составляет 8,267 "x 11,692", поэтому кажется, что предположение верно. Тем не менее, вы можете изменить размер бумаги, как в следующем:

ExcelWorksheet ws = ef.Worksheets.ActiveWorksheet; 
ws.PrintOptions.PaperType = PaperType.A4; 

Однако, что касается содержания, перемещаемых на следующую страницу, это потребует исследования содержимого вашего файла Excel.
Но в случае, если вы заинтересованы вы можете явно указать, что ширина Контента (и/или высота) должны помещаться на одной странице, как следующее:

ws.PrintOptions.FitWorksheetWidthToPages = 1; 

Последнее в отношении границ, вы можете указать ширину, используя LineStyle.

+0

Спасибо за ваш ответ. Но файл excel полностью в порядке и печатает perfekt при отправке на принтер. Проблема заключается только в преобразовании в xpsdoc. Я контактирую с gembox и получил исправление, которое решает часть проблемы. они сказали мне, что самая новая версия работает правильно. – user1230268

+1

с новейшей версией 4.1 проблема решена. Это была просто ошибка в версии 3.7 – user1230268