【发布时间】:2009-05-14 12:40:04
【问题描述】:
我正在使用 iTextSharp 和 .NET 3.5 SP1(在 C# 中,您可以猜到)并使用 PdfStamper 类修改一些现有的 PDF。现在我有两个问题:
变换坐标系
在我看来,iTextSharp 使用(后记?)点作为测量单位,但我想将这些坐标转换为毫米。现在,实现这一目标的最佳方法是什么?
查看文档发现了以下方法:
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);
我希望我得到了正确的转换矩阵。但问题是:没有System.Drawing.Drawing2D大会!这个程序集是被丢弃还是发生了什么?我该怎么做才能将 iTextSharp 的坐标转换为毫米。我是不是走错路了?
PDF 中的文本在使用相同坐标的不同 PDF 中被置换
我注意到,在修改两个不同具有相同内容的PDF文件时,相同的坐标发生了偏移,并且文本没有被放置在完全相同的位置。这是什么原因造成的,我该如何预防?
这是第一个 PDF:
这是第二个 PDF,使用 iTextSharp 中完全相同的坐标创建:
感谢任何帮助。
【问题讨论】:
标签: c# pdf itext coordinate-systems