Cara menyingkirkan halaman kosong dalam PDF yang diekspor dari SSRS

194

Saya memiliki laporan SSRS dua halaman. Ketika saya mengekspornya ke PDF, ia mengambil 4 halaman karena lebarnya, di mana halaman ke-2 dan ke-4 menampilkan salah satu bidang saya dari tabel. Saya mencoba mengatur ukuran tata letak di properti laporan sebagai width = 18in dan height = 8.5in.

Itu memberi saya seluruh tabel dalam satu halaman PDF, tetapi saya masih mendapatkan halaman 2 dan 4 kosong.

Apakah cara saya melakukan itu salah? Bagaimana lagi saya bisa menyingkirkan halaman-halaman kosong itu?

Tandai Hions
sumber

Jawaban:

344

Di BIDS atau SSDT-BI, lakukan hal berikut:

  1. Klik pada Report> Report Properties> tab Layout (tab Page Setup dalam SSDT-BI)
  2. Catat nilai-nilai untuk lebar halaman , margin kiri , margin kanan
  3. Tutup dan kembali ke permukaan desain
  4. Di jendela Properties, pilih Body
  5. Klik simbol + untuk memperluas node Ukuran
  6. Catat nilai untuk Lebar

Untuk merender dalam PDF dengan benar Lebar Tubuh + Tepi kiri + Tepi kanan harus kurang dari atau sama dengan lebar Halaman. Ketika Anda melihat halaman kosong yang dirender itu hampir selalu karena lebar badan ditambah margin lebih besar dari lebar halaman.

Ingat: (Lebar Tubuh + Marjin kiri + Marjin kanan) <= (Lebar halaman)

Nathan Griffiths
sumber
14
Tidak bekerja Lebar tubuh saya kurang dari "Lebar laporan - margin". Dan masih ada banyak halaman kosong di sana.
Adolf bawang putih
2
@adolfgarlic Saya telah menemukan bahwa pengaturan lebar halaman tidak selalu berfungsi dengan benar di bawah properti laporan. Sudahkah Anda mencoba menyeret lebar laporan secara manual di Visual Studio? Itu menyelesaikan masalah ini untuk saya hari ini setelah membenturkan kepala ke dinding untuk sementara waktu. Akan bernilai memeriksa lebar header / footer Anda juga, mereka mungkin sedikit terlalu besar.
Michael A
15
Saya menemukan bahwa aturan yang berfungsi di sini bukan (Lebar Tubuh + Marjin kiri + Marjin kanan) <= (Lebar halaman) tetapi lebih seperti (Lebar Tubuh + Marjin kiri + Marjin kanan) <(Lebar halaman-1cm)
Jafin
3
Juga hal lain yang perlu diperhatikan adalah ketinggian tajuk + badan + catatan kaki + margin atas + bawah <Ketinggian Halaman selain itu halaman akan mengalir dalam beberapa halaman.
desiguy
4
Saat Anda membuat laporan untuk pertama kalinya, pembangun menjalankan area putih ("Tubuh" yang Nathan sebutkan) melintasi lebar layar untuk menaruh barang. Biasanya, area putih ini lebarnya 17 inci pada layar kotak surat yang lebih baru. Apa yang tidak jelas secara intuitif adalah bahwa ini dianggap sebagai objek yang dapat dicetak, dan perlu dipersempit sesuai dengan lebar barang yang Anda letakkan di atasnya. Jika Anda tidak melakukan ini, Anda akan mendapatkan halaman kosong, tidak peduli semua hal lain yang disebutkan semua orang.
BobRodes
112

Hal lain yang harus dicoba adalah mengatur properti laporan dipanggil ConsumeContainerWhitespaceke True(defaultnya adalah false). Begitulah cara terselesaikan bagi saya.

Kepompong
sumber
2
Yap, bekerja untuk saya juga. Saya punya wadah dengan tablix dengan grup kolom. Jelas wadah tumbuh mengandung kelompok kolom dan tanpa memakan ruang putih wadah itu akan meluap batas halaman.
Ciarán
4
Ini jelas merupakan kunci bagi saya. Saya selalu memanfaatkan jawaban yang diterima oleh Nathan, dengan hasil yang beragam. Dalam setiap kasus di mana solusi Nathan tidak menyelesaikan masalah, yang satu ini berhasil. Ketahuilah bahwa Anda masih harus memanfaatkan apa yang disarankan Nathan.
bojingo
YA x100! Sayang sekali Anda tidak dapat memiliki 2 "jawaban yang diterima", karena sepertinya program yang tepat adalah kombinasi dari keduanya dan yang diterima. Kudos untuk Anda!
NateJ
2
Aduh, ambil kembali. Saya menggunakan VS 2017 SSRS / SSDT; Butuh beberapa waktu untuk mencari tahu Anda harus menggunakan Properti jendela untuk menemukan fitur ini, tidak dengan Report Properties...dialog.
codeMonkey
1
yang bekerja untuk saya setelah berjuang untuk sementara waktu ... terima kasih banyak
Joel_J
28

