简体   繁体   中英

How do I add images to a PDF with ITextSharp?

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 ?

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).

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM