Как избавиться от пустых страниц в PDF, экспортированных из SSRS

У меня есть отчет SSRS. Когда я пытался экспортировать в PDF, он занимал 4 страницы из-за своей ширины, где 2-я и 4-я страницы отображали одно из моих полей из таблицы. Поэтому я попытался установить размер макета в свойствах отчета как width = 18in и height = 8.5in.

Он дал мне всю таблицу на одной странице PDF. Но я получаю 2-й и 4-й страницы. Является ли способ, который я делаю, неверен или как избавиться от этих пустых страниц?

Ответ 1

В BIDS или SSDT-BI выполните следующие действия:

  • Нажмите "Отчет" > "Свойства отчета" > вкладка "Макет" (вкладка "Параметры страницы" в SSDT-BI)
  • Обратите внимание на значения Ширина страницы, Левое поле, Правое поле
  • Закройте и вернитесь к поверхности дизайна.
  • В окне "Свойства" выберите Тело
  • Нажмите символ +, чтобы развернуть размер node
  • Обратите внимание на значение Ширина

Изобразить в PDF правильно Ширина тела + Левое поле + Правое поле должно быть меньше или равно ширине страницы. Когда вы видите пустые страницы, которые отображаются, это почти всегда, потому что ширина тела плюс поля больше ширины страницы.

Помните: (ширина тела + левое поле + правое поле) <= (ширина страницы)

Ответ 2

Еще одна вещь, которую следует попробовать, - установить свойство отчета с именем ConsumeContainerWhitespace на True (по умолчанию это false). То, как это разрешилось для меня.

Ответ 3

После нескольких часов борьбы с этой проблемой я наткнулся на решение, которое сработало для меня:

В SSDT (2012) у меня первоначально были настройки страницы/страницы, настроенные на сантиметры. Когда я изменил это на Inches, как ни странно, я смог экспортировать свой отчет в PDF, не имея пустой страницы.

enter image description here

Ответ 4

Лучше сделать это на поверхности дизайна (Visual Studio 2012 показывается, но может быть сделано в других версиях), прежде чем вычислять любые математические данные при редактировании документа SSRS.

Ниже приведенные ниже цифры в красных кругах, которые соответствуют следующим шагам:

  • На поверхности дизайна иногда редактор создает page, который больше, чем фактические элементы управления; следовательно, область призрака печатается.
  • Изменить размеры элементов управления. Визуально посмотрите на ширину/высоту и посмотрите, не можете ли вы принести на странице на поверхности дизайна, чтобы определить размер, необходимый для элементов управления, и не более того.
  • Затем попробуйте создать PDF файл и посмотреть, исправляет ли он это.
  • Если # 3 не решает проблему, тогда есть элементы управления, требующие слишком большого объема фактического размера страницы и переходящие по длине/ширине. Поэтому нужно будет уменьшить размер элементов управления меньшим размером страницы.

Steps to manually remediate


Также в некоторых случаях можно просто изменить свойство страницы отчета, установив ConsumeContainerWhitespace в true для автоматического использования пробелов.

Ответ 5

Если страницы опущены из SSRS, вам нужно настроить макет отчета. Это будет намного более эффективно, чем запуск вывода и последующий процесс для устранения побочных эффектов проблемы макета.

SSRS очень тонкая, когда дело доходит до того, что вы нажимаете границы полей. Легко просто расширить/увеличить отчет, просто отредактировав текстовое поле или другое управление в отчете. Внимательно проверьте свойства ширины и высоты поверхности отчета и максимально сжимайте их. Следите за большими колонтитулами.

Ответ 6

Проблема для меня заключалась в том, что SSRS намеренно относится к вашему пробелу, как если бы вы предполагали, что это будет выполнено:

enter image description here

Также как и пробел, убедитесь, что нет правого поля.

Ответ 7

В дополнение к полям, наиболее распространенной проблемой на сегодняшний день, я также видел две дополнительные возможности:

  • Использование + для конкатенации текста. Вместо этого следует использовать &.
  • Текст переполняет ширину указанного текстового поля. Поэтому, если ваше текстовое поле содержит только 30 символов, и вы пытаетесь втиснуть 300 там, вы можете получить дополнительные страницы.

Ответ 8

Вы пытались выяснить, есть ли пробелы справа от вашего отчета? Если это так, вы можете перетащить его обратно в конец вашего отчета, а затем перетащите его обратно в ту же точку.

Ответ 9

На вкладке свойств отчета (myReport.rdlc) измените атрибут "Keep Together" на False. Я некоторое время боролся с этой проблемой, и это, похоже, решило мою проблему. enter image description here

Ответ 10

Я работал с SSRS уже более 10 лет, и ответы выше - это ответы. НО. Если ничего не работает, и вы полностью набиты... удалите элементы из отчета, пока проблема не исчезнет. Как только вы определили, какая строка или элемент отчета вызывает проблему, поместите ее в контейнер прямоугольника. Это. Помог нам много раз! Дополнительные страницы в основном вызваны тем, что элементы отчета перетекают через правую границу. Когда все остальное не удается, помещение вещей внутри прямоугольника или пустой прямоугольник справа от элемента может остановить это. Удачи там!

Ответ 11

Если ваш отчет включает в себя подчиненный отчет, ширина подзаголовка может подтолкнуть границы тела, если подрепорту и иерархии разрешено расти. У меня возникла аналогичная проблема с подзаголовком, который можно поместить в ячейку (охватывая 2 столбца). Похоже, что span мог содержать его в дизайнере, и он отлично отображался в winform или в браузере, и изначально он мог генерировать вывод на принтер (или файл pdf), не переливаясь на лишние страницы.
Затем, изменив некоторые другие ширины столбцов (и не превышая ширину тела плюс поля), визуализация winform и браузера выглядела отлично, но когда был создан выход (принтер или pdf), он провалился за поля и написал правую сторону каждой страницы в качестве второй (четвертой и т.д.) страницы. Я мог бы устранить свою проблему, увеличив количество столбцов, в которые был помещен подзаголовок.
Независимо от того, используете ли вы вложенные отчеты, если у вас есть переполнение страницы, а дизайн вашего тела соответствует границам страницы, найдите что-то, что разрешено для роста, которое выталкивает ширину тела.

Ответ 12

Я успешно использовал pdftk для удаления страниц, которые мне не нужны/нужны в pdf. Вы можете скачать программу здесь

Вы можете попробовать что-то вроде следующего. Взято из здесь в примерах

Удалите "стр. 13" из файла in1.pdf, чтобы создать out1.pdf pdftk in.pdf cat 1-12 14-end выход out1.pdf

или:

pdftk A = in1.pdf cat A1-12 Выход A14-end out1.pdf