Использование itext для печати в абсолютных позициях - PullRequest
0 голосов
/ 31 октября 2011

Каков рекомендуемый способ печати текстового документа в формате PDF с использованием абсолютного позиционирования? У меня есть стол, который я должен напечатать. У меня также есть длина типа данных и начальные позиции столбцов. Поскольку существующая таблица была основана на символах, в ее позиционировании не было проблем. Но даже после использования монотипного шрифта (Courier, 10) я не могу правильно расположить данные, и последний столбец (столбцы) каждой строки ошибочно переходит на следующую строку.

Чтобы мои данные были максимально похожими на символьные, я разделил страницу на разные столбцы (в зависимости от размера страницы), а затем добавил содержимое в нужном месте. Я добавляю куски данных в абзац.

paragraph.add(new Chunk(new VerticalPositionMark(), columnNo*ptUnit, false));

Я пытался настроить размер страницы, размер шрифта и длину полей, но данные не отображаются должным образом. Сталкивались ли вы с такими проблемами? Пожалуйста, поделитесь своими мыслями.

1 Ответ

0 голосов
/ 31 октября 2011

Вы пробовали ColumnText

Когда я хочу написать абзац, и я знаю количество строк ... Я делаю цикл с приращением (даже он говорит, что увеличивается и минусэто потому, что PDF от «юга» до «севера» (0 - высота) y в пропорции размера шрифта, что-то вроде этого

//_valueArray is my string[]
//fontSize is the value of the Size of the font...
//1.5 it's just a magic number :) that give me the space line that i need
//cbLocal is the PdfContentByte of the pdf
for (i = 0; i < _valueArray.Length; i++)
{
    var p = new Phrase(_valueArray[i], font);
    ColumnText.ShowTextAligned(cbLocal, align, p, x, y, 0);
    if (i + 1 != _valueArray.Length)
    {
        y = y - (fontSize*1.5f);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...