Я использую библиотеку PDFBox, и в настоящее время я не понимаю поведение метода moveTextPositionByAmount(X,Y)
.Почему PDFBox «moveTextPositionByAmount (X, Y)» приводит к экспоненциальному поведению?
Вот код, я использую:
[...]
int i = 0;
for (InventoryItem currInvItem : invList) {
try {
content.moveTextPositionByAmount(textPositionX, textPositionY);
content.drawString(currInvItem.toString());
textPositionY = textPositionY+10;
i++;
if (i > 10) {
break;
}
} catch (IOException e) {
e.printStackTrace();
}
}
[...]
Это просто идет через список и печатает элементы в мой файл PDF. Я ожидал, что метод moveTextPositionByAmount(X,Y)
просто перемещает курсор в другое положение на определенную величину линейным способом.
К сожалению, это не так, и результаты в PDF-файл, который имеет текст в нем, кроме расстояние между элементами текста увеличивается с каждой итерации цикла, даже если я просто увеличить мою переменную textPositionY
на 10. Увеличение в расстояние между элементами лучше всего описывается с чем-то вроде distance = e^x
Вот упрощенный пример вывода:
и как выглядит содержимое вашего файла pdf для этого раздела кода? – duffy356
Я отредактировал свой вопрос, я привел вам образ в качестве примера. – Flatron
N.B. Экспоненциальный 'e^x'! = Квадратичный' x^2'. –