2010-03-07 5 views
0

Ive натолкнулись на проблему с помощью IText (Java), несмотря на часы, глядя через Документов ..IText - Изменение PDFWriter # Verticle Выравнивание вручную

Большая часть кода я использую идет через документ # API, который отслеживает (через экземпляр PDFWriter) текущую позицию Y. ОДНАКО, нам нужно использовать часть PdfContentByte API для вставки некоторого Java2d в документ, но при этом это, похоже, обходит логику, которая отслеживает запись по вертикали. Поэтому в следующий раз, когда я использую Document API, он перезаписывает содержимое вставленных вручную вещей. Я хочу сопоставить поведение API-документа Document, вручную перемещая курсор на N количество единиц (N - высота элемента, вставленного API PDFContentByte), так что когда я снова использую объект Document, bingo, его курсор находится в правильном месте. Я вижу, что существует метод получения курсора;

PdfWriter#getVerticalPosition(boolean);

Но не один, чтобы установить его ?!

Любые идеи кто-нибудь?

Спасибо.

ответ

0

Вертикальное положение, возвращаемое PdfWriter, автоматически обрабатывается классом писателя при добавлении в документ абзаца, таблиц и т. Д. Если вы хотите добавить пользовательскую графику, вам необходимо вручную обработать вертикальное положение, сохранив позицию последнего рисунка, который вы нарисовали. Если вам нужно нарисовать рисунок в абсолютном положении, независимо от текста, добавленного через объекты абзаца, это просто. Но если вы хотите синхронизировать положение графика с объектами высокого уровня (Paragraph, pdfTable и т. Д.), Вы должны обрабатывать события iText.

Смежные вопросы