Ответ очень похож на то, что сказал Дуган, но это не всегда только поля.
Это довольно просто:
Когда вы редактируете файл rdlc в режиме разработки, сначала нажмите на пустую часть области BODY вашего дизайна. Нажмите F4, чтобы увидеть вкладку свойств. Здесь вы увидите свойство «Размер». Это может быть расширен для ширины и высоты. Ширина, которую вы видите здесь, представляет собой ширину, которая требуется для тела вашего отчета в качестве области для печати. Даже если у вас есть пробелы по всему, страница знает, что нужно сохранить ее как область для печати. Это в некотором смысле резервирует пространство. Что касается высоты, система обычно знает, что она может увеличиваться или уменьшаться по мере необходимости, если вы не указали иное в своих элементах управления. Таким образом, ширина - это то, что, как правило, будет играть наиболее важную роль.
Затем щелкните пустую область отчета (за пределами верхнего колонтитула, основного текста и нижнего колонтитула; в основном, серую область вокруг дизайна), затем нажмите F4, чтобы просмотреть панель свойств. Под категорией свойств «Макет» вы увидите 3 различных варианта:
InteractiveSize,
Поля,
Размер страницы.
Каждый из этих атрибутов размера может быть расширен для отображения ширины и высоты. Атрибут Margins можно расширить для левого / правого / верхнего / нижнего.
По сути, экспорт в pdf работает вне PageSize (хотя я обычно стараюсь, чтобы Interactive и Размер страницы были одинаковыми). Когда файл PDF отображается с помощью встроенной функции экспорта ReportViewer, ширина и высота каждой «страницы» в PDF-файле будет определяться шириной и высотой в атрибуте PageSize отчета (вы можете переопределить это, если использовали свой собственный пользовательский код для рендеринга PDF).
Что касается полей, они указывают, сколько места ДОЛЖНО быть оставлено пустым и недоступным для печати между областью печати, зарезервированной для вашего отчета, и краем страницы.
Другими словами:
Ширина тела вашего отчета, плюс левое поле отчета, плюс правое поле отчета, ДОЛЖНЫ быть меньше или равны ширине страницы PageSize отчета!
Так что ... если ваши поля слишком широки, или если тело вашего отчета слишком широкое, или если ширина PageSize слишком узкая, результат рендеринга должен быть разбит на несколько страниц, чтобы соответствовать!
Например: если тело моего отчета имеет ширину 7,75 дюйма, мое левое поле равно 0,5 дюйма, мое правое поле равно 0,5 дюйма, а ширина, указанная в PageSize, равна 8,5 дюйма, мой отчет всегда будет использовать 2 страницы для каждого 1 страница данных. Ширина тела 7,75 дюйма плюс 0,5 дюйма + 0,5 дюйма для полей в сумме составляют 8,75 дюйма, что больше, чем 8,5 дюйма, доступного на моей странице. Таким образом, первые 7,5 дюйма (или около того) каждой страницы моего отчета Тело будет показано на первой странице, а остальные будут разделены на следующую страницу. Это не будет сделано в средстве просмотра отчетов, так как оно позволяет увеличить размер отчета за пределы размера страницы, просто добавив полосу прокрутки, но это будет досадно заметно при экспорте в PDF.
Чтобы привести пример отчета на 1 странице, я могу либо попытаться уменьшить размер моего отчета до 7,5 "или менее, либо уменьшить левую и правую поля в целом на 0,25" или более (например, установите их на 0,3 "для полного уменьшения на 0,4"), или я могу увеличить PageSize до чего-то большего, чем 8,75 ".
Примечание: Acrobat Reader довольно умный и знает о различных размерах бумаги. Поэтому, хотя произвольные размеры страницы будут работать, обычно лучше использовать реальные размеры страниц. Таким образом, в моем последнем примере я бы предпочел установить для PageSize значение Width = 11 "и Height = 8.5", что является реальным размером букв в альбомной ориентации! Adobe обычно понимает это и печатает правильно.
Также обратите внимание: на некоторых принтерах, особенно старых, возникают проблемы с печатью с полями менее 0,3 ". Если вы хотите быть удобными для своих пользователей, лучше всего держать поля достаточно большими для этих старых принтеров;)
Надеюсь, это поможет.