Как получить текущие поля страницы с помощью iText API - PullRequest
2 голосов
/ 18 ноября 2010

У меня есть требование объединить два PDF-документа и установить указанное поле в результирующем PDF-документе.Есть ли способ получить текущее поле страницы формы PdfReader или PdfImportedPage?Я хотел бы получить эти измерения, чтобы решить, следует ли преобразовать или масштабировать входную страницу.

Ответы [ 2 ]

5 голосов
/ 20 ноября 2010

Что касается формата PDF, такого действительно не существует. У вас есть несколько ограничивающих рамок, которые могут или не могут быть определены на данной странице. Единственное обязательное поле - это Media Box:

Media Box: «размер страницы». Размер носителя, на котором должна быть напечатана эта страница PDF.

Crop Box: размер готовой страницы. Любая разница между носителем и кадрированием будет обрезана на этапе последующей обработки. По умолчанию используется мультимедийный блок.

Art Box: включает в себя «содержательный контент страницы». По умолчанию используется поле обрезки.

Trim Box & Bleed Box: Похоже на коробку для обрезки, но отличается от обычной, если только вы не являетесь профессиональной типографией, занимающейся такими вещами, как «Номинальная скорость».

Если вам не повезло с Art Box (и я был бы шокирован), ваш единственный реальный вариант - анализировать содержимое каждой страницы (с классами в com.itextpdf.text.pdf.parser. *) и выведите поля самостоятельно. Это может быть подвержено ошибкам.

OTOH, если приложение, которое изначально создавало PDF, могло встроить информацию о макете в PDF, в этом случае вам нужно будет выяснить, как они это делали в приложении для каждого приложения (или даже для версии за страницей). версия) основа.

0 голосов
/ 18 ноября 2010

Может быть, этот пример помогает: http://itextpdf.com/examples/iia.php?id=280
Это на Java, хотя; не уверен, в каком контексте вы находитесь.

...