Setelah berjam-jam berjuang dengan masalah ini, saya menemukan solusi yang bekerja untuk saya:

Di SSDT (2012), saya awalnya mengatur Halaman Pengaturan / unit Halaman saya ke Centimeter. Ketika saya mengubah ini menjadi Inci, anehnya, saya dapat mengekspor laporan saya ke PDF tanpa setiap halaman lainnya kosong.

masukkan deskripsi gambar di sini

sion_corn
sumber
Ini bekerja dengan baik untuk saya. Mengubah inci ke Cm akan berhasil atau sebaliknya, tetapi tidak perlu menempel pada Cm. Satu hal lagi adalah, perlu menetapkan margin untuk setidaknya 1cm maka laporan dihasilkan tanpa halaman kosong tambahan.
Ravi Shankar
21

Lebih baik untuk melakukan ini pada permukaan desain ( Visual Studio 2012 ditampilkan tetapi dapat dilakukan dalam versi lain ) terlebih dahulu sebelum menghitung matematika saat mengedit dokumen SSRS.

Di bawah angka-angka berikut dalam lingkaran merah yang memetakan ke langkah-langkah berikut:

  1. Di permukaan desain, terkadang editor akan membuat page yang lebih besar dari kontrol yang sebenarnya; karenanya daerah hantu dicetak.
  2. Ubah ukuran ke kontrol. Secara visual lihat lebar / tinggi dan lihat apakah Anda tidak dapat membawa halaman pada permukaan desain untuk ukurannya ke ruang yang sebenarnya dibutuhkan oleh kontrol dan tidak lebih.
  3. Kemudian cobalah untuk membuat PDF dan lihat apakah itu memperbaikinya.
  4. Jika # 3 tidak menyelesaikan masalah, maka ada kontrol yang membutuhkan terlalu banyak dari ukuran halaman aktual dan masuk dalam salah satu panjang / lebar. Jadi orang perlu membuat ukuran kontrol lebih kecil untuk mengakomodasi ukuran halaman yang lebih kecil.

Langkah-langkah untuk memulihkan secara manual


Juga dalam beberapa keadaan satu hanya dapat mengubah properti dari halaman laporan dengan menetapkan ConsumeContainerWhitespaceuntuk truesecara otomatis mengkonsumsi ruang.

GamegaMan
sumber
2
Terima kasih! Saya tahu itu harus lebih sederhana daripada melalui angka dan melakukan matematika. Saya tidak sadar bahwa itu mencetak whitepace hanya karena badan laporan itu sebesar itu.
Tor
Mengatur ConsumeContainerWhitespace ke true melakukannya untuk saya. Saya sudah membersihkan lebar lapor, badan, dan meja saya
Jon Dosmann
18

Masalahnya bagi saya adalah SSRS dengan sengaja memperlakukan ruang putih Anda seolah-olah Anda ingin dihormati:

masukkan deskripsi gambar di sini

Selain ruang putih, pastikan tidak ada margin yang tepat.

Jeremy Thompson
sumber
1
Hai @ jeremy-thompson, tip Anda sangat berguna. Cheers
Andy K
1
Menghapus margin yang tepat berhasil untuk saya dan tidak memengaruhi rendering dalam penampil laporan web atau PDF.
andrej351
1
5 tahun kemudian, ini adalah untuk saya.
MPJ567
17

Jika halaman kosong berasal dari SSRS, Anda perlu mengubah tata letak laporan Anda. Ini akan jauh lebih efisien daripada menjalankan output melalui dan memposting proses untuk memperbaiki efek samping dari masalah tata letak.

SSR sangat rewel ketika mendorong batas-batas margin. Mudah untuk secara tidak sengaja memperluas / memperpanjang laporan hanya dengan menyesuaikan kotak teks atau kontrol lain pada laporan. Periksa properti lebar dan tinggi permukaan laporan dengan hati-hati dan peras sebanyak mungkin. Perhatikan header dan footer besar.

