web-dev-qa-db-fra.com

Comment se débarrasser des pages vierges dans PDF exportées à partir de SSRS

J'ai un rapport SSRS de deux pages. Lorsque je l'ai exporté au format PDF, il prenait 4 pages en raison de sa largeur, les deuxième et quatrième pages affichant l'un de mes champs de la table. J'ai essayé de définir la taille de la mise en page dans les propriétés du rapport: width = 18in et height = 8.5in.

Cela m'a donné la totalité du tableau en une seule page de PDF, mais les pages 2 et 4 sont toujours vierges.

La façon dont je le fais est-elle incorrecte? Comment puis-je me débarrasser de ces pages vierges?

180
brijit

Dans BIDS ou SSDT-BI, procédez comme suit:

  1. Cliquez sur Rapport> Propriétés du rapport> onglet Présentation (onglet Mise en page dans SSDT-BI).
  2. Notez les valeurs pour largeur de la page, marge de gauche, marge de droite
  3. Fermer et revenir à la surface de conception
  4. Dans la fenêtre Propriétés, sélectionnez Body
  5. Cliquez sur le symbole + pour développer le noeud Taille.
  6. Notez la valeur pour Largeur

Pour rendre correctement dans PDF Largeur du corps + Marge gauche + La marge droite doit être inférieure ou égale à la largeur de la page. Lorsque vous voyez les pages vierges en cours de rendu, c'est presque toujours parce que la largeur du corps plus les marges est supérieure à la largeur de la page.

Rappelez-vous: (Largeur du corps + Marge gauche + Marge droite) <= (Largeur de la page)

324
Nathan Griffiths

Une autre chose à essayer est de définir la propriété du rapport appelée ConsumeContainerWhitespace sur True (la valeur par défaut est false). C'est comme ça que ça s'est résolu pour moi.

108
Chrysalis

Après des heures de lutte avec ce problème, je suis tombé sur une solution qui a fonctionné pour moi:

Dans SSDT (2012), j'avais initialement mes unités de mise en page/page configurées en centimètres. Quand j'ai changé cela en pouces, assez étrangement, j'ai pu exporter mon rapport au format PDF sans que toutes les autres pages soient vides.

enter image description here

28
sion_corn

Il est préférable de le faire sur l’aire de conception (, Visual Studio 2012 est affiché, mais vous pouvez le faire sous d’autres versions ) avant de calculer un calcul lors de l’édition d’un fichier. Document SSRS.

Ci-dessous les nombres suivants dans les cercles rouges qui correspondent aux étapes suivantes:

  1. Dans l'aire de conception, l'éditeur crée parfois une page plus grande que les commandes réelles; d'où la zone fantôme en cours d'impression.
  2. Redimensionner aux contrôles. Regardez visuellement la largeur/hauteur et voyez si vous ne pouvez pas insérer dans la page sur l'aire de conception pour le dimensionner. à l'espace réellement nécessaire par les contrôles et pas plus.
  3. Puis essayez de créer un PDF et voyez si cela résout le problème.
  4. Si # 3 ne résout pas le problème, il existe des contrôles nécessitant une part trop importante de la taille réelle de la page et dépassant en longueur/largeur. Il faudra donc réduire la taille des contrôles afin d’adapter une taille de page plus petite.

Steps to manually remediate


Dans certaines circonstances, il est également possible de modifier une propriété de la page de rapport en définissant ConsumeContainerWhitespace sur true pour que les espaces soient automatiquement utilisés.

20
ΩmegaMan

Si les pages vierges proviennent de SSRS, vous devez modifier le format de votre rapport. Cela sera beaucoup plus efficace que d'exécuter la sortie et le post-traitement pour réparer les effets secondaires d'un problème de mise en page.

