Come sbarazzarsi di pagine vuote in PDF esportate da SSRS

Ho un rapporto SSRS. Quando ho provato a esportare in PDF c’erano 4 pagine a causa della sua larghezza., Dove la 2a e la 4a pagina stavano visualizzando uno dei miei campi dal tavolo. Così ho provato a impostare le dimensioni del layout nelle proprietà del report come width = 18in e height = 8.5in.

Mi ha dato l’intera tabella in un’unica pagina di PDF. Ma sto ottenendo la seconda e la quarta pagina in bianco. Il modo in cui sto facendo è errato o altro come sbarazzarsi di quelle pagine bianche?

In BIDS o SSDT-BI, effettuare le seguenti operazioni:

  1. Fare clic su Report> Proprietà report> scheda Layout (scheda Imposta pagina in SSDT-BI)
  2. Prendi nota dei valori per Larghezza pagina , Margine sinistro , Margine destro
  3. Chiudi e torna alla superficie del design
  4. Nella finestra Proprietà, selezionare Corpo
  5. Fai clic sul simbolo + per espandere il nodo Dimensione
  6. Prendere nota del valore per Larghezza

Per eseguire il rendering in PDF correttamente Larghezza corpo + Margine sinistro + Margine destro deve essere minore o uguale alla larghezza della pagina. Quando vedi le pagine vuote da renderizzare è quasi sempre perché la larghezza del corpo più i margini è maggiore della larghezza della pagina.

Ricorda: (Larghezza corpo + margine sinistro + margine destro) <= (larghezza pagina)

Un’altra cosa da provare è impostare la proprietà del report denominata ConsumeContainerWhitespace su True (l’impostazione predefinita è false ). Ecco come è stato risolto per me.

Dopo ore di lotta con questo problema, mi sono imbattuto in una soluzione che ha funzionato per me:

In SSDT (2012), avevo originariamente impostato le unità Imposta pagina / Pagina su Centimetri. Quando ho cambiato questo in Inches, stranamente, sono riuscito a esportare il mio rapporto in PDF senza che nessuna altra pagina fosse vuota.

inserisci la descrizione dell'immagine qui

Se le pagine sono vuote provenienti da SSRS, è necessario modificare il layout del report. Ciò sarà molto più efficiente rispetto all’output e al post processo per riparare gli effetti collaterali di un problema di layout.

SSRS è molto schizzinoso quando si tratta di spingere i confini dei margini. È facile ampliare / allungare accidentalmente il report semplicemente regolando la casella di testo o un altro controllo sul report. Controllare attentamente la larghezza e la proprietà dell’altezza della superficie del report e strizzarli il più ansible. Fai attenzione alle intestazioni e ai piè di pagina di grandi dimensioni.

È meglio farlo sulla superficie di progettazione ( Visual Studio 2012 è mostrato ma può essere fatto in altre versioni ) prima di calcolare qualsiasi matematica quando si modifica un documento SSRS.

Di seguito i seguenti numeri in cerchi rossi che si associano a questi passaggi seguenti:

  1. Nella superficie del disegno, a volte l’editor creerà una page più grande dei controlli effettivi; quindi l’area fantasma viene stampata.
  2. Ridimensiona ai controlli. Guarda visivamente la larghezza / altezza e vedi se non puoi portare la pagina sulla superficie del design per ridimensionarla allo spazio effettivamente necessario ai controlli e non più.
  3. Quindi provare a creare un PDF e vedere se lo risolve.
  4. Se # 3 non risolve il problema, ci sono controlli che richiedono troppa dimensione effettiva della pagina e vanno oltre la lunghezza / larghezza. Quindi sarà necessario ridurre la dimensione dei controlli per adattarsi a una dimensione di pagina più piccola.

Passaggi per rimediare manualmente


Inoltre, in alcune circostanze, è ansible modificare una proprietà della pagina del report impostando ConsumeContainerWhitespace su true per consumare automaticamente gli spazi.

Il problema per me era che l’SSRS tratta di proposito il tuo spazio bianco come se tu intendessi fosse onorato:

inserisci la descrizione dell'immagine qui

Oltre allo spazio bianco, assicurati che non ci sia margine destro.

Oltre ai margini, il problema più comune di gran lunga, ho visto anche due possibilità aggiuntive:

  1. Usare + per concatenare il testo. Dovresti usare & invece.
  2. Testo che trabocca della larghezza della casella di testo specificata. Quindi se la tua casella di testo contiene solo 30 caratteri e provi a racchiudervi 300, potresti finire con pagine extra.

Hai provato a vedere se c’è uno spazio bianco sulla destra del tuo rapporto? In tal caso, è ansible trascinarlo nuovamente alla fine del report e quindi trascinare lo sfondo del report nello stesso punto.

Nella scheda delle proprietà del report (myReport.rdlc), modificare l’attributo “Keep Together” su False. Sono stato alle prese con questo problema per un po ‘e questo sembra aver risolto il mio problema. inserisci la descrizione dell'immagine qui

Ho lavorato con SSRS per oltre 10 anni e le risposte di cui sopra sono il punto di risposta. MA. Se non funziona nulla e sei completamente imbottito … rimuovi gli elementi dal rapporto fino a quando il problema non scompare. Una volta identificato quale riga o articolo del report sta causando il problema, inseriscilo in un contenitore rettangular. Questo è tutto. Ci ha aiutato molte volte! Le pagine aggiuntive sono principalmente causate dagli articoli del report che scorre sul margine destro. Quando tutto il resto fallisce, mettere le cose all’interno di un rettangolo o di un rettangolo vuoto alla destra di un object, può impedire che ciò accada. Buona fortuna là fuori!

Se il report include un sottoreport, la larghezza del sottoreport potrebbe spingere i limiti del corpo se è ansible che il sottoreport e la gerarchia aumentino. Ho avuto un problema simile con un sottoreport che potrebbe essere inserito in una cella (spanning 2 colonne). Sembrava che lo span potesse contenerlo nella finestra di progettazione e funzionava bene in un winform o in un browser e, in origine, poteva generare output di stampa (o file pdf) senza spargere troppo sulle pagine in eccesso.
Quindi, dopo aver cambiato alcune altre larghezze di colonne (e senza superare la larghezza del corpo più i margini), i rendering di winform e browser sembravano ancora buoni ma quando l’output (stampante o pdf) veniva generato, superava i margini e scriveva il lato destro di ogni pagina come pagina 2a (4a, ecc.). Potrei eliminare il mio problema aumentando colspan in cui è stato inserito il sottoreport.
Indipendentemente dal fatto che si utilizzino i sottoreport, se si dispone di spillover di pagina e il design del corpo si adatta ai margini della pagina, cercare qualcosa che può crescere e spingere la larghezza del corpo all’esterno.

Recentemente ho ereditato un rapporto che dovevo apportare alcune modifiche. Dopo aver seguito tutti i consigli sopra, non è stato d’aiuto. Il rapporto aveva storicamente questa pagina in più e nessuno riusciva a capire perché.

Ho fatto clic con il tasto destro su Tablix e proprietà selezionate. C’era una casella spuntata che diceva aggiungere una interruzione di pagina dopo. Dopo aver rimosso questo, stampa su una pagina ora.

inserisci la descrizione dell'immagine qui

Ho usato con successo pdftk per rimuovere le pagine che non volevo / ho bisogno in pdf. Puoi scaricare il programma qui

Potresti provare qualcosa come il seguente. Tratto da qui sotto esempi

Rimuovere la “pagina 13” da in1.pdf per creare out1.pdf pdftk in.pdf cat 1-12 output 14-end out1.pdf

o:

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