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

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

Это дало мне всю таблицу на одной странице PDF, но я все еще получаю пустыми 2-ую и 4-ую страницы.

Является ли способ, которым я делаю это неправильно? Как еще я могу избавиться от этих пустых страниц?

13 ОТВЕТОВ

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

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

Удалите «страницу 13» из in1.pdf для создания out1.pdf pdftk in.pdf cat 1-12 14-end output out1.pdf

или:

pdftk A = in1.pdf cat A1-12 A14-end output out1.pdf

-2
12.12.2008 15:03:15

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

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

17
12.12.2008 16:09:26

В BIDS или SSDT-BI сделайте следующее:

  1. Нажмите «Отчет»> «Свойства отчета»> «Макет» (вкладка «Параметры страницы» в SSDT-BI).
  2. Запишите значения для ширины страницы , левого поля , правого поля
  3. Закройте и вернитесь к поверхности дизайна
  4. В окне «Свойства» выберите « Тело».
  5. Нажмите на символ +, чтобы развернуть узел Размер
  6. Запишите значение для ширины

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

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

342
12.02.2015 03:50:24
Не работает Ширина моего тела меньше, чем "Ширина отчета - поля". И все же у меня там тонна пустых страниц.
adolf garlic 12.04.2010 08:06:16
@adolfgarlic Я обнаружил, что настройки ширины страницы не всегда работают правильно в свойствах отчета. Вы пытались вручную перетащить ширину отчета в Visual Studio? Это решило эту проблему для меня сегодня после того, как я долго бился об стену. Стоит также проверить ширину верхнего / нижнего колонтитула, она может быть слишком большой.
Michael A 11.01.2012 05:40:49
Я обнаружил, что правило, которое работало здесь, было не (Ширина тела + Левое поле + Правое поле) <= (Ширина страницы), а больше похоже на (Ширина тела + Левое поле + Правое поле) <(Ширина страницы-1 см)
Jafin 14.03.2012 00:57:39
Также следует обратить внимание на высоту верхнего колонтитула + основной текст + нижний колонтитул + верхний край + нижнее поле <высота страницы, иначе страница будет отображаться на нескольких страницах.
desiguy 9.09.2014 13:53:17
Когда вы создаете отчет в первый раз, строитель помещает белую область («Тело», которое упоминает Натан) по ширине экрана, чтобы надеть что-либо. Как правило, эта белая область имеет ширину 17 дюймов на новом экране почтового ящика. Что не является интуитивно очевидным, так это то, что это считается печатаемым объектом, и его необходимо сузить до ширины материала, который вы на него надеваете. Если вы этого не сделаете, вы получите пустые страницы, независимо от всего, что все упоминают.
BobRodes 30.12.2014 15:07:17

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

  1. Использование +для объединения текста. Вы должны использовать &вместо этого.
  2. Текст переполняет ширину указанного текстового поля. Так что, если ваше текстовое поле содержит только 30 символов, и вы пытаетесь вписать туда 300 символов, у вас могут появиться дополнительные страницы.
5
10.04.2012 21:13:21

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

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

введите описание изображения здесь

28
5.12.2012 18:14:40
Это сработало для меня отлично. Изменение дюймов в см будет работать или наоборот, но нет необходимости придерживаться см. Еще одна вещь, необходимо установить поля не менее 1 см, тогда отчет генерируется без дополнительной пустой страницы.
Ravi Shankar 19.02.2017 07:24:59

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

4
16.07.2013 23:24:36

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

110
1.06.2016 21:32:59
Да, работал для меня тоже. У меня есть контейнер с табликсом с группами столбцов. Ясно, что контейнер увеличивался, чтобы содержать группы столбцов, и без использования пустого пространства контейнера он переполнял бы границу страницы.
Ciarán 21.01.2014 14:36:54
Это было, безусловно, ключом для меня. Я всегда использую принятый ответ Натана со смешанными результатами. В каждом случае, когда решение Натана не решало проблему, этот добился цели. Знайте, что вы все еще должны использовать то, что предлагает Натан.
bojingo 21.02.2014 13:58:19
ДА х100! Жаль, что у вас не может быть 2 «принятых ответов», потому что кажется, что правильный курс - это комбинация и этого, и принятого. Слава тебе!
NateJ 31.08.2016 18:55:41
Ой, возьми это обратно. Я использую VS 2017 SSRS / SSDT; Мне потребовалось некоторое время , чтобы выяснить , вы должны использовать Свойства окно , чтобы найти эту функцию, неReport Properties... диалог.
codeMonkey 18.04.2017 17:15:09
это сработало для меня после некоторой борьбы ... большое спасибо
Joel_J 18.04.2019 16:48:33

На вкладке свойств отчета (myReport.rdlc) измените атрибут «Сохранить вместе» на False. Я боролся с этой проблемой некоторое время, и это, кажется, решило мою проблему. введите описание изображения здесь

4
18.12.2014 19:28:31

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

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

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

Шаги по исправлению вручную


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

20
19.06.2017 16:19:26
Спасибо! Я знал, что это должно быть проще, чем разбирать числа и заниматься математикой. Я не знал, что он печатал пустое пространство только потому, что тело отчета было таким большим.
Tor 15.04.2015 13:52:04
Установка ConsumeContainerWhitespace в true сделала это для меня. Хотя я уже очистил свой отчет, ширину тела и ширину таблицы
Jon Dosmann 16.08.2017 17:29:58

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

введите описание изображения здесь

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

17
24.08.2016 01:03:17
Привет @ Джереми-Томпсон, ваш совет оказался очень удобным. Приветствия
Andy K 22.03.2016 09:30:58
Удаление правого поля работало для меня и не влияло на рендеринг ни в программе просмотра веб-отчетов, ни в PDF.
andrej351 9.01.2017 01:27:56

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

5
17.06.2016 10:43:34
Это сработало для меня. Добавив в таблицу дополнительный пустой столбец, мой отчет в формате pdf не содержит лишних пустых страниц ..!
firefly 20.06.2016 11:45:01

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

1
20.03.2017 21:57:23

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

Я щелкнул правой кнопкой мыши на tablix и выбрал свойства. Был отмечен флажок «добавить разрыв страницы после». После удаления он печатается на одной странице.

введите описание изображения здесь

2
29.01.2018 15:41:44