cjhaas.com

VB.Net tutorial for iTextSharp

Posted in iTextSharp by Chris Haas on September 3rd, 2011

iTextSharp is a great open source PDF creation and manipulation library and is a port of the original Java version iText. Unfortunately I’ve found the documentation and samples lacking, especially for VB.Net. The only good collection of tutorials that I’ve found was written by Mike Brind. While they were a great start for me, they targeted the 4.x series and were written in C#.The tutorials are fairly easy to upgrade and convert to VB.Net but I wanted to have my own collection. So stay tuned to this post for what I hope will be several iTextSharp tutorials.

A couple of things about the tutorials themselves.:

  • All will be written targetting iTextSharp 5.1.1.0 unless otherwise noted.
  • All will be written using Visual Basic 2010 Express
  • My comments are written a little weird, they all start with ”//. This is because StackOverflow’s (SO) HTML code highlighting system seems to break when using VB comments. So I “open and close” and VB comment and then start a C-style comment which seems to work best. One other problem I’ve had with SO is that apostrophes seem to mess up highlighting in comments, so you’ll usually see me say “do not” instead of “don’t” or “the objects properties” instead of “the object’s properties”.
  • All code samples are complete WinForms apps unless otherwise noted. This means that you should be able to launch VB Express 2010, create a new Windows Forms Application, add a reference to iTextSharp, switch to the code-behind on the form and paste the entire portion of my code on top of the existing code and it will work for you. The only modifications needed might be variables pointing to specific files and those will be called out at the top. If you hunt-and-peck at my code and it doesn’t work for you, don’t complain right away. Start with my exact base and modify bits at a time.
  • The reason I use WinForms apps for samples over Console Apps is because I occassionally need System.Drawing. While you can definately use System.Drawing with a Console App, this route makes copy and pasting of code easier.
  • If you have a question about a specific tutorial, feel free to post a comment. If a tutorial is about XYZ and you want to know ABC, feel free to also post a comment but don’t expect an immediate answer. I might eventually get around to it but there’s no guarantee. Instead, also post your question on StackOverflow. Feel free to cite my tutorial as a reference.
  • If you find a tutorial helpful I really do enjoy feedback!
  • All code that I post here is free for you to use as far as I’m concerned. For licensing of iTextSharp itself please contact iText. I in no way represent them, work for them or anything. I just like their product.
  • Some or all examples will execute code directly in Form1_Load. Because of this you’ll often see a Me.Close() at the end of the code. Because this is all sample code this is just so that I don’t need to close an empty form every time.
  1. VB.Net iTextSharp Tutorial – Hello World
  2. VB.Net iTextSharp Tutorial – Add an image to a document
  3. VB.Net iTextSharp Tutorial – Add a scaled image to a document
Tagged with:
  • Pingback: #1 – VB.Net iTextSharp Tutorial – Hello World « Chris Haas's Blog

  • http://www.goods2ship.com Robin van de Ven

    Hi CJ. great place here. Do you have VB.net code for converting an aspx page to pdf. I have customer statements in aspx and these need to be printed, emailed and saved as individual pdfs

  • Chris Haas

    Unfortunately I don’t have time but check out kuujinbo’s post here: http://kuujinbo.info/code_index.aspx?tab=2

  • Matthew Salisbury

    Hi there, great examples to get me started! Many thanks. I have been searching for help with the annotations function. I cant for the life of me find the ‘CallOut’ annotation. iTextSharp i would have thought would have PDF’s callout function somewhere – any tips on how to generate a ‘Callout’ would be much appreciated.

    For example:
    Dim aCallOut As PdfAnnotation
    aCallOut = PdfAnnotation.Createline(Writer, New Rectangle(100, 700, 100, 100) …. etc…)

    is there no PdfAnnotation.CreateCallOut???

    Thanks again

    Matt

    • Chris Haas

      What’s your definition of a “callout”? Like Acrobat’s yellow comment/thought box? Will PdfAnnotation.CreatePopup() work?