Во-первых, примеры.Они все являются частью "iText in Action, 2nd edition".К счастью, все примеры из книги доступны в режиме онлайн .Они помечены различными классами и темами, которые они освещают, чтобы помочь вам найти то, что вы можете искать.Good Stuff.
Многие старые примеры, как вы указали, больше не помогали.Вот почему их больше нет на сайте.Все примеры в книге настолько современны, насколько Бруно может управлять (и он поддерживает их в актуальном состоянии).
С одной стороны, Книга очень полезна, но не обязательна.С другой стороны, деньги, потраченные на книгу, - это деньги, выделенные на поддержку 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
Takeваш выбор.
С другой стороны, если вы добавляете изображение в поток контента, 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
с сообщением "Изображение должноиметь абсолютное позиционирование. "(или какой бы то ни было вашей локализованной версией этой строки).