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