SSRSからエクスポートされたPDFの空白ページを取り除く方法


194

2ページのSSRSレポートがあります。PDFにエクスポートしたとき、幅が原因で4ページが必要でした。2ページ目と4ページ目には、テーブルのフィールドの1つが表示されていました。レポートプロパティのレイアウトサイズを幅= 18インチ、高さ= 8.5インチに設定しようとしました。

PDFの1ページで表全体が表示されましたが、2ページ目と4ページ目は空白のままです。

私のやり方は間違っていますか?他にどのようにしてこれらの空白ページを取り除くことができますか?

回答:


344

BIDSまたはSSDT-BIで、次の手順を実行します。

  1. [レポート]> [レポートプロパティ]> [レイアウト]タブ(SSDT-BIの[ページ設定]タブ)をクリックします。
  2. ページ幅左マージン右マージンの値を書き留めます
  3. 閉じてデザイン画面に戻ります
  4. プロパティウィンドウで、ボディを選択します。
  5. +記号をクリックして、サイズノードを展開します。
  6. の値を書き留めます

PDFで正しくレンダリングするには、本文の幅+左マージン+右マージンがページ幅以下でなければなりません。空白のページがレンダリングされているのを確認するときは、ほとんどの場合、本文の幅とマージンの合計がページの幅よりも大きいためです。

覚えておいてください:(本文の幅+左マージン+右マージン)<=(ページ幅)


14
動作しません。本文の幅が「レポートの幅-余白」未満です。それでも、そこには大量の空白ページがあります。
アドルフニンニク

2
@adolfgarlicレポートのプロパティでは、ページ幅の設定が常に正しく機能するとは限りません。Visual Studioでレポートの幅を手動でドラッグしてみましたか?これで、頭を壁にぶつけた後、今日この問題が解決しました。ヘッダー/フッターの幅も確認する価値がありますが、少し大きすぎる可能性があります。
マイケルA

