A sample code to use iTextSharp to produce Invoice.
using System;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO;
using System.Data;
using iTextSharp.text;
using iTextSharp.text.pdf;
![](/Images/OutliningIndicators/None.gif)
namespace snabbasvar.util
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](/Images/OutliningIndicators/ContractedBlock.gif)
{
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
/**//// <summary>
/// Summary description for Invoices.
/// </summary>
public class MyInvoices
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
public MyInvoices()
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
//
// TODO: Add constructor logic here
//
}
public static void CreateInvoice(
int projectid)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
DataView project=BusProjects.ListById(projectid);
int regiontype=Convert.ToInt32(project[0]["regiontype"]);
int minage=Convert.ToInt32(project[0]["minage"]);
int maxage=Convert.ToInt32(project[0]["maxage"]);
int nrquestions=Convert.ToInt32(project[0]["maxquota"]);
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
string[] regionSpecifics=Convert.ToString(project[0]["regionspecifics"]).Split(new char[]
{';'});
string invoicedate=BusProjects.GetInvoicedate(
Convert.ToString(project[0]["startdate"]),
Convert.ToBoolean(project[0]["fastdelivery"]));
string projectname=Convert.ToString(project[0]["BusprojectName"]);
int userid=Convert.ToInt32(project[0]["user_id"]);
![](/Images/OutliningIndicators/InBlock.gif)
bool usingage=Convert.ToBoolean(minage>0 || maxage>0);
bool usingsex=Convert.ToBoolean(Convert.ToInt32(project[0]["sex"])!=-1);
bool isSnabbLeverans=Convert.ToBoolean(project[0]["fastdelivery"]);
DataView user=Accounts.GetUserById(userid);
string companyname=Convert.ToString(user[0]["companyname"]);
string username=Convert.ToString(user[0]["ContactName"]);
string companyaddress=Convert.ToString(user[0]["address"]);
string postalcode=Convert.ToString(user[0]["postalcode"]);
string postalort=Convert.ToString(user[0]["city"]);
string country=Convert.ToString(user[0]["countryname"]);
bool appliedKampanj=Globals.IsKampan && Accounts.User_IsNewOfSnabbasvar(userid,projectid);
![](/Images/OutliningIndicators/InBlock.gif)
Document document=new Document(PageSize.A4,36,72,108,180);
try
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
string filename="../invoices/"+Convert.ToString(projectid*100)+Convert.ToString(projectid)+".pdf";
string file=HttpContext.Current.Server.MapPath(filename);
PdfWriter writer=PdfWriter.GetInstance(document,new FileStream(file,FileMode.Create));
document.Open();
AddLogo(document);
AddRightHeader(document,writer);
AddCustomerAddress(document,
writer,
companyname,
username,
companyaddress,
postalcode,
postalort,
country);
AddReference(document,
writer,
userid,
projectid,
username,
invoicedate);
![](/Images/OutliningIndicators/InBlock.gif)
AddSpecification(document,
writer,
projectname,
nrquestions,
regiontype,
regionSpecifics,
usingage,
usingsex,
isSnabbLeverans,
appliedKampanj);
![](/Images/OutliningIndicators/InBlock.gif)
AddFooter(document,writer);
![](/Images/OutliningIndicators/InBlock.gif)
}
catch(Exception ee)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
HttpContext.Current.Response.Write(ee.StackTrace);
}
document.Close();
}
private static void AddLogo(Document document)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
string
_logo=HttpContext.Current.Server.MapPath("../invoices/"+Globals.CI.Name+"_snabbasvar_logga.gif");
iTextSharp.text.Image
logo=iTextSharp.text.Image.GetInstance(_logo);
logo.SetAbsolutePosition(360,750);
document.Add(logo);
![](/Images/OutliningIndicators/InBlock.gif)
}
private static void AddReference(
Document document,
PdfWriter writer,
int userid,
int projectid,
string username,
string invoicedate)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
iTextSharp.text.pdf.PdfPTable re=new iTextSharp.text.pdf.PdfPTable(1);
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
re.SetTotalWidth(new float[]
{530});
re.LockedWidth=true;
re.HorizontalAlignment=0;
re.DefaultCell.BorderColor=iTextSharp.text.Color.BLACK;
![](/Images/OutliningIndicators/InBlock.gif)
iTextSharp.text.pdf.PdfPTable reference=new iTextSharp.text.pdf.PdfPTable(4);
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
float[] columnDefinitionSize=
{130F,120F,120F,160F};
reference.SetTotalWidth(columnDefinitionSize);
reference.LockedWidth=true;
reference.HorizontalAlignment=0;
reference.DefaultCell.BorderColor=iTextSharp.text.Color.WHITE;
![](/Images/OutliningIndicators/InBlock.gif)
reference.AddCell(new Phrase(Globals.RM.GetString("Faktura_InvoiceNumber",Globals.CI),BoldFont));
reference.AddCell(new Phrase(Convert.ToString(projectid),NormalFont));
reference.AddCell(new Phrase(Globals.RM.GetString("Faktura_PrintDate",Globals.CI),BoldFont));
reference.AddCell(new Phrase(DateTime.Now.ToShortDateString(),NormalFont));
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
reference.AddCell(new Phrase(Globals.RM.GetString("Faktura_CustomerNo",Globals.CI),BoldFont));
reference.AddCell(new Phrase(Convert.ToString(userid),NormalFont));
reference.AddCell(new Phrase(Globals.RM.GetString("Faktura_PayDueDate",Globals.CI),BoldFont));
reference.AddCell(new Phrase(Convert.ToDateTime(invoicedate).AddDays(-1).ToShortDateString(),NormalFont));
![](/Images/OutliningIndicators/InBlock.gif)
reference.AddCell(new Phrase(Globals.RM.GetString("Faktura_YourRef",Globals.CI),BoldFont));
reference.AddCell(new Phrase(username,NormalFont));
reference.AddCell(new Phrase(Globals.RM.GetString("Faktura_OurRef",Globals.CI),BoldFont));
reference.AddCell(new Phrase("Bo Mattsson,"+Globals.RM.GetString("Invoice_SupportMail",Globals.CI),NormalFont));
![](/Images/OutliningIndicators/InBlock.gif)
re.AddCell(reference);
re.WriteSelectedRows(0,-1,0,-1,30,620,writer.DirectContent);
}
private static iTextSharp.text.Image Line
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
get
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
string _image=HttpContext.Current.Server.MapPath("../invoices/line.gif");
iTextSharp.text.Image image=iTextSharp.text.Image.GetInstance(_image);
return image;
}
}
private static void AddFooter(Document document,PdfWriter writer)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
iTextSharp.text.pdf.PdfPTable footer=new iTextSharp.text.pdf.PdfPTable(1);
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
footer.SetTotalWidth(new float[]
{500});
footer.HorizontalAlignment=0;
footer.LockedWidth=true;
footer.DefaultCell.BorderColor=iTextSharp.text.Color.WHITE;
footer.AddCell(Line);
footer.WriteSelectedRows(0,-1,0,-1,30,241,writer.DirectContent);
//float[] columnDefinitionSize={160F,160F,100F,120F};
footer=new iTextSharp.text.pdf.PdfPTable(1);
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
footer.SetTotalWidth(new float[]
{230F});
footer.HorizontalAlignment=0;
footer.LockedWidth=true;
footer.DefaultCell.BorderColor=iTextSharp.text.Color.WHITE;
![](/Images/OutliningIndicators/InBlock.gif)
footer.AddCell(new Phrase(Globals.RM.GetString("Faktura_PleaseToPay",Globals.CI),NormalFont));
footer.AddCell(new Phrase("Cint AB",NormalFont));
footer.AddCell(new Phrase("Bank: Östgotabanken",NormalFont));
footer.AddCell(new Phrase("Bankkonto: 1334 1408 940",NormalFont));
footer.AddCell(new Phrase("Bankgiro: 5528-6520",NormalFont));
footer.AddCell(new Phrase("SWIFT: DABASESX",NormalFont));
footer.AddCell(new Phrase("IBAN: SE23 1200 0000 0133 4140 8940",NormalFont));
footer.AddCell(new Phrase("Momsregistreringsnummer:SE556559876901",NormalFont));
footer.AddCell(new Phrase("Företaget innnehar F-skattesedel",NormalFont));
footer.WriteSelectedRows(0,-1,0,-1,30,240,writer.DirectContent);
}
![](/Images/OutliningIndicators/InBlock.gif)
private static void AddProductItemRow(
iTextSharp.text.pdf.PdfPTable table,
string description,
int nrquestions,
int aprice,
int amount)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
table.AddCell(new Phrase(description,NormalFont));
table.AddCell(new Phrase(Convert.ToString(nrquestions),NormalFont));
table.AddCell(new Phrase(Convert.ToString(aprice),NormalFont));
table.AddCell(new Phrase(Convert.ToString(amount),NormalFont));
}
private static void AddSpecification(
Document document,
PdfWriter writer,
string projectname,
int nrquestions,
int regiontype,
string[] regionSpecifics,
bool usingage,
bool usingsex,
bool isSnabbLeverans,
bool appliedKampanj)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
iTextSharp.text.pdf.PdfPTable specification=new iTextSharp.text.pdf.PdfPTable(4);
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
float[] columnDefinitionSize=
{200F,80F,120F,100F};
specification.SetTotalWidth(columnDefinitionSize);
specification.HorizontalAlignment=0;
specification.LockedWidth=true;
specification.DefaultCell.BorderColor=iTextSharp.text.Color.WHITE;
![](/Images/OutliningIndicators/InBlock.gif)
specification.AddCell(new Phrase(Globals.RM.GetString("Faktura_Description",Globals.CI),BoldFont));
specification.AddCell(new Phrase(Globals.RM.GetString("Faktura_Unit",Globals.CI),BoldFont));
specification.AddCell(new Phrase(Globals.RM.GetString("Faktura_UnitPrice",Globals.CI),BoldFont));
specification.AddCell(new Phrase(Globals.RM.GetString("Faktura_Amount",Globals.CI),BoldFont));
![](/Images/OutliningIndicators/InBlock.gif)
specification.DefaultCell.Colspan=4;
specification.AddCell(Line);
![](/Images/OutliningIndicators/InBlock.gif)
specification.DefaultCell.Colspan=1;
![](/Images/OutliningIndicators/InBlock.gif)
int aprice=0;
double totalprice=0;
![](/Images/OutliningIndicators/InBlock.gif)
string par=string.Empty;
string countryId=string.Empty;
string type=string.Empty;
![](/Images/OutliningIndicators/InBlock.gif)
switch(regiontype)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
case (int)RegionType.AllTheCountry:
case (int)RegionType.CountryPart:
case (int)RegionType.Province:
aprice=Prices.GetBaseprice(nrquestions,regiontype);
AddProductItemRow(specification,
appliedKampanj?projectname+"(*)":projectname,
nrquestions,
aprice,
(appliedKampanj?(nrquestions-1):nrquestions)*aprice);
totalprice=(appliedKampanj?nrquestions-1:nrquestions)*aprice;
break;
case (int)RegionType.Capitals:
case (int)RegionType.Metros:
case (int)RegionType.Oresundsregion:
for(int i=0;i<regionSpecifics.Length;i++)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
aprice=Prices.GetBaseprice(nrquestions,regiontype);
par=regionSpecifics[i];
countryId=par.Substring(0,par.IndexOf(","));
AddProductItemRow(specification,
appliedKampanj?projectname+" ("+Regions.GetCountrynames(countryId,",")+" *)":projectname+" ("+Regions.GetCountrynames(countryId,",")+")",
nrquestions,
aprice,
(appliedKampanj?nrquestions-1:nrquestions)*aprice);
totalprice+=(appliedKampanj?nrquestions-1:nrquestions)*aprice;
}
break;
case (int)RegionType.SpecificRegions:
for(int j=0;j<regionSpecifics.Length;j++)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
par=regionSpecifics[j];
countryId=par.Substring(0,par.IndexOf(","));
type=par.Substring(par.IndexOf(",")+1);
aprice=Prices.GetBaseprice(nrquestions,Convert.ToInt32(type));
AddProductItemRow(specification,
appliedKampanj?projectname+" ("+Regions.GetCountrynames(countryId,",")+" *)":projectname+" ("+Regions.GetCountrynames(countryId,",")+" *)",
nrquestions,
aprice,
aprice*(appliedKampanj?nrquestions-1:nrquestions));
totalprice+=aprice*(appliedKampanj?nrquestions-1:nrquestions);
}
break;
}
double _totalprice=totalprice;
if(usingsex)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
_totalprice=_totalprice+totalprice/2;
specification.AddCell(new Phrase(Globals.RM.GetString("Invoice_SexExtra",Globals.CI),NormalFont));
specification.AddCell("");
specification.AddCell("");
specification.AddCell(new Phrase(Convert.ToString(totalprice/2)+" "+Globals.RM.GetString("Invoice_Currency",Globals.CI)+"(50%)",NormalFont));
![](/Images/OutliningIndicators/InBlock.gif)
}
if(usingage)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
_totalprice=_totalprice+totalprice/2;
specification.AddCell(new Phrase(Globals.RM.GetString("Invoice_AgeExtra",Globals.CI),NormalFont));
specification.AddCell("");
specification.AddCell("");
specification.AddCell(new Phrase(Convert.ToString(totalprice/2)+" "+Globals.RM.GetString("Invoice_Currency",Globals.CI)+"(50%)",NormalFont));
}
if(isSnabbLeverans)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
_totalprice=_totalprice+totalprice;
specification.AddCell(new Phrase(Globals.RM.GetString("Invoice_FastDelivery",Globals.CI),NormalFont));
specification.AddCell("");
specification.AddCell("");
specification.AddCell(new Phrase(Convert.ToString(totalprice)+" "+Globals.RM.GetString("Invoice_Currency",Globals.CI)+"(100%)",NormalFont));
![](/Images/OutliningIndicators/InBlock.gif)
}
![](/Images/OutliningIndicators/InBlock.gif)
specification.AddCell("");
specification.AddCell("");
specification.AddCell(new Phrase(Globals.RM.GetString("Faktura_Sum",Globals.CI),BoldFont));
specification.AddCell(new Phrase(Convert.ToString(_totalprice)+" "+Globals.RM.GetString("Invoice_Currency",Globals.CI),NormalFont));
![](/Images/OutliningIndicators/InBlock.gif)
specification.DefaultCell.Colspan=4;
//specification.DefaultCell.FixedHeight=10;
specification.AddCell("");
specification.AddCell("");
specification.AddCell("");
specification.AddCell(new Phrase("* Vid kampanj är en fråga gratis.",NormalFont));
specification.AddCell("");
specification.AddCell("");
specification.AddCell("");
specification.AddCell("");
specification.AddCell("");
specification.AddCell("");
![](/Images/OutliningIndicators/InBlock.gif)
specification.AddCell("");
specification.AddCell("");
specification.AddCell("");
specification.AddCell("");
specification.AddCell(Line);
![](/Images/OutliningIndicators/InBlock.gif)
specification.DefaultCell.Colspan=1;
specification.AddCell("");
specification.AddCell("");
specification.AddCell(new Phrase(Globals.RM.GetString("Faktura_Tax",Globals.CI),BoldFont));
specification.AddCell(new Phrase(Convert.ToString(_totalprice/4)+" "+Globals.RM.GetString("Invoice_Currency",Globals.CI),NormalFont));
![](/Images/OutliningIndicators/InBlock.gif)
specification.AddCell("");
specification.AddCell("");
specification.AddCell(new Phrase(Globals.RM.GetString("Faktura_TotalToPay",Globals.CI),BoldFont));
specification.AddCell(new Phrase(Convert.ToString(_totalprice*1.25)+" "+Globals.RM.GetString("Invoice_Currency",Globals.CI),NormalFont));
![](/Images/OutliningIndicators/InBlock.gif)
specification.WriteSelectedRows(0,-1,0,-1,30,500,writer.DirectContent);
![](/Images/OutliningIndicators/InBlock.gif)
}
private static void AddSpecification(
Document document,
PdfWriter writer,
string projectname,
int nrquestions,
int regiontype,
string[] regionSpecifics,
bool usingage,
bool usingsex,
bool isSnabbLeverans)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
iTextSharp.text.pdf.PdfPTable specification=new iTextSharp.text.pdf.PdfPTable(4);
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
float[] columnDefinitionSize=
{200F,80F,120F,100F};
specification.SetTotalWidth(columnDefinitionSize);
specification.HorizontalAlignment=0;
specification.LockedWidth=true;
specification.DefaultCell.BorderColor=iTextSharp.text.Color.WHITE;
![](/Images/OutliningIndicators/InBlock.gif)
specification.AddCell(new Phrase(Globals.RM.GetString("Faktura_Description",Globals.CI),BoldFont));
specification.AddCell(new Phrase(Globals.RM.GetString("Faktura_Unit",Globals.CI),BoldFont));
specification.AddCell(new Phrase(Globals.RM.GetString("Faktura_UnitPrice",Globals.CI),BoldFont));
specification.AddCell(new Phrase(Globals.RM.GetString("Faktura_Amount",Globals.CI),BoldFont));
![](/Images/OutliningIndicators/InBlock.gif)
specification.DefaultCell.Colspan=4;
specification.AddCell(Line);
![](/Images/OutliningIndicators/InBlock.gif)
specification.DefaultCell.Colspan=1;
![](/Images/OutliningIndicators/InBlock.gif)
int aprice=0;
double totalprice=0;
![](/Images/OutliningIndicators/InBlock.gif)
string par=string.Empty;
string countryId=string.Empty;
string type=string.Empty;
![](/Images/OutliningIndicators/InBlock.gif)
switch(regiontype)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
case (int)RegionType.AllTheCountry:
case (int)RegionType.CountryPart:
case (int)RegionType.Province:
aprice=Prices.GetBaseprice(nrquestions,regiontype);
AddProductItemRow(specification,
projectname,
nrquestions,
aprice,
nrquestions*aprice);
totalprice=nrquestions*aprice;
break;
case (int)RegionType.Capitals:
case (int)RegionType.Metros:
case (int)RegionType.Oresundsregion:
for(int i=0;i<regionSpecifics.Length;i++)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
aprice=Prices.GetBaseprice(nrquestions,regiontype);
par=regionSpecifics[i];
countryId=par.Substring(0,par.IndexOf(","));
AddProductItemRow(specification,
projectname+" ("+Regions.GetCountrynames(countryId,"")+")",
nrquestions,
aprice,
nrquestions*aprice);
totalprice+=nrquestions*aprice;
}
break;
case (int)RegionType.SpecificRegions:
for(int j=0;j<regionSpecifics.Length;j++)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
par=regionSpecifics[j];
countryId=par.Substring(0,par.IndexOf(","));
type=par.Substring(par.IndexOf(",")+1);
aprice=Prices.GetBaseprice(nrquestions,Convert.ToInt32(type));
AddProductItemRow(specification,
projectname+" ("+Regions.GetCountrynames(countryId,"")+")",
nrquestions,
aprice,
aprice*nrquestions);
totalprice+=aprice*nrquestions;
}
break;
}
double _totalprice=totalprice;
if(usingsex)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
_totalprice=_totalprice+totalprice/2;
specification.AddCell(new Phrase(Globals.RM.GetString("Invoice_SexExtra",Globals.CI),NormalFont));
specification.AddCell("");
specification.AddCell("");
specification.AddCell(new Phrase(Convert.ToString(totalprice/2)+" "+Globals.RM.GetString("Invoice_Currency",Globals.CI)+"(50%)",NormalFont));
![](/Images/OutliningIndicators/InBlock.gif)
}
if(usingage)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
_totalprice=_totalprice+totalprice/2;
specification.AddCell(new Phrase(Globals.RM.GetString("Invoice_AgeExtra",Globals.CI),NormalFont));
specification.AddCell("");
specification.AddCell("");
specification.AddCell(new Phrase(Convert.ToString(totalprice/2)+" "+Globals.RM.GetString("Invoice_Currency",Globals.CI)+"(50%)",NormalFont));
}
if(isSnabbLeverans)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
_totalprice=_totalprice+totalprice;
specification.AddCell(new Phrase(Globals.RM.GetString("Invoice_FastDelivery",Globals.CI),NormalFont));
specification.AddCell("");
specification.AddCell("");
specification.AddCell(new Phrase(Convert.ToString(totalprice)+" "+Globals.RM.GetString("Invoice_Currency",Globals.CI)+"(100%)",NormalFont));
![](/Images/OutliningIndicators/InBlock.gif)
}
![](/Images/OutliningIndicators/InBlock.gif)
specification.AddCell("");
specification.AddCell("");
specification.AddCell(new Phrase(Globals.RM.GetString("Faktura_Sum",Globals.CI),BoldFont));
specification.AddCell(new Phrase(Convert.ToString(_totalprice)+" "+Globals.RM.GetString("Invoice_Currency",Globals.CI),NormalFont));
![](/Images/OutliningIndicators/InBlock.gif)
specification.DefaultCell.Colspan=4;
//specification.DefaultCell.FixedHeight=10;
specification.AddCell("");
specification.AddCell("");
specification.AddCell("");
specification.AddCell("");
specification.AddCell("");
specification.AddCell("");
specification.AddCell("");
specification.AddCell("");
specification.AddCell("");
![](/Images/OutliningIndicators/InBlock.gif)
specification.AddCell("");
specification.AddCell("");
specification.AddCell("");
specification.AddCell("");
specification.AddCell(Line);
![](/Images/OutliningIndicators/InBlock.gif)
specification.DefaultCell.Colspan=1;
specification.AddCell("");
specification.AddCell("");
specification.AddCell(new Phrase(Globals.RM.GetString("Faktura_Tax",Globals.CI),BoldFont));
specification.AddCell(new Phrase(Convert.ToString(_totalprice/4)+" "+Globals.RM.GetString("Invoice_Currency",Globals.CI),NormalFont));
![](/Images/OutliningIndicators/InBlock.gif)
specification.AddCell("");
specification.AddCell("");
specification.AddCell(new Phrase(Globals.RM.GetString("Faktura_TotalToPay",Globals.CI),BoldFont));
specification.AddCell(new Phrase(Convert.ToString(_totalprice*1.25)+" "+Globals.RM.GetString("Invoice_Currency",Globals.CI),NormalFont));
specification.WriteSelectedRows(0,-1,0,-1,30,500,writer.DirectContent);
![](/Images/OutliningIndicators/InBlock.gif)
}
private static void AddCustomerAddress(Document document,PdfWriter writer,
string companyname,string username,string companyaddress,string postalcode,string postalort,string country)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
iTextSharp.text.pdf.PdfPTable address=new iTextSharp.text.pdf.PdfPTable(1);
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
float[] columnDefinitionSize=
{260F};
address.SetTotalWidth(columnDefinitionSize);
address.HorizontalAlignment=0;
address.DefaultCell.BorderColor=iTextSharp.text.Color.WHITE;
address.LockedWidth=true;
address.AddCell(new Phrase(companyname,NormalFont));
address.AddCell(new Phrase("Att: "+username,NormalFont));
address.AddCell(new Phrase(companyaddress,NormalFont));
address.AddCell(new Phrase(postalcode+" "+postalort,NormalFont));
address.AddCell(new Phrase(country,NormalFont));
address.AddCell("");
address.AddCell("");
address.AddCell(new Phrase(DateTime.Now.ToShortDateString(),NormalFont));
address.WriteSelectedRows(0,-1,0,-1,30,735,writer.DirectContent);
}
private static void AddRightHeader(Document
document,PdfWriter writer)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
iTextSharp.text.pdf.PdfPTable header=new
iTextSharp.text.pdf.PdfPTable(1);
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
float[] columnDefinitionSize=
{200F};
//float[] columnDefinitionSize = { 120F, 20F,120F };
//float width=document.PageSize.Width;
//float height=document.PageSize.Height;
//header.HorizontalAlignment=0;
header.DefaultCell.BorderColor=iTextSharp.text.Color.WHITE;
header.DefaultCell.HorizontalAlignment=2;
header.SetTotalWidth(columnDefinitionSize);
header.LockedWidth=true;
header.AddCell(new Phrase("Cint AB",NormalFont));
header.AddCell(new Phrase("Barnhusgatan 16",NormalFont));
header.AddCell(new Phrase("SE 11123 STOCKHOLM",NormalFont));
header.AddCell(new Phrase("SWEDEN",NormalFont));
header.AddCell("");
header.AddCell(new Phrase("Tel: +46-8-545-282 60",NormalFont));
header.AddCell(new Phrase("Fax: +46-8-545 282 70",NormalFont));
header.AddCell(new Phrase(Globals.RM.GetString("Invoice_SupportMail",Globals.CI),NormalFont));
header.AddCell(new Phrase(Globals.RM.GetString("Invoice_Snabbasvar",Globals.CI),NormalFont));
header.WriteSelectedRows(0,-1,0,-1,360,750,writer.DirectContent);
![](/Images/OutliningIndicators/InBlock.gif)
}
private static Font NormalFont
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
get
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
return new Font(Font.TIMES_ROMAN,10);
}
}
private static Font BoldFont
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
get
{return new Font(Font.TIMES_ROMAN,10,Font.BOLD);}
}
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
}
}
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
copy from:
http://spaces.msn.com/dingliang1974/blog/cns!DBA787C17BA421B1!113.entry
posted on
2006-02-09 18:12
RubyPDF
阅读(
6018)
评论()
编辑
收藏
举报