Problème avec le système de coordonnées et texte déplacé dans différents PDF à l'aide iTextSharp

StackOverflow https://stackoverflow.com/questions/863095

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.

Était-ce utile?

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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top