Reputation: 1915
I want to work with iTextSharp 5.0.5. But did not find any tutorial on this version. I downloaded some previous version tutorials but giving error. I just want to stitch some images into a pdf file by iTextSharp. Can anyone please give me code for that ?
EDIT: After some time spending on it I finally figured it out how to add image. But the problem is that image is too big. Now my problem is how to shrink image or I want to see the image in page in normal format. Now how can I do it ?
Upvotes: 4
Views: 10206
Reputation: 15868
First, the examples. They're all a part of "iText in Action, 2nd edition". Fortunately, the book's examples are all available on line. They're tagged with the various classes and topics they cover to help you find whatever you might be looking for. Good Stuff.
Many of the old examples were, as you point out, No Longer Helpful. That's why they're no longer on the web site. The book's examples are all as up to date as Bruno could manage (and he's keeping them current).
On one hand, The Book is very useful, but not required. On the other hand, money spent on the book is money given to support iText. I do not personally benefit from you buying the book, but consider Bruno a friend. Help out my friend.
Or else. Grr.
;)
If you're using Image
with a Document
, you have a number of options:
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 your pick.
On the other hand, if you're adding the image to a content stream, PdfContentByte
, directly, you have the above, plus:
// 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.
When adding an image to a PdfContentByte (or its subclasses), you can either use the matrix technique above, or set the image's scale (first set of calls) and its position. You are required to use absolute positioning when you use the following:
image.setAbsolutePosition(xLoc, yLoc);
contentByte.addImage(image);
If you don't, addImage
will throw a DocumentException
with the message "The image must have absolute positioning." (or whatever your localized version of that string happens to be).
Upvotes: 7