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?
Dans BIDS ou SSDT-BI, procédez comme suit:
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)
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.
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.
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:
page
plus grande que les commandes réelles; d'où la zone fantôme en cours d'impression.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.
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.
Le problème pour moi était que SSRS traite à dessein votre espace blanc comme si vous souhaitiez qu'il soit honoré:
En plus des espaces, assurez-vous qu'il n'y a pas de marge droite.
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!
Outre les marges, problème de loin le plus courant, j’ai également vu deux possibilités supplémentaires:
+
pour concaténer du texte. Vous devez utiliser &
à la place.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.
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.
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.
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.