Moreover, Design Pattern is not a single and simple thing to be explained in a single post.
Design Pattern is an abstract term for a proven solution which solves the common problem in an efficient manner. There are many problems faced, many solutions as well thereby you get many Design Patterns.
You may please refer this link for a good start. Perhaps, a Google Search would also help!
It's good to have a good overview knowledge of these things so you can recognize problems that have pattern solutions. If you have a pretty good idea of what each one is for, you can find it and dig out the details when you really need it. After a while you'll learn to spot things in your code that resemble some pattern or other, and maybe bend your design in that direction to make it easier for future readers to spot.
A good question is never answered. It is not a bolt to be tightened into place but a seed to be planted and to bear more seed toward the hope of greening the landscape of the idea. John Ciardi
I’ve looked at a lot of different solutions, and in my humble opinion Aspose is the way to go. Here’s the link: http://aspose.com