1 效果图
2.代码
引用组件:
using iTextSharp.text;
using iTextSharp.text.pdf;
using System;
using System.Data;
using System.IO;
using System.Text;
using System.Xml;
示例:
/// <summary>
/// 利用itextsharp 创建一个简单pdf文件
/// </summary>
private static void GetCreateDocumentPDF()
{
//开始创建PDF文档
Document document = new Document();
string fileName = DateTime.Now.ToString("yyyyMMddHHmmss")+".pdf";
PdfWriter.GetInstance(document, new FileStream("D:/" + fileName, FileMode.Create));
document.Open();
//字体
BaseFont baseFont = BaseFont.CreateFont(@"c:windowsfontsSIMSUN.TTC,1", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
//标题居中
Paragraph paragraph = new Paragraph("嘉峪关长城", new Font(baseFont, 18));
paragraph.Alignment = Element.ALIGN_CENTER;
document.Add(paragraph);
//段落
string strtext = "嘉峪关长城[1],在嘉峪关市区西南6公里处,位于嘉峪关最狭窄的山谷中部,城关两侧的城墙横穿沙漠戈壁,北连黑山悬壁长城,南接天下第一墩,是明代万里长城最西端的关口,以巍峨壮观著称于世,被誉为“天下雄关” 自古为河西第一隘口。关城始建于明洪武五(1372年)年因地势险要,建筑雄伟而有天下第一雄关连陲锁钥之称。[1]它由内城、外城、城壕三道防线组成重叠并守之势,形成五里一燧,十里一墩,三十里一堡,一百里一城的军事防御体系。关城以内城为主,周长640万平方米,面积2.5万平方米,城高10.7米,以黄土夯筑而成,西侧以砖包墙,雄伟坚固。内城有东西两门,东为光化门意为紫气东升,光华普照;西为柔远门意为以怀柔而致远,安定西陲。在两门外各有一瓮城围护,嘉峪关内城墙上还建有箭楼、敌楼、角楼、阁楼、闸门楼共十四座。嘉峪关关城是长城众多关城中保存最为完整的一座。";
Font lightblue = new Font(baseFont,12f, 1,new iTextSharp.text .BaseColor(43, 145, 175));
Font lightred = new Font(baseFont,12f, 1,new iTextSharp.text .BaseColor(163, 21, 21));
//创建一个图片对象
Stream sr = new FileStream("D:/100001.jpg", FileMode.Open, FileAccess.Read, FileShare.Read);
//iTextSharp.text.Image img = iTextSharp.text.Image.GetInstance(new Uri(@"d:Lock-icon.png"));
iTextSharp.text.Image img = iTextSharp.text.Image.GetInstance(sr);
//设置图片的指定大小
//img.ScaleToFit(140F, 320F);
//按比例缩放
//img.ScalePercent(50);
//把图片增加到内容页的指定位子 b width c height e bottom f left
// img.SetAbsolutePosition(100f, 150f);
Paragraph paragraph_text = new Paragraph(strtext, lightblue);
paragraph_text.Alignment = Element.ALIGN_JUSTIFIED;
img.ScaleToFit(200f,132f);
img.Alignment = Image.TEXTWRAP | Image.ALIGN_RIGHT;
img.IndentationLeft = 9f;
img.SpacingAfter = 9f;
img.BorderWidthTop = 10f;
img.BorderColorTop = iTextSharp.text.BaseColor.WHITE;
document.Add(img);
document.Add(paragraph_text);
document.Add(new Chunk("
嘉峪关长城
", lightred));
//添加table
PdfPTable table = new PdfPTable(3);
table.SetWidths(new int[]{35,30,35}); //table 列的width比例
table.WidthPercentage = 100;//table width 比例
//表头
for (int i = 0; i < 3; i++)
{
PdfPCell cell = new PdfPCell(new Phrase(2f, "标题" + i, lightblue));
cell.HorizontalAlignment = Element.ALIGN_CENTER;
table.AddCell(cell);
}
//数据
for (int i = 0; i < 5; i++)
{
for (int j = 0; j< 3; j++)
{
PdfPCell cell = new PdfPCell(new Phrase(2f, "内容" + j, lightred));
cell.HorizontalAlignment = Element.ALIGN_CENTER;
table.AddCell(cell);
}
}
document.Add(table);
Font link = new Font(baseFont, 12f, 1, new iTextSharp.text.BaseColor(0, 0, 255));
Anchor anchor = new Anchor(" LIN.SU ", link);
anchor.Reference = "http://www.cnblogs.com/linsu";
Paragraph ph2 = new Paragraph();
ph2.Alignment = Element.ALIGN_RIGHT;
ph2.Add(anchor);
Chunk c3 = new Chunk("2014年1月21日13:49:01", lightblue);
ph2.Add(c3);
document.Add(ph2);
document.AddAuthor("LIN.SU");
document.AddCreationDate();
document.Close();
}