HectorMac
sumber
5

Selain margin, masalah yang paling umum sejauh ini, saya juga melihat dua kemungkinan tambahan:

  1. Menggunakan +untuk menggabungkan teks. Anda harus menggunakannya &sebagai gantinya.
  2. Teks melebihi lebar kotak teks yang ditentukan. Jadi jika kotak teks Anda hanya menampung 30 karakter dan Anda mencoba menjejalkan 300 di sana, Anda mungkin berakhir dengan halaman tambahan.
Joshua Drake
sumber
5

Saya telah bekerja dengan SSR selama lebih dari 10 tahun dan jawaban di atas adalah jawaban langsung. TAPI. Jika tidak ada yang berhasil, dan Anda benar-benar diisi .... hapus item dari laporan hingga masalahnya hilang. Setelah Anda mengidentifikasi baris atau item laporan mana yang menyebabkan masalah, letakkan di dalam wadah persegi panjang. Itu dia. Telah membantu kami berkali-kali! Halaman ekstra sebagian besar disebabkan oleh item laporan yang mengalir di atas margin kanan. Ketika semuanya gagal, meletakkan benda-benda di dalam persegi panjang atau persegi panjang kosong di sebelah kanan item, dapat menghentikan hal ini terjadi. Semoga beruntung!

LucasF
sumber
Ini berhasil untuk saya. Dengan menambahkan kolom kosong tambahan ke dalam tabel, laporan saya dalam format pdf tidak menunjukkan halaman kosong tambahan ..!
firefly
4

Sudahkah Anda mencoba melihat apakah ada ruang putih di sebelah kanan laporan Anda? Jika demikian, Anda dapat menariknya kembali ke akhir laporan dan kemudian seret latar belakang laporan kembali ke tempat yang sama.

pengguna2585349
sumber
4

Pada tab properti laporan (myReport.rdlc), ubah atribut "Keep Together" menjadi False. Saya telah berjuang dengan masalah ini untuk sementara waktu dan ini tampaknya telah menyelesaikan masalah saya. masukkan deskripsi gambar di sini

Omar
sumber
2

Jika laporan Anda menyertakan subreport, lebar subreport dapat mendorong batas tubuh jika subreport dan hierarki diizinkan tumbuh. Saya memiliki masalah yang sama muncul dengan subreport yang dapat ditempatkan di sel (mencakup 2 kolom). Itu tampak seperti rentang dapat mengandungnya di perancang dan itu diberikan baik-baik saja di winform atau browser dan, pada awalnya, itu bisa menghasilkan output printer (atau file pdf) tanpa tumpah ke halaman berlebih.
Kemudian, setelah mengubah beberapa lebar kolom lainnya (dan tanpa melebihi lebar badan ditambah margin), rendering winform dan peramban tampak masih tampak baik-baik saja tetapi ketika output (printer atau pdf) dihasilkan, ia tumbuh melewati margin dan menulis sisi kanan dari setiap halaman sebagai halaman ke-2 (ke-4, dll.). Saya bisa menghilangkan masalah saya dengan menambah colspan tempat subreport ditempatkan.
Apakah Anda menggunakan sub-laporan atau tidak, jika Anda memiliki limpahan halaman dan desain tubuh Anda sesuai dengan margin halaman, cari sesuatu yang diperbolehkan tumbuh yang mendorong lebar badan keluar.

Bill1260231
sumber
2

Baru-baru ini saya mewarisi laporan yang perlu saya buat beberapa perubahan. Setelah mengikuti semua rekomendasi di atas, itu tidak membantu. Laporan tersebut secara historis memiliki halaman tambahan ini, dan tidak ada yang tahu mengapa.

Saya mengklik kanan pada tablix dan properti yang dipilih. Ada kotak centang dicentang yang mengatakan tambahkan istirahat halaman setelah. Setelah menghapus ini, ia mencetak pada satu halaman sekarang.

masukkan deskripsi gambar di sini

crh225
sumber
-3

Saya telah berhasil menggunakan pdftk untuk menghapus halaman yang tidak saya inginkan / butuhkan dalam pdf. Anda dapat mengunduh programnya di sini

Anda dapat mencoba sesuatu seperti yang berikut ini. Diambil dari sini di bawah contoh

Hapus 'halaman 13' dari in1.pdf untuk membuat out1.pdf pdftk in.pdf cat 1-12 14-end output out1.pdf

atau:

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

vinc456
sumber