Во-первых, примеры. Все они являются частью «iText in Action, 2nd edition». К счастью, к примерам книги относятся все available on line. Они помечены различными классами и темами, которые они охватывают, чтобы помочь вам найти то, что вы, возможно, ищете. Хорошая вещь.
Многие из старых примеров были, как вы указываете, больше не полезны. Вот почему они больше не находятся на веб-сайте. Примеры книг все так же современны, как Бруно мог справиться (и он держит их в курсе).
С одной стороны, The Book очень полезен, но не требуется. С другой стороны, деньги, потраченные на книгу, - это деньги, предоставленные для поддержки iText. Я лично не пользуюсь тем, что вы покупаете книгу, но считайте Бруно другом. Помогите моему другу.
Или еще. Grr.
;)
Если вы используете Image
с Document
, у вас есть несколько вариантов:
image.scaleAbsolute(xScale, yScale); // 1.0f == same size
image.scalePercent(percent); // 100.0f == same size
image.scaleToFit(desiredX, desiredY); // in points, always maintains aspect ratio
сделайте ваш выбор.
С другой стороны, если вы хотите добавить изображение в поток контента, PdfContentByte
, непосредственно, у вас есть выше, плюс:
// scale/position the image Right Here.
contentByte.addImage(image, desiredX, 0, 0, desiredY, xLoc, yLoc);
// will NOT maintain aspect ratio. That's a "2d transformation matrix". Google it.
При добавлении изображения в PdfContentByte (или его подклассы), вы можете либо использовать технику матрицы выше, либо установить масштаб изображения (первый набор вызовов) и его позицию. Вы требуется использовать абсолютное позиционирование, когда вы используете следующее:
image.setAbsolutePosition(xLoc, yLoc);
contentByte.addImage(image);
Если вы этого не сделаете, addImage
выбросит DocumentException
с сообщением «Изображение должно иметь абсолютное позиционирование.» (или независимо от вашей локализованной версии этой строки).
В iText только типы начинаются с букв верхнего регистра. Мне ясно, что все, кто одобрил предыдущие изменения, не были знакомы с iText и не искали его. –