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