2009-09-21 7 views
1

J'ai des données de compte rendu de lixiviation accessibles à partir de SSRS via une source de données de service Web xml. Le service renvoie un grand champ contenant du texte brut formaté.Comment puis-je préserver l'espace blanc de premier plan dans l'exportation PDF des services de reporting?

J'ai pu conserver des espaces blancs dans la sortie en remplaçant les espaces par un espace insécable. Cependant, l'exportation vers un espace blanc principal n'est pas conservée sur les lignes qui ne commencent pas par un caractère visible. Ainsi, un rapport qui devrait rendre comme ceci:

  Report Title 
Name  Sales 
Bob  100.00 
Wendy  199.50 

est rendu comme ceci:

Report Title    (leading white space stripped on this line) 
Name  Sales   (intra-line white space is preserved) 
Bob  100.00 
Wendy  199.50 

Je n'ai pas été en mesure de trouver une solution autre que préfixer chaque ligne avec un personnage que je vraiment don Je ne veux pas faire.

Utilisation de SQL 2005 SP3

Répondre

1

Vous pouvez utiliser la propriété de remplissage de la zone de texte contenant le texte. Le remplissage à gauche peut être augmenté pour ajouter de l'espace qui ne sera pas effacé en sortie.

4

J'ai recherché et googlé la réponse à cette question. Beaucoup de réponses incluaient des espaces changeants à Chr (20) ou Chr (160). J'ai trouvé une solution simple qui semble fonctionner.

  1. Si vos espaces principaux viennent d'un onglet arrêt remplacer "/ t" avec des espaces réels, 5 ou si chaîne nouvelleChaine = oldString.Replace ("/ t", » «)

  2. En le champ d'expression pour la zone de texte, j'ai trouvé que simplement ajouter un "Chr (0)" nul au début de la chaîne préserve les espaces de début.

Exemple:

=Chr(0) & "My Text" 
2

Avez-vous essayé des espaces insécables de la variété ASCII?

=Replace(Fields!Report.Value, " ", chr(160))

J'utilise chr(160) de garder les numéros de téléphone ensemble (12 345) 6789. Dans votre cas, vous pouvez ne remplacer que les espaces principaux.

1

J'ai utilisé ce travail autour:

  • Dans les propriétés de Textbox sélectionnez l'onglet d'alignement.
  • Dans la section Option de remplissage, modifiez le remplissage droit ou gauche (partout où vous devez ajouter de l'espace).

Si vous avez besoin de mettre le texte en retrait sous condition, vous pouvez également utiliser l'expression.

Questions connexes