Problème avec le système de coordonnées et texte déplacé dans différents PDF à l'aide iTextSharp
-
21-08-2019 - |
Question
Je travaille avec iTextSharp et .NET 3.5 SP1 (en C #, comme vous pouvez le deviner) et modifier certains fichiers PDF existants en utilisant la classe PdfStamper
. Maintenant, j'ai deux problèmes:
La transformation du système de coordonnées
Comme je le vois, iTextSharp utilise (postscript?) Points que l'unité de mesure, mais je voudrais transformer ces coordonnées au millimètre. Maintenant, comment est la meilleure façon d'y parvenir?
Un regard dans la documentation a révélé l'approche suivante:
PdfContentByte cb = new PdfContentByte();
System.Drawing.Drawing2D.Matrix scale = new System.Drawing.Drawing2D.Matrix(
0.352777778, 0, 0.352777778, 0, 0, 0); // 1 point = 0.352777778 mm
cb.Transform(scale);
J'espère que je suis la matrice de transformation droite. Mais le problème est: Il n'y a pas de l'Assemblée System.Drawing.Drawing2D
! Est-ce cette assemblée a chuté ou ce qui est arrivé à elle? Que puis-je faire pour transformer les coordonnées de iTextSharp au millimètre. Suis-je sur la mauvaise façon ici?
Texte en PDF se déplace dans un fichier PDF différent en utilisant les mêmes coordonnées
J'ai remarqué que, tout en modifiant deux différents fichiers PDF avec même contenu , que les mêmes coordonnées se sont déplacées et le texte n'est pas placé aux positions exactement les mêmes. Quelle est la cause cela et comment puis-je l'empêcher?
Ceci est le premier PDF:
Ceci est le deuxième PDF, créé en utilisant les coordonnées exactes mêmes dans iTextSharp:
Toute aide est appréciée.
La solution
Mais le problème est: Il n'y a pas Assemblée System.Drawing.Drawing2D! Était cette assemblée a chuté ou ce qui est arrivé à elle? Que puis-je faire pour transformer la les coordonnées de iTextSharp à millimètre. Suis-je sur la mauvaise façon ici?
http://msdn.microsoft.com /en-us/library/system.drawing.drawing2d.matrix.aspx (en System.Drawing.dll)
Autres conseils
Ok, je résolu le deuxième problème avec le texte étant déplacé malgré les mêmes coordonnées utilisées.
En fait, le premier PDF inclus un espace de coupe non visible, le second n'a pas. L'espace de coupe n'est pas visible parce que l'espace de vue a été recadrée en utilisant le créateur de PDF, mais il semble y était encore l'espace parage et compté pour les coordonnées.