基本信息
源码名称:ITextSharp 生成PDF实例,实例中还包含调用模版生成Word功能 附完整源码
源码大小:2.61M
文件格式:.zip
开发语言:C#
更新时间:2013-04-13
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 2 元×
微信扫码支付:2 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
压缩包中包含 ITextSharp中文教程用C#制作PDF文件全攻略.pdf 以及 用C#生成PDF文件、调用模版生成Word文档 等很多比较实用的实例,详见压缩包与截图,其中附完整源码
生成后的pdf文档如下图:
生成的word如下图:
附件中包含的《ITextSharp中文教程用C#制作PDF文件全攻略.pdf》截图如下:
default.aspx 前台代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WordExportTest._Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<meta http-equiv="Content-Type" content="text/html; charset=GB2312" />
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div styled="display:none;">
<asp:Button ID="Button1" runat="server" Text="调用WORD模板" OnClick="Button1_Click" />
<asp:Button ID="Button2" runat="server" Text="iTextSharpPDF示例"
onclick="Button2_Click" />
<asp:Button ID="Button3" runat="server" Text="iTextSharpWord示例"
onclick="Button3_Click" />
<asp:Button ID="Button4" runat="server" Text="0802" onclick="Button4_Click" />
<asp:Button ID="Button5" runat="server" onclick="Button5_Click"
style="height: 26px" Text="0804" />
<asp:Button ID="Button6" runat="server" onclick="Button6_Click" Text="1004" />
<asp:Button ID="Button7" runat="server" onclick="Button7_Click" Text="0302列表" />
<asp:Button ID="Button8" runat="server" onclick="Button8_Click" Text="0404画线" />
<asp:Button ID="Button9" runat="server" onclick="Button9_Click" Text="封装调用" />
</div>
<div>
<asp:Label ID="Label1" runat="server" Text="模板文件"></asp:Label>
<asp:TextBox ID="txtTemplate" runat="server">附表1</asp:TextBox>
<asp:Button ID="Button10" runat="server" Text="模板调用" onclick="Button10_Click" />
</div>
</form>
</body>
</html>
后台实现:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Collections;
using iTextSharp.text;
using System.IO;
using System.Drawing;
using iTextSharp.text.rtf;
using iTextSharp.text.pdf;
namespace WordExportTest
{
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
Hashtable column=new Hashtable();
column.Add("0","#年度#");
column.Add("1","#案由#");
column.Add("2","#经办人#");
IList<Hashtable> repValue=new List<Hashtable>();
Hashtable colval=new Hashtable();
colval.Add("0","2010");
colval.Add("1","食堂伙食不好");
colval.Add("2","张学友");
repValue.Add(colval);
CallWordTemplate callwordtemplate = new CallWordTemplate();
string strFileName = "案件移送审批表_" System.DateTime.Now.ToString("yyyyMMddhhmmssff") ".doc";
callwordtemplate.CallDotTemplate(column, repValue, "案件移送审批表.doc", strFileName);
}
protected void Button2_Click(object sender, EventArgs e)
{
//Document:(文档)生成pdf必备的一个对象,生成一个Document示例
Document document = new Document(PageSize.A4, 30, 30, 5, 5);
//为该Document创建一个Writer实例:
string strPdfFileName = System.AppDomain.CurrentDomain.BaseDirectory "PDFOutput\\" "测试PDF文件_" System.DateTime.Now.ToString("yyyyMMddhhmmssff") ".pdf";
//string strDocFileName = System.AppDomain.CurrentDomain.BaseDirectory "WordOutput\\" "测试PDF文件_" System.DateTime.Now.ToString("yyyyMMddhhmmssff") ".doc";
iTextSharp.text.pdf.PdfWriter.getInstance(document, new FileStream(strPdfFileName, FileMode.Create));
//iTextSharp.text.rtf.RtfWriter.getInstance(document, new FileStream(strDocFileName, FileMode.Create));
//打开当前Document
document.Open();
//为当前Document添加内容:
document.Add(new Paragraph("Hello World"));
//另起一行。有几种办法建立一个段落,如:
Paragraph p1 = new Paragraph(new Chunk("This is my first paragraph.\n", FontFactory.getFont(FontFactory.HELVETICA, 12)));
Paragraph p2 = new Paragraph(new Phrase("This is my second paragraph.", FontFactory.getFont(FontFactory.HELVETICA, 12)));
Paragraph p3 = new Paragraph("This is my third paragraph.", FontFactory.getFont(FontFactory.HELVETICA, 12));
//所有有些对象将被添加到段落中:
p1.Add("you can add string here\n\t");
p1.Add(new Chunk("you can add chunks \n")); p1.Add(new Phrase("or you can add phrases.\n"));
document.Add(p1); document.Add(p2); document.Add(p3);
//创建了一个内容为“hello World”、红色、斜体、COURIER字体、尺寸20的一个块:
Chunk chunk = new Chunk("Hello world", FontFactory.getFont(FontFactory.COURIER, 20, iTextSharp.text.Font.COURIER, new iTextSharp.text.Color(255, 0, 0)));
document.Add(chunk);
//如果你希望一些块有下划线或删除线,你可以通过改变字体风格简单做到:
Chunk chunk1 = new Chunk("This text is underlined", FontFactory.getFont(FontFactory.HELVETICA, 12, iTextSharp.text.Font.UNDEFINED));
Chunk chunk2 = new Chunk("This font is of type ITALIC | STRIKETHRU", FontFactory.getFont(FontFactory.HELVETICA, 12, iTextSharp.text.Font.ITALIC | iTextSharp.text.Font.STRIKETHRU));
//改变块的背景
chunk2.setBackground(new iTextSharp.text.Color(0xFF, 0xFF, 0x00));
//上标/下标
chunk1.setTextRise(5);
document.Add(chunk1);
document.Add(chunk2);
//外部链接示例:
//BaseFont bfSun1 = BaseFont.createFont(@"C:\WINDOWS\Fonts\SIMHEI.TTF", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
//iTextSharp.text.Font font1 = new iTextSharp.text.Font(bfSun1, 16);
//string text = "iTextSharp网站";
Anchor anchor = new Anchor("iTextSharp网站", FontFactory.getFont(@"C:\WINDOWS\Fonts\SIMHEI.TTF", 12, iTextSharp.text.Font.UNDEFINED, new iTextSharp.text.Color(0, 0, 255)));
anchor.Reference = "http://itextsharp.sourceforge.net/";
anchor.Name = "website";
//内部链接示例:
//BaseFont bfSun = BaseFont.createFont(@"c:\winnt\fonts\SIMSUN.TTC,1", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
BaseFont bfSun = BaseFont.createFont(@"C:\WINDOWS\Fonts\SIMSUN.TTC,1", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
iTextSharp.text.Font font = new iTextSharp.text.Font(bfSun, 16);
string text = "这是字体集合中的新宋体测试和一个内部链接!\n\n";
//Anchor anchor1 = new Anchor(new Paragraph(text, font));
//anchor1.Name = "link1";
//Anchor anchor2 = new Anchor("点击将跳转到内部链接\n\f");
//anchor2.Reference = "#link1";
//document.Add(anchor); document.Add(anchor1); document.Add(anchor2);
BaseFont bfHei = BaseFont.createFont(@"c:\WINDOWS\fonts\SIMHEI.TTF", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
font = new iTextSharp.text.Font(bfHei, 32);
text = "这是黑体字测试!";
document.Add(new Paragraph(text, font));
TextWordPDF wordpdf = new TextWordPDF();
string sFontName = wordpdf.GetFontName(TextWordPDF.FontName.黑体);
bfSun = BaseFont.createFont(sFontName, BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
font = new iTextSharp.text.Font(bfSun, 16);
text = "这是字体集合中的新宋体测试!";
document.Add(new Paragraph(text, font));
//排序列表示例:
List list = new List(true, 20);
list.Add(new iTextSharp.text.ListItem("First line"));
list.Add(new iTextSharp.text.ListItem("The second line is longer to see what happens once the end of the line is reached. Will it start on a new line?"));
list.Add(new System.Web.UI.WebControls.ListItem("Third line"));
document.Add(list);
//文本注释:
Annotation a = new Annotation("authors", "Maybe its because I wanted to be an author myself that I wrote iText.");
document.Add(a);
//包含页码没有任何边框的页脚。
HeaderFooter footer = new HeaderFooter(new Phrase("This is page: "), true);
footer.Border = iTextSharp.text.Rectangle.NO_BORDER;
document.Footer = footer;
//Chapter对象和Section对象自动构建一个树:
iTextSharp.text.Font f1 = new iTextSharp.text.Font();
f1.setStyle(iTextSharp.text.Font.BOLD.ToString());
Paragraph cTitle = new Paragraph("This is chapter 1", f1);
Chapter chapter = new Chapter(cTitle, 1);
Paragraph sTitle = new Paragraph("This is section 1 in chapter 1", f1);
Section section = chapter.addSection(sTitle, 1);
document.Add(chapter);
//构建了一个简单的表:
iTextSharp.text.Table aTable = new iTextSharp.text.Table(4, 4);
aTable.AutoFillEmptyCells = true;
aTable.addCell("2.2", new Point(2, 2));
aTable.addCell("3.3", new Point(3, 3));
aTable.addCell("2.1", new Point(2, 1));
aTable.addCell("1.3", new Point(1, 3));
document.Add(aTable);
//构建了一个不简单的表:
iTextSharp.text.Table table = new iTextSharp.text.Table(3);
table.BorderWidth = 1;
table.BorderColor = new iTextSharp.text.Color(0, 0, 255);
table.Cellpadding = 5;
table.Cellspacing = 5;
Cell cell = new Cell("header");
cell.Header = true;
cell.Colspan = 3;
table.addCell(cell);
cell = new Cell("example cell with colspan 1 and rowspan 2");
cell.Rowspan = 2;
cell.BorderColor = new iTextSharp.text.Color(255, 0, 0);
table.addCell(cell);
table.addCell("1.1");
table.addCell("2.1");
table.addCell("1.2");
table.addCell("2.2");
table.addCell("cell test1");
cell = new Cell("big cell");
cell.Rowspan = 2;
cell.Colspan = 2;
cell.BackgroundColor = new iTextSharp.text.Color(0xC0, 0xC0, 0xC0);
table.addCell(cell);
table.addCell("cell test2");
// 改变了单元格“big cell”的对齐方式:
cell.HorizontalAlignment = Element.ALIGN_CENTER;
cell.VerticalAlignment = Element.ALIGN_MIDDLE;
document.Add(table);
Graphic g = new Graphic();
g.setBorder(3f, 5f);
document.Add(g);
document.Add(new Paragraph("Hello World"));
document.Add(new Paragraph("Hello World\n\n"));
g = new Graphic();
g.setHorizontalLine(5f, 100f);
document.Add(g);
document.Add(new Paragraph("Hello World"));
document.Add(new Paragraph("Hello World\n\n"));
g = new Graphic();
g.setHorizontalLine(2f, 80f, new iTextSharp.text.Color(0xFF, 0x00, 0x00));
document.Add(g);
g = new Graphic();
g.setHorizontalLine(2f, 80f,new iTextSharp.text.Color(System.Drawing.Color.Black));
document.Add(g);
//关闭Document
document.Close();
}
protected void Button3_Click(object sender, EventArgs e)
{
Document document = new Document(PageSize.A4, 50, 50, 50, 50);
string strDocFileName = System.AppDomain.CurrentDomain.BaseDirectory "WordOutput\\" "测试PDF文件_" System.DateTime.Now.ToString("yyyyMMddhhmmssff") ".doc";
RtfWriter writer = RtfWriter.getInstance(document, new FileStream(strDocFileName, FileMode.Create)); //RtfWriter2 ,不要用RtfWriter,Server.MapPath服务器上存放文件路径目录
//writer.SetDataCacheStyle(iTextSharp.text.rtf.document.output.RtfDataCache.CACHE_DISK);
FontFactory.register("c:\\windows\\fonts\\mingliu.ttc,1", "mingliu1"); //这个字体是特别指定的,一定要先在FontFactory注册,第二个参数是起了一个同名,后面FontFactory.getFont用到这个同名
//以下是将定义好的table给document.Header,如果需要页尾,也是一样先定义table,然后header.SetHeaderFooter()方法+document.Footer = footertable,在此略去不写
Phrase phrase = new Phrase("**傢俱股份有限公司", FontFactory.getFont("mingliu1", 12, iTextSharp.text.Font.UNDERLINE));
//rtfHeaderFooterGroup header = new RtfHeaderFooterGroup();
//header.SetHeaderFooter(
// new iTextSharp.text.rtf.headerfooter.RtfHeaderFooter(phrase),
// iTextSharp.text.rtf.headerfooter.RtfHeaderFooter.DISPLAY_ALL_PAGES);
HeaderFooter header = new HeaderFooter(phrase, false);
document.Header = header;
//打开文档
document.Open();
BaseFont bfSun = BaseFont.createFont(@"c:\WINDOWS\fonts\SIMSUN.TTC,1", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
iTextSharp.text.Font font = new iTextSharp.text.Font(bfSun, 16, iTextSharp.text.Font.BOLD);
string text = "这是字体集合中的新宋体测试,有下划线!";
Paragraph pg1 = new Paragraph(text, font);
pg1.Add(" 同一段落的延续");
Phrase myphrase = new Phrase(" **__________________________________________________________傢俱股份有限公司_____________________________________ ", FontFactory.getFont("mingliu1", 12, iTextSharp.text.Font.UNDERLINE));
pg1.Add(myphrase);
pg1.Add(new Phrase("**傢俱股份有限公司", FontFactory.getFont("mingliu1", 12)));
document.Add(pg1);
iTextSharp.text.Font font2 = new iTextSharp.text.Font(bfSun, 16, iTextSharp.text.Font.BOLD);
string text2 = "这是字体集合中的新宋体测试,无下划线!";
Paragraph ph2=new Paragraph(text2, font2);
ph2.Alignment = Element.ALIGN_CENTER;
document.Add(ph2);
//Chunk chunk1 = new Chunk("This text is underlined", FontFactory.getFont(FontFactory.HELVETICA, 12, iTextSharp.text.Font.UNDEFINED));
iTextSharp.text.Table headerTable = new iTextSharp.text.Table(6, 7);
//正文的编辑
headerTable.Border = iTextSharp.text.Rectangle.NO_BORDER;
headerTable.Cellpadding = 2;
headerTable.Cellspacing = 0;
int[] columnWidths = { 12, 30, 10, 18, 12, 23 }; // 各个column宽度所占百分比
headerTable.setWidths(columnWidths);
headerTable.WidthPercentage = 100; // 整个headertable 100%占满页面
Cell titleCell = new Cell(new Phrase("**傢俱股份有限公司", FontFactory.getFont("mingliu1", 12, iTextSharp.text.Font.UNDERLINE)));
titleCell.Colspan = 6;
titleCell.Border = iTextSharp.text.Rectangle.NO_BORDER;
titleCell.HorizontalAlignment = Element.ALIGN_CENTER;
headerTable.addCell(titleCell);
Cell titleCell1 = new Cell(new Phrase("报价单", FontFactory.getFont("mingliu1", 12, iTextSharp.text.Font.BOLD)));
titleCell1.Colspan = 6;
titleCell1.Border = iTextSharp.text.Rectangle.NO_BORDER;
titleCell1.HorizontalAlignment = Element.ALIGN_CENTER;
headerTable.addCell(titleCell1);
Cell blankCell = new Cell(new Phrase("", FontFactory.getFont("mingliu1", 12, iTextSharp.text.Font.BOLD)));
blankCell.Colspan = 6;
blankCell.Border = iTextSharp.text.Rectangle.NO_BORDER;
headerTable.addCell(blankCell);
//document.Add(headerTable);
iTextSharp.text.Table table = new iTextSharp.text.Table(3);
table.BorderWidth = 1;
table.BorderColor = new iTextSharp.text.Color(0, 0, 255);
table.Padding = 5;
table.Spacing = 5;
Cell cell = new Cell("header");
cell.Header = true;
cell.Colspan = 3;
table.addCell(cell);
cell = new Cell("example cell with colspan 1 and rowspan 2");
cell.Rowspan = 2;
cell.BorderColor = new iTextSharp.text.Color(255, 0, 0);
table.addCell(cell);
table.addCell("1.1");
table.addCell("2.1");
table.addCell("1.2");
table.addCell("2.2");
table.addCell("cell test1");
cell = new Cell("big cell");
cell.Rowspan = 2;
cell.Colspan = 2;
cell.BackgroundColor = new iTextSharp.text.Color(0xC0, 0xC0, 0xC0);
table.addCell(cell);
table.addCell("cell test2");
document.Add(table);
Graphic g = new Graphic();
g.setBorder(3f, 5f);
document.Add(g);
document.Add(new Paragraph("Hello World"));
document.Add(new Paragraph("Hello World\n\n"));
g = new Graphic();
g.setHorizontalLine(5f, 100f);
document.Add(g);
document.Add(new Paragraph("Hello World"));
document.Add(new Paragraph("Hello World\n\n"));
g = new Graphic();
g.setHorizontalLine(2f, 80f, new iTextSharp.text.Color(0xFF, 0x00, 0x00));
document.Add(g);
//关闭文档
document.Close();
//文档编辑完后,我是通过resposne输出
Response.Clear();
Response.Buffer = true;
Response.Charset = "UTF8";
Response.ContentEncoding = System.Text.Encoding.UTF7;
Response.ContentType = "application/msword";//设置输出文件类型为WORD文件。
Response.AddHeader("Content-Disposition", "attachment;filename=" strDocFileName);
Response.WriteFile(strDocFileName);
Response.Flush();
Response.End();
}
protected void Button4_Click(object sender, EventArgs e)
{
Document document = new Document(PageSize.A4, 50, 50, 50, 50);
string strDocFileName = System.AppDomain.CurrentDomain.BaseDirectory "WordOutput\\" "测试Word0803.rtf";
RtfWriter writer = RtfWriter.getInstance(document, new FileStream(strDocFileName, FileMode.Create)); //RtfWriter2 ,不要用RtfWriter,Server.MapPath服务器上存放文件路径目录
/* We specify that the RTF file has a Title Page */
writer.HasTitlePage= true;
/* We create headers and footers for the RTF file */
RtfHeaderFooters header = new RtfHeaderFooters();
RtfHeaderFooters footer = new RtfHeaderFooters();
/* We add a header that will only appear on the first page */
header.Set(RtfHeaderFooters.FIRST_PAGE, new HeaderFooter(new Phrase("This header is only on the first page"), false));
/* We add a header that will only appear on left-side pages */
header.Set(RtfHeaderFooters.LEFT_PAGES, new HeaderFooter(new Phrase("This header is only on left pages"), false));
/* We add a header that will only appear on right-side pages */
header.Set(RtfHeaderFooters.RIGHT_PAGES, new HeaderFooter(new Phrase("This header is only on right pages. "), false));
/* We add a footer that will appear on all pages except the first (because of the title page)
* Because the header has different left and right page footers, we have to add the footer
* to both the left and right pages. */
footer.Set(RtfHeaderFooters.LEFT_PAGES, new HeaderFooter(new Phrase("This footer is on all pages except the first. Page: "), true));
footer.Set(RtfHeaderFooters.RIGHT_PAGES, new HeaderFooter(new Phrase("This footer is on all pages except the first. Page: "), true));
/* Open the document */
document.Open();
//// step 4: we create two chapters and add the same content to both.
//Paragraph par = new Paragraph("This is some sample content.");
//Chapter chap1 = new Chapter("Chapter 1", 1);
//chap1.Add(par);
//Chapter chap2 = new Chapter("Chapter 2", 2);
//chap2.Add(par);
//// step 5: we create the header for the first chapter, set the header and
//// then add the first chapter.
//HeaderFooter hf1 = new HeaderFooter(new Phrase("This is chapter 1"), false);
//document.Header = hf1;
//document.Add(chap1);
//// step 6: we create a second header, set this one and then add the second
//// chapter.
//HeaderFooter hf2 = new HeaderFooter(new Phrase("This is chapter 2"), false);
//document.Header = hf2;
//document.Add(chap2);
///* We add the header and footer */
//document.Header = header;
//document.Footer = footer;
/* We add some content */
Chapter chapter = new Chapter(new Paragraph("Advanced RTF headers and footers", new iTextSharp.text.Font(iTextSharp.text.Font.HELVETICA, 16, iTextSharp.text.Font.BOLD)), 1);
chapter.Add(new Paragraph("This document demonstrates the use of advanced RTF headers and footers."));
for (int i = 0;
i < 300;
i )
{
chapter.Add(new Paragraph("Line " i));
} document.Add(chapter);
//关闭文档
document.Close();
}
protected void Button5_Click(object sender, EventArgs e)
{
Document document = new Document();
string strDocFileName = System.AppDomain.CurrentDomain.BaseDirectory "WordOutput\\" "测试Word0804.doc";
RtfWriter writer = RtfWriter.getInstance(document, new FileStream(strDocFileName, FileMode.Create)); //RtfWriter2 ,不要用RtfWriter,Server.MapPath服务器上存放文件路径目录
// step 3: we open the document
document.Open();
// step 4: we create a table and add it to the document
iTextSharp.text.Table table = new iTextSharp.text.Table(3);
table.BorderWidth = 1;
table.BorderColor = new iTextSharp.text.Color(0, 0, 255);
table.Padding = 5;
table.Spacing = 5;
Cell cell = new Cell("header");
cell.Header = true;
cell.Colspan = 3;
table.addCell(cell);
cell = new Cell("example cell with colspan 1 and rowspan 2");
cell.Rowspan = 2;
cell.BorderColor = new iTextSharp.text.Color(255, 0, 0);
table.addCell(cell);
table.addCell("1.1");
table.addCell("2.1");
table.addCell("1.2");
table.addCell("2.2");
table.addCell("cell test1");
cell = new Cell("big cell");
cell.Rowspan = 2;
cell.Colspan = 2;
cell.BackgroundColor = new iTextSharp.text.Color(0xC0, 0xC0, 0xC0);
table.addCell(cell);
table.addCell("cell test2");
document.Add(table);
document.Close();
}
protected void Button6_Click(object sender, EventArgs e)
{
Document document = new Document();
string strDocFileName = System.AppDomain.CurrentDomain.BaseDirectory "PDFOutput\\" "测试PDF1004.pdf";
PdfWriter writer = PdfWriter.getInstance(document, new FileStream(strDocFileName, FileMode.Create)); //RtfWriter2 ,不要用RtfWriter,Server.MapPath服务器上存放文件路径目录
// step 3: we open the document
document.Open();
// step 4: we grab the ContentByte and do some stuff with it
PdfContentByte cb = writer.DirectContent;
// we create a PdfTemplate
PdfTemplate template = cb.createTemplate(50, 50);
BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);
// we add a number of pages
int i;
for (i = 1; i < 5; i )
{
String text = "Page " writer.PageNumber " of ";
float len = bf.getWidthPoint(text, 12);
cb.beginText();
cb.setFontAndSize(bf, 12);
cb.setTextMatrix(280, 40);
cb.showText(text);
cb.endText();
cb.addTemplate(template, 280 len, 40);
document.newPage();
}
template.beginText();
template.setFontAndSize(bf, 12);
template.showText((writer.PageNumber - 1).ToString());
template.endText();
document.Close();
}
protected void Button7_Click(object sender, EventArgs e)
{
Document document = new Document();
string strDocFileName = System.AppDomain.CurrentDomain.BaseDirectory "WordOutput\\" "测试Word0302列表.doc";
RtfWriter writer = RtfWriter.getInstance(document, new FileStream(strDocFileName, FileMode.Create)); //RtfWriter2 ,不要用RtfWriter,Server.MapPath服务器上存放文件路径目录
// step 3: we open the document
document.Open();
List list = new List(true, 10);
list.IndentationLeft = 10;
iTextSharp.text.ListItem listItem1=new iTextSharp.text.ListItem("第一行,参考一下System.Environment的东西,比如: System.Environment.SystemDirectory System.Environment.GetFolderPath(System.Environment.SpecialFolder.System)");
list.Add(listItem1);
//listItem1.Add();
List sublist;
sublist = new List(true, 15);
//sublist.ListSymbol = new Chunk("", FontFactory.getFont(FontFactory.HELVETICA, 8));
sublist.IndentationLeft = 10;
sublist.Add("第一行下的第一行");
sublist.Add("The Complete Robot");
sublist.Add("Caves of Steel");
sublist.Add("The Naked Sun");
list.Add(sublist);
list.Add(new iTextSharp.text.ListItem("第二行"));
sublist = new List(true, 15);
//sublist.ListSymbol = new Chunk("", FontFactory.getFont(FontFactory.HELVETICA, 8));
sublist.IndentationLeft = 10;
sublist.Add("第二行下的第一行");
sublist.Add("The Complete Robot");
sublist.Add("Caves of Steel");
sublist.Add("The Naked Sun");
list.Add(sublist);
list.Add(new iTextSharp.text.ListItem("第三行"));
document.Add(list);
document.Add(new Paragraph("some books I really like:"));
iTextSharp.text.ListItem listItem;
list = new List(true, 10);
listItem = new iTextSharp.text.ListItem("When Harlie was one", FontFactory.getFont(FontFactory.TIMES_NEW_ROMAN, 12));
listItem.Add(new Chunk(" by David Gerrold", FontFactory.getFont(FontFactory.TIMES_NEW_ROMAN, 11, iTextSharp.text.Font.ITALIC)));
list.Add(listItem);
listItem = new iTextSharp.text.ListItem("The World according to Garp", FontFactory.getFont(FontFactory.TIMES_NEW_ROMAN, 12));
listItem.Add(new Chunk(" by John Irving", FontFactory.getFont(FontFactory.TIMES_NEW_ROMAN, 11, iTextSharp.text.Font.ITALIC)));
list.Add(listItem);
listItem = new iTextSharp.text.ListItem("Decamerone", FontFactory.getFont(FontFactory.TIMES_NEW_ROMAN, 12));
listItem.Add(new Chunk(" by Giovanni Boccaccio", FontFactory.getFont(FontFactory.TIMES_NEW_ROMAN, 11, iTextSharp.text.Font.ITALIC)));
list.Add(listItem);
document.Add(list);
Paragraph paragraph = new Paragraph("some movies I really like:\n");
list = new List(true, 15);
list.Add("Wild At Heart");
list.Add("Casablanca");
list.Add("When Harry met Sally");
list.Add("True Romance");
list.Add("Le mari de la coiffeuse");
paragraph.Add(list);
document.Add(paragraph);
document.Add(new Paragraph("Some authors I really like:"));
list = new List(false, 20);
list.ListSymbol = new Chunk("\u2022", FontFactory.getFont(FontFactory.HELVETICA, 20, iTextSharp.text.Font.BOLD));
listItem = new iTextSharp.text.ListItem("Isaac Asimov");
list.Add(listItem);
//List sublist;
sublist = new List(true, 10);
sublist.ListSymbol = new Chunk("", FontFactory.getFont(FontFactory.HELVETICA, 8));
sublist.Add("The Foundation Trilogy");
sublist.Add("The Complete Robot");
sublist.Add("Caves of Steel");
sublist.Add("The Naked Sun");
list.Add(sublist);
listItem = new iTextSharp.text.ListItem("John Irving");
list.Add(listItem);
sublist = new List(true, 10);
sublist.ListSymbol = new Chunk("", FontFactory.getFont(FontFactory.HELVETICA, 8));
sublist.Add("The World according to Garp");
sublist.Add("Hotel New Hampshire");
sublist.Add("A prayer for Owen Meany");
sublist.Add("Widow for a year");
list.Add(sublist);
listItem = new iTextSharp.text.ListItem("Kurt Vonnegut");
list.Add(listItem);
sublist = new List(true, 10);
sublist.ListSymbol = new Chunk("", FontFactory.getFont(FontFactory.HELVETICA, 8));
sublist.Add("Slaughterhouse 5");
sublist.Add("Welcome to the Monkey House");
sublist.Add("The great pianola");
sublist.Add("Galapagos");
list.Add(sublist);
document.Add(list);
document.Close();
}
protected void Button8_Click(object sender, EventArgs e)
{
string sSystemPath = System.Environment.GetFolderPath(System.Environment.SpecialFolder.System);
int p = sSystemPath.LastIndexOf('\\');
string parent = sSystemPath.Substring(0, p);
string fullPath = Path.Combine(parent, "Fonts");
Document document = new Document();
string strDocFileName = System.AppDomain.CurrentDomain.BaseDirectory "WordOutput\\" "测试Word0404列表.doc";
RtfWriter writer = RtfWriter.getInstance(document, new FileStream(strDocFileName, FileMode.Create)); //RtfWriter2 ,不要用RtfWriter,Server.MapPath服务器上存放文件路径目录
// step 3: we open the document
document.Open();
// step 4: we add a Graphic to the document
Graphic grx = new Graphic();
// add a rectangle
grx.rectangle(100, 700, 100, 100);
// add the diagonal
grx.moveTo(100, 700);
grx.lineTo(200, 800);
// stroke the lines
grx.stroke();
document.Add(grx);
document.Close();
}
protected void Button9_Click(object sender, EventArgs e)
{
TextWordPDF textWord = new TextWordPDF();
textWord.ExportDocType = TextWordPDF.DocType.Word;
textWord.ExportFileName = "测试封装的WORD文件_" System.DateTime.Now.ToString("yyyyMMddhhmmssff") ".doc"; ;
Document document = textWord.CreateDocument();
string sHeiTi=textWord.GetFontName(TextWordPDF.FontName.黑体);
Phrase phrase = new Phrase("**傢俱股份有限公司", FontFactory.getFont(sHeiTi, 12, iTextSharp.text.Font.UNDERLINE));
//rtfHeaderFooterGroup header = new RtfHeaderFooterGroup();
//header.SetHeaderFooter(
// new iTextSharp.text.rtf.headerfooter.RtfHeaderFooter(phrase),
// iTextSharp.text.rtf.headerfooter.RtfHeaderFooter.DISPLAY_ALL_PAGES);
HeaderFooter header = new HeaderFooter(phrase, false);
document.Header = header;
//打开文档
document.Open();
BaseFont bfSun = BaseFont.createFont(@"c:\WINDOWS\fonts\SIMSUN.TTC,1", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
iTextSharp.text.Font font = new iTextSharp.text.Font(bfSun, 16, iTextSharp.text.Font.BOLD);
string text = "这是字体集合中的新宋体测试,有下划线!";
Paragraph pg1 = new Paragraph(text, font);
pg1.Add(" 同一段落的延续");
Phrase myphrase = new Phrase(" **_______________________________________--------_傢俱股份有限公司_____________________________________ ", FontFactory.getFont("mingliu1", 12,7));// iTextSharp.text.Font.UNDERLINE | iTextSharp.text.Font.BOLD|iTextSharp.text.Font.ITALIC));
pg1.Add(myphrase);
pg1.Add(new Phrase("**傢俱股份有限公司", FontFactory.getFont("mingliu1", 12)));
document.Add(pg1);
iTextSharp.text.Font font2 = new iTextSharp.text.Font(bfSun, 16, iTextSharp.text.Font.BOLD);
string text2 = "这是字体集合中的新宋体测试,无下划线!";
Paragraph ph2 = new Paragraph(text2, font2);
ph2.Alignment = Element.ALIGN_CENTER;
document.Add(ph2);
//Chunk chunk1 = new Chunk("This text is underlined", FontFactory.getFont(FontFactory.HELVETICA, 12, iTextSharp.text.Font.UNDEFINED));
iTextSharp.text.Table headerTable = new iTextSharp.text.Table(6, 7);
//正文的编辑
headerTable.Border = iTextSharp.text.Rectangle.NO_BORDER;
headerTable.Cellpadding = 2;
headerTable.Cellspacing = 0;
int[] columnWidths = { 12, 30, 10, 18, 12, 23 }; // 各个column宽度所占百分比
headerTable.setWidths(columnWidths);
headerTable.WidthPercentage = 100; // 整个headertable 100%占满页面
Cell titleCell = new Cell(new Phrase("**傢俱股份有限公司", FontFactory.getFont(sHeiTi, 12, iTextSharp.text.Font.UNDERLINE)));
titleCell.Colspan = 6;
titleCell.Border = iTextSharp.text.Rectangle.NO_BORDER;
titleCell.HorizontalAlignment = Element.ALIGN_CENTER;
headerTable.addCell(titleCell);
Cell titleCell1 = new Cell(new Phrase("报价单", FontFactory.getFont(sHeiTi, 12, iTextSharp.text.Font.BOLD)));
titleCell1.Colspan = 6;
titleCell1.Border = iTextSharp.text.Rectangle.NO_BORDER;
titleCell1.HorizontalAlignment = Element.ALIGN_CENTER;
headerTable.addCell(titleCell1);
Cell blankCell = new Cell(new Phrase("", FontFactory.getFont(sHeiTi, 12, iTextSharp.text.Font.BOLD)));
blankCell.Colspan = 6;
blankCell.Border = iTextSharp.text.Rectangle.NO_BORDER;
headerTable.addCell(blankCell);
//document.Add(headerTable);
iTextSharp.text.Table table = new iTextSharp.text.Table(3);
table.BorderWidth = 1;
table.BorderColor = new iTextSharp.text.Color(0, 0, 255);
table.Padding = 5;
table.Spacing = 5;
Cell cell = new Cell("header");
cell.Header = true;
cell.Colspan = 3;
table.addCell(cell);
cell = new Cell("example cell with colspan 1 and rowspan 2");
cell.Rowspan = 2;
cell.BorderColor = new iTextSharp.text.Color(255, 0, 0);
table.addCell(cell);
table.addCell("1.1");
table.addCell("2.1");
table.addCell("1.2");
table.addCell("2.2");
table.addCell("cell test1");
cell = new Cell("big cell");
cell.Rowspan = 2;
cell.Colspan = 2;
cell.BackgroundColor = new iTextSharp.text.Color(0xC0, 0xC0, 0xC0);
table.addCell(cell);
table.addCell("cell test2");
document.Add(table);
Graphic g = new Graphic();
g.setBorder(3f, 5f);
document.Add(g);
document.Add(new Paragraph("Hello World"));
document.Add(new Paragraph("Hello World\n\n"));
g = new Graphic();
g.setHorizontalLine(5f, 100f);
document.Add(g);
document.Add(new Paragraph("Hello World"));
document.Add(new Paragraph("Hello World\n\n"));
g = new Graphic();
g.setHorizontalLine(2f, 80f, new iTextSharp.text.Color(0xFF, 0x00, 0x00));
document.Add(g);
//关闭文档
document.Close();
//文档编辑完后,我是通过resposne输出
Response.Clear();
Response.Buffer = true;
Response.Charset = "UTF8";
Response.ContentEncoding = System.Text.Encoding.UTF7;
Response.ContentType = "application/msword";//设置输出文件类型为WORD文件。
Response.AddHeader("Content-Disposition", "attachment;filename=" Server.HtmlDecode(textWord.ExportFileName));
Response.WriteFile(textWord.ExportFullFileName);
Response.Flush();
Response.End();
}
protected void Button10_Click(object sender, EventArgs e)
{
string sTxtTemplate = txtTemplate.Text.Trim();
TextWordPDF textword = new TextWordPDF();
textword.ExportFileName = sTxtTemplate System.DateTime.Now.ToString("yyyyMMddhhmmssff") ".doc";
textword.TemplateFileName =sTxtTemplate ".xml";
string sReturn =textword.ExportFromTemplate();
if (sReturn != "")
{
ClientScript.RegisterClientScriptBlock(this.GetType(),"show",
string.Format("<script type=\"text/javascript\" language=\"javascript\">alert('{0}');</script>", sReturn));
}
//文档编辑完后,我是通过resposne输出
Response.Clear();
Response.Buffer = true;
Response.Charset = "GB2312";
Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
Response.ContentType = "application/msword";//设置输出文件类型为WORD文件。
Response.AddHeader("Content-Disposition", "attachment;filename=" HttpUtility.UrlEncode(textword.ExportFileName, System.Text.Encoding.UTF8).ToString());
Response.WriteFile(textword.ExportFullFileName);
Response.Flush();
Response.End();
}
}
}