Проблема с системой координат и смещенным текстом в разных PDF-файлах с использованием iTextSharp

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

Вопрос

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

alt text

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

alt text

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

Это было полезно?

Решение

Но проблема в следующем:Нет системы.Эта сборка была сброшена или что с ней случилось?Что я могу сделать, чтобы преобразовать координаты Itextsharp в миллиметр.Я здесь не в том же духе?

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

Другие советы

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top