2015-10-13 2 views
1

Je tente d'éliminer un bourrage indésirable dans un fichier PDF généré par Migradoc; mais jusqu'à présent, pas de chance. Je suis allé sur le forum Migradoc, mais je n'ai trouvé aucun problème qui était le même que le mien (et je ne voulais pas m'inscrire sur un autre site pour poser une seule question). Voici à quoi cela ressemble: Unwanted padding around table cellsSuppression de remplissage de cellule de table dans Migradoc PDF

Le rembourrage que je veux supprimer est l'espace blanc entre les colonnes de chaque rangée, c'est-à-dire entre "Artikel" et "Beskrivning". Vous pouvez voir à partir du soulignement que la colonne "Artikel" se termine bien avant que la colonne "Beskrivning" ne commence.

J'ai essayé tous les suspects habituels comme suggéré ailleurs, comme:

table.Borders.Width = 0; 
table.LeftPadding = 0; 
table.RightPadding = 0; 

etc. J'ai aussi tenté de mettre ces valeurs sur chaque ligne et cellulaire, mais rien ne semble fonctionner. Il ne semble pas non plus que la largeur des colonnes ait un effet sur le résultat: si je rends les cellules plus étroites, elles s'emboîteront dans une nouvelle ligne, mais le remplissage reste le même.

Une suggestion? Comment procéder?

+0

vous montrer pas de code, vous fournissez aucun fichier MDDDL. Le soulignement ne montre pas où la colonne se termine, il montre juste où le paragraphe à l'intérieur de la colonne se termine. Un MVCE aiderait. Peut-être que je pourrais voir plus avec 'table.Borders.Width = 0.25;', mais le code pour jouer avec serait beaucoup mieux. –

+0

Vous avez écrit "Le forum de Migradoc n'est d'aucune aide non plus." Vous n'avez pas posé votre question sur le forum MigraDoc. Pourquoi donnez-vous le pouce au forum? –

+0

@ThomasH: Je ne peux pas montrer le code, la politique de l'entreprise. Pardon. Je ne sais même pas ce qu'est un MDDDL ou un MVCE, je n'en utilise pas non plus. – peter3

Répondre

-2

Il s'avère que si vous définissez table.LeftIndent, il propagera effectivement cette valeur à chaque cellule. Qui aurait thunk?

pose également la question de savoir comment une table gauche en retrait sans avoir toutes les cellules gauche dentelée aussi, mais je ne suis pas sûr que je veux demander ...

+0

'Table' n'a pas' LeftIndent', donc nous ne savons toujours pas ce qui a causé votre indentation indésirable. Vous pouvez définir 'result.Rows.LeftIndent' pour mettre en retrait toute la table. –

+0

Avez-vous changé 'table.Format.LeftIndent'? C'est un attribut qui s'applique à toutes les cellules des tables, mais pas à la table elle-même. Voir aussi ce post: http://stackoverflow.com/a/33376753/1015447 –

1

Voici une table que j'ai créé avec MigraDoc - sans ajouter ni supprimer tout rembourrage:
MigraDoc Table

Vous pouvez voir le soulignement où la colonne se termine - au moins pour la colonne de gauche où le texte enveloppe à la seconde ligne. Le texte dans les autres colonnes est trop court.

Il doit y avoir quelque chose dans votre code responsable du rembourrage supplémentaire. Pour répondre à votre question "Suggestions comment procéder?": Montrez-nous ce code si vous avez vraiment besoin d'aide. Peut-être que vous ajoutez des paragraphes avec un retrait à gauche ou à droite sur votre table. Je ne sais même pas quel est le soulignement que je vois sur votre capture d'écran. Est-ce la limite inférieure du paragraphe?

+0

Je suis certain qu'il y a quelque chose dans le code qui rend le remplissage dans les colonnes de la cellule, c'est pourquoi je demande des conseils sur ce que je devrais rechercher. Oui, la ligne est la bordure inférieure de la ligne d'en-tête – peter3

+0

Il y a quelque chose dans ** votre ** code. Les styles de paragraphe sont un candidat. Envisagez de partager un fichier MDDDL ** minimal ** si vous n'êtes pas autorisé à afficher du code. –

+0

Uhm, il devrait être évident que je voulais dire mon code, puisque Thomas a écrit que "il doit y avoir quelque chose dans votre code responsable du rembourrage supplémentaire" et je suis d'accord. Aussi, si je demande des choses à rechercher, est-ce que vous supposez vraiment que je voulais dire le code MigraDoc et pas le mien? Etes-vous volontairement obtus? – peter3

2

Je suis arrivé sur cette réponse en essayant de se débarrasser de la bourrage gauche et droit par défaut sur une cellule de table migradoc. Pour moi, la réponse était cette propriété de table

grayTable.LeftPadding = 0; 
grayTable.RightPadding = 0; 

Cela a supprimé le remplissage gauche et droite de toutes les cellules. Ce concept a été bien discuté sur d'autres forums mais pas de réponse

J'espère que cela aide quelqu'un.

default left and right cell padding migradoc