Проблема с системой координат и смещенным текстом в разных PDF-файлах с использованием iTextSharp
-
21-08-2019 - |
Вопрос
Я работаю с 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:
Любая помощь приветствуется.
Решение
Но проблема в следующем:Нет системы.Эта сборка была сброшена или что с ней случилось?Что я могу сделать, чтобы преобразовать координаты Itextsharp в миллиметр.Я здесь не в том же духе?
http://msdn.microsoft.com/en-us/library/system.drawing.drawing2d.matrix.aspx (в System.Drawing.dll)
Другие советы
Хорошо, я решил вторую проблему со смещением текста, несмотря на использование тех же координат.
Как оказалось, в первом PDF-файле было невидимое пространство для обрезки, а во втором — нет.Пространство обрезки не видно, поскольку пространство просмотра было обрезано с помощью средства создания PDF-файлов, но, судя по всему, пространство обрезки все еще существовало и учитывалось для координат.