Проблема с системой координат и смещенным текстом в разных PDF-файлах с помощью iTextSharp - PullRequest
1 голос
/ 14 мая 2009

Я работаю с 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:

alt text

Это второй PDF, созданный с использованием точно таких же координат в iTextSharp:

alt text

Любая помощь приветствуется.

Ответы [ 2 ]

1 голос
/ 14 мая 2009

Но проблема в том, что нет Сборка System.Drawing.Drawing2D! Было эта сборка упала или что случилось к этому? Что я могу сделать, чтобы преобразовать координаты iTextSharp к миллиметр. Я на неправильном пути здесь

http://msdn.microsoft.com/en-us/library/system.drawing.drawing2d.matrix.aspx (в System.Drawing.dll)

0 голосов
/ 15 мая 2009

Хорошо, я решил вторую проблему со смещением текста, несмотря на то, что используются те же самые координаты.

Как оказалось, первый файл PDF содержал невидимое пространство для обрезки, а второй - нет. Пространство обрезки не видно, потому что пространство просмотра было обрезано с помощью создателя PDF, но, как оказалось, пространство обрезки все еще было там и считалось для координат.

...