Я работаю с iTextSharp и .NET 3.5 SP1 (в C #, как вы можете догадаться) и изменяю некоторые существующие PDF-файлы, используя класс PdfStamper
. Теперь у меня две проблемы:
Преобразование системы координат
На мой взгляд, iTextSharp использует (postscript?) Точки в качестве единицы измерения, но я бы хотел преобразовать эти координаты в миллиметр. Теперь, как лучше всего добиться этого?
Изучение документации выявило следующий подход:
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:
Любая помощь приветствуется.