2014-10-13 3 views
4

Я использую MigraDoc и PDFsharp, и мне нужно установить разные поля для каждой страницы в моем документе PDF. ИспользованиеMargin in MigraDoc

document.DefaultPageSetup.RightMargin = 20; 
    document.DefaultPageSetup.LeftMargin = 20; 

Я получаем, что все страницы в моем документе будут иметь одни и те же поля. Как установить поля для каждой страницы в документе? Спасибо

ответ

8

Вы никогда не должны изменять DefaultPageSetup.

В документе можно создать несколько разделов. Вы можете установить PageSetup для каждого раздела по мере необходимости.

Все страницы в разделе будут иметь одинаковый размер страницы (PageSetup). Я предполагаю, что у вас есть только один раздел, и, следовательно, вы меняете все страницы.

+0

Это работает. Я допустил ошибку, полагая, что могу установить «document.DefaultPageSetup.RightMargin = 20;» для установки всех страниц документа и перезаписи определенной страницы с помощью «sixPage.PageSetup.RightMargin = 0;». Спасибо за помощь. – MartinaLabMath

+0

Приятно слышать, как это работает. Когда вы создаете документ MigraDoc, есть разделы и абзацы, но нет страниц. Страницы создаются при рендеринге в PDF. Я не уверен, что вам нужно, но MigraDoc позволяет устанавливать разные поля для четных и нечетных страниц для поддержки двусторонней печати; кроме того, вы можете установить разные поля для первой страницы раздела. Другой подход, который мог бы работать: установить минимальный запас для всех страниц и установить большие поля для некоторых форматов абзацев. Это позволяет смешивать разные поля на одной странице - просто добавьте разрывы страниц, если это нежелательно. –

+0

Последние два предложения растворяют мои сомнения. Я использовал разные поля, чтобы поместить некоторые таблицы и изображения в положение, которое мне нужно на странице. Я не могу разместить таблицу или изображение в определенной позиции на странице, поэтому я решаю проблему, играя с полями. – MartinaLabMath

 Смежные вопросы

  • Нет связанных вопросов^_^