15
ここで機能したルールは(本文の幅+左マージン+右マージン)<=(ページ幅)ではなく、(本文の幅+左マージン+右マージン)<(ページ幅
-1cm

3
また、注意すべきもう1つの点は、ヘッダー+ボディ+フッター+上+下マージンの高さ<ページの高さです。
desiguy 2014

4
初めてレポートを作成するとき、ビルダーは画面の幅全体に白い領域(Nathanが言及する「ボディ」)を実行して、ものを配置します。通常、この白い領域は、新しいレターボックス画面では17インチ幅です。直感的に明らかではないのは、これは印刷可能なオブジェクトと見なされ、配置するものの幅に狭める必要があることです。これを行わないと、誰もが言及する他のすべてのものに関係なく、空白のページが表示されます。
BobRodes 2014

112

試しにもう一つは設定しているレポートのプロパティと呼ばれるConsumeContainerWhitespaceにはTrue(デフォルトはありますfalse)。それは私にとってそれが解決された方法です。


2
うん、私のためにも働いた。列グループのあるTablixのコンテナーがあります。明らかに、コンテナーは列グループを含むように拡大しており、コンテナーの空白を消費せずにページ境界をオーバーフローすることになります。
シアラン

4
これは確かに私にとって鍵でした。私は常にネイサンによって受け入れられた答えを利用し、結果はまちまちです。ネイサンの解決策が問題を解決しなかったそれぞれのケースで、これはトリックをしました。ネイサンの提案を引き続き利用する必要があることに注意してください。
bojingo 14

はいx100!適切なコースはこれと承認されたものの両方の組み合わせであるように見えるので、2つの「承認された回答」を持つことはできません。どうぞよろしくお願いいたします。
NateJ 2016

2
おっと、それを取り戻します。私はVS 2017 SSRS / SSDTを使用しています。ダイアログではなく、この機能を見つけるには[ プロパティ] ウィンドウを使用する必要があることを理解するのにしばらく時間がかかりました。Report Properties...
codeMonkey 2017

1
それはしばらく苦労した後私のために働いた...どうもありがとう
Joel_J '18

28

この問題に何時間も取り組んだ後、私は自分に役立つ解決策を見つけました。

SSDT(2012)では、最初に[ページ設定] / [ページ単位]をセンチメートルに設定していました。不思議なことに、これをインチに変更したとき、他のすべてのページを空白にすることなくレポートをPDFにエクスポートできました。

ここに画像の説明を入力してください


これは完璧に機能しました。インチをCmに変更しても、その逆も機能しますが、Cmを使用する必要はありません。もう1つは、少なくとも1cmのマージンを設定する必要があるため、追加の空のページなしでレポートが生成されます。
Ravi Shankar、

21

SSRSドキュメントを編集するときに数学を計算する前に、デザインサーフェイスでこれを行うことをお勧めします(Visual Studio 2012が表示されていますが、他のバージョンでも実行できます)。

以下の手順に対応する赤い丸で囲まれた以下の番号の下:

  1. デザインサーフェイスでは、エディターがpage実際のコントロールよりも大きいを作成することがあります。したがって、ゴースト領域が印刷されます。
  2. コントロールのサイズを変更します。幅/高さを視覚的に確認し、デザインサーフェイスのページ 取り込んで、コントロールが実際に必要とするスペースに合わせてサイズを変更できないかどうかを確認します。
  3. 次に、PDFを作成して、問題が解決するかどうかを確認します。
  4. #3で問題が解決しない場合は、実際のページサイズを必要としすぎて、長さ/幅のどちらかを超えるコントロールがあります。したがって、ページサイズを小さくするには、コントロールのサイズを小さくする必要があります。

手動で修正する手順


また、状況によっては、設定することでレポートページのプロパティを変更できます。 ConsumeContainerWhitespacetrueは、スペースを自動的に消費するようにをすることます。


2
ありがとうございました!数字を調べて数学をするよりも簡単でなければならないことを知っていました。レポートの本文が非常に大きかったからといって、ホワイトペースで印刷されていることに気づきませんでした。
Tor

ConsumeContainerWhitespaceをtrueに設定すると、私にとってはうまくいきました。レポート、本文、テーブルの幅はすでにクリーンアップしていた
Jon Dosmann 2017

18

私にとっての問題は、SSRSが意図的にあなたの空白を尊重するように扱うことでした。

ここに画像の説明を入力してください

空白と同様に、右マージンがないことを確認してください。


1
こんにちは、@ jeremy-thompsonさん。こて先はとても便利です。乾杯
アンディK

1
右マージンを削除しても問題なく動作し、WebレポートビューアまたはPDFでのレンダリングには影響しませんでした。
andrej351 2017年

1
5年後、これは私のためのものでした。
MPJ567

17

SSRSからのページが空白の場合は、レポートのレイアウトを微調整する必要があります。これは、レイアウトの問題の副作用を修復するために出力プロセスと後処理を実行するよりもはるかに効率的です。

マージンの限界を押し上げることに関しては、SSRSは非常に厄介です。レポートのテキストボックスやその他のコントロールを調整するだけで、レポートを誤って広げたり、長くしたりするのは簡単です。レポートサーフェイスの幅と高さのプロパティを注意深く確認し、できるだけ絞り込みます。大きなヘッダーとフッターに注意してください。


5

これまでで最も一般的な問題であるマージンに加えて、私はさらに2つの可能性を見てきました。

  1. +テキストを連結するために使用します。&代わりに使用する必要があります。
  2. 指定されたテキストボックスの幅をオーバーフローしたテキスト。したがって、テキストボックスに30文字しか含まれておらず、そこに300文字を詰め込もうとすると、余分なページが表示される可能性があります。

5

私はSSRSを10年以上使用してきました。上記の答えがゴートゥアンサーです。だが。何も機能せず、完全に詰まっている場合...問題がなくなるまで、レポートから項目を削除します。問題の原因となっている行またはレポートアイテムを特定したら、四角形のコンテナー内に配置します。それでおしまい。何度も助けてくれました!余分なページは、ほとんどの場合、レポートアイテムが右マージンを超えて流れていることが原因です。他のすべてが失敗した場合、長方形または空の長方形内にアイテムの右側に配置すると、これが発生するのを防ぐことができます。頑張ってください!


それは私のために働きました。テーブルに余分な空の列を追加することにより、PDF形式のレポートに余分な空白ページが表示されません。
ホタル

4

レポートの右側に空白があるかどうかを確認しようとしましたか?その場合は、レポートの最後までドラッグしてから、レポートの背景を同じ場所にドラッグして戻すことができます。


4

レポート(myReport.rdlc)の[プロパティ]タブで、[一緒に保持]属性をFalseに変更します。この問題にしばらく取り組んでいますが、これで問題が解決したようです。 ここに画像の説明を入力してください


2

レポートにサブレポートが含まれている場合、サブレポートと階層を拡張できると、サブレポートの幅が本文の境界を押し上げる可能性があります。セル(2列にまたがる)に配置できるサブレポートでも同様の問題が発生しました。スパンはデザイナでそれを含むことができ、Winformまたはブラウザで正常にレンダリングされたように見え、最初は、余分なページにこぼれることなく、プリンタ出力(またはPDFファイル)を生成できました。
次に、他のいくつかの列幅を変更した後(および本文の幅とマージンを超えることなく)、winformとブラウザーのレンダリングはまだ問題なく見えましたが、出力(プリンターまたはpdf)が生成されると、マージンを超えて右側に書きました各ページの2番目(4番目など)のページ。サブレポートが配置される場所のcolspanを増やすことで問題を解決できました。
サブレポートを使用しているかどうかに関係なく、ページのスピルオーバーがあり、本文のデザインがページのマージン内に収まる場合は、本文の幅を広げて拡大できるものを探します。


2

私は最近、いくつかの変更を加える必要があるという報告を受け継ぎました。上記の推奨事項をすべて実行しても、効果はありませんでした。レポートには歴史的にこの余分なページがあり、誰もその理由を理解できませんでした。

Tablixを右クリックして、プロパティを選択しました。後に改ページを追加するように指示するチェックボックスがチェックされていました。これを削除すると、1ページに印刷されます。

ここに画像の説明を入力してください


-3

私はpdftkを使用して、PDFで不要なページを削除しました。ここからプログラムをダウンロードできます

次のようなことを試してみてください。例の下でここから撮影

in1.pdfから「ページ13」を削除して、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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.