SSRS est très pointilleux lorsqu'il s'agit de repousser les limites des marges. Il est facile d'élargir/allonger le rapport par inadvertance en ajustant simplement une zone de texte ou un autre contrôle sur le rapport. Vérifiez soigneusement les propriétés width et height de la surface de rapport et comprimez-les autant que possible. Méfiez-vous des gros en-têtes et pieds de page.

18
HectorMac

Le problème pour moi était que SSRS traite à dessein votre espace blanc comme si vous souhaitiez qu'il soit honoré:

enter image description here

En plus des espaces, assurez-vous qu'il n'y a pas de marge droite.

17
Jeremy Thompson

J'ai travaillé avec SSRS pendant plus de 10 ans et les réponses ci-dessus sont la solution idéale. MAIS. Si rien ne fonctionne et que vous êtes complètement bourré ... supprimez les éléments du rapport jusqu'à ce que le problème disparaisse. Une fois que vous avez identifié la ligne ou l'élément de rapport à l'origine du problème, placez-le dans un conteneur rectangle. C'est ça. Nous a aidé beaucoup de fois! Les pages supplémentaires sont principalement causées par des éléments de rapport circulant dans la marge droite. Lorsque tout le reste échoue, placer des éléments à l'intérieur d'un rectangle ou d'un rectangle vide à droite d'un élément peut empêcher cela de se produire. Bonne chance là-bas!

5
LucasF

Outre les marges, problème de loin le plus courant, j’ai également vu deux possibilités supplémentaires:

  1. Utilisation de + pour concaténer du texte. Vous devez utiliser & à la place.
  2. Texte dépassant la largeur de la zone de texte spécifiée. Ainsi, si votre zone de texte ne contient que 30 caractères et que vous essayez d’y insérer 300 caractères, vous risquez de vous retrouver avec des pages supplémentaires.
5
Joshua Drake

Avez-vous essayé de voir s'il y avait un espace blanc à droite de votre rapport? Si tel est le cas, vous pouvez le faire glisser à la fin de votre rapport, puis ramener l’arrière-plan du rapport au même endroit.

4
user2585349

Dans l'onglet Propriétés du rapport (myReport.rdlc), définissez l'attribut "Conserver ensemble" sur False. Je lutte avec ce problème depuis un moment et cela semble avoir résolu mon problème. enter image description here

4
Omar

J'ai récemment hérité d'un rapport nécessitant quelques modifications. Après avoir suivi toutes les recommandations ci-dessus, cela n’a pas aidé. Le rapport comportait historiquement cette page supplémentaire et personne ne pouvait comprendre pourquoi.

J'ai fait un clic droit sur le tableau et les propriétés sélectionnées. Il y avait une case à cocher qui dit d'ajouter un saut de page après. Après avoir supprimé cela, il imprime maintenant sur une page.

enter image description here

1
crh225

Si votre rapport inclut un sous-rapport, la largeur du sous-rapport peut repousser les limites du corps si le sous-rapport et la hiérarchie sont autorisés à se développer. J'ai eu un problème similaire avec un sous-rapport qui pourrait être placé dans une cellule (couvrant 2 colonnes). Il semblait que l'intervalle pouvait le contenir dans le concepteur et le rendu était parfait dans un winform ou un navigateur et, à l'origine, il pouvait générer une sortie imprimante (ou un fichier pdf) sans déborder sur les pages en excès.
Ensuite, après avoir modifié d'autres largeurs de colonne (et sans dépasser la largeur du corps plus les marges), les rendus de la forme et du navigateur semblaient toujours beaux, mais lorsque la sortie (imprimante ou pdf) était générée, elle dépassait les marges. et écrit le côté droit de chaque page en tant que 2ème page (4ème, etc.). Je pourrais résoudre mon problème en augmentant le nombre de colonnes où le sous-rapport était placé.
Que vous utilisiez des sous-états ou non, si vous avez des retombées de page et que la conception de votre corps s’intègre dans les marges de la page, recherchez un élément autorisé à se développer qui repousse la largeur du corps.

1
Bill1260231