I
wrote series of articles about create PDF document in ASP.NET with C# using
iTextSharp. In this article I’m going to explain how to align images in PDF
document. Other articles related to
iTextSharp
How to create PDF document using iTextSharp
How to change PDF document page size using iTextSharp
How to use Images in PDF document using iTextSharp
How to use Tables in PDF document using iTextSharp
How to export GridView records to PDF document using iTextSharp
Here
I’m going to explain how to use image in PDF document using iTextSharp. First we have to download
iTextSharp.dll class library and include to our project.
You can download iTextSharp.dll class
library here
http://sourceforge.net/projects/itextsharp/
Then open your project and include
that iTextSharp.dll class library.

Browse the iTextSharp.dll file which
is downloaded now and click ok.

iTextSharp allows you to use images in
PDF document and it’ll support many image formats like .jpg, .jpeg, .png, .bmp,
.tif and .wmf.
Image.GetInstance method is used to create images in
PDF document.
iTextSharp.text.Image
gif = iTextSharp.text.Image.GetInstance(imagepath
+
"/image.jpg");
iTextSharp
provides way for align images in PDF document. There are some properties used
to do that.
Sample code:
gif.ScaleToFit(250f, 250f);
gif.Alignment
= iTextSharp.text.Image.TEXTWRAP |
iTextSharp.text.Image.ALIGN_RIGHT;
gif.IndentationLeft = 9f;
gif.SpacingAfter = 9f;
gif.BorderWidthTop = 36f;
You can create your designer page now
Designer source code:
<%@ Page Language="C#"
AutoEventWireup="true"
CodeFile="Default.aspx.cs"
Inherits="_Default"
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD
XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Button ID="btnShow"
runat="server"
Text="Show
PDF"
OnClick="btnShow_OnClick"/>
</div>
</form>
</body>
</html>
Here
you should use following namespaces and create one folder for store PDF
documents
using iTextSharp.text;
using iTextSharp.text.pdf;
using System.IO;
Code Behind:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using iTextSharp.text;
using iTextSharp.text.pdf;
using System.IO;
public partial class _Default :
System.Web.UI.Page
{
protected void
Page_Load(object sender, EventArgs e)
{
}
protected void
Button1_Click(object sender, EventArgs e)
{
//server folder path which is stored your PDF documents
string path = Server.MapPath("PDF-Files");
string imagepath = Server.MapPath("Images");
string filename = path + "/Doc1.pdf";
//Create new PDF document
Document document = new
Document(PageSize.A4,
20f, 20f, 20f, 20f);
try
{
PdfWriter.GetInstance(document, new FileStream(filename,
FileMode.Create));
//Create object for image
iTextSharp.text.Image gif =
iTextSharp.text.Image.GetInstance(imagepath
+ "/image.jpg");
Paragraph paragraph = new
Paragraph(@"iTextSharp
is a C# port of iText,
and open source Java library for PDF
generation and manipulation. It can
be used to create PDF documents from
scratch, to convert XML to PDF (using
the extra XFA Worker DLL), to fill out
interactive PDF forms, to stamp new
content on existing PDF documents, to
split and merge existing PDF documents,
and much more.");
paragraph.Alignment = Element.ALIGN_JUSTIFIED;
//Image alignment
gif.ScaleToFit(250f, 250f);
gif.Alignment = iTextSharp.text.Image.TEXTWRAP
| iTextSharp.text.Image.ALIGN_RIGHT;
gif.IndentationLeft = 9f;
gif.SpacingAfter = 9f;
gif.BorderWidthTop = 36f;
document.Open();
document.Add(gif);
document.Add(new Paragraph(paragraph));
}
catch (Exception
ex)
{
}
finally
{
document.Close();
ShowPdf(filename);
}
}
public void ShowPdf(string filename)
{
//Clears all content output from Buffer Stream
Response.ClearContent();
//Clears all headers from Buffer Stream
Response.ClearHeaders();
//Adds an HTTP header to the output stream
Response.AddHeader("Content-Disposition",
"inline;filename=" + filename);
//Gets or Sets the HTTP MIME type of the output stream
Response.ContentType = "application/pdf";
//Writes the content of the specified file directory to an
HTTP response output stream as a file block
Response.WriteFile(filename);
//sends all
currently buffered output to the client
Response.Flush();
//Clears all content output from Buffer Stream
Response.Clear();
}
}