All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
Visual C++ 6.0教程:c++程序的组成之常量与变量
教你IIS6的PHP最佳配置方法_[PHP教程]
实例:在ASP.NET中创建使用全球唯一标识符_.net资料_编程技术
用php把现有动态新闻页面改成静态页的方案_php资料_编程技术
MySQL创始人支招Oracle,建议转售MySQL_mssql学习_编程技术
一些有实用价值的SQL语句_[SQL Server教程]
简单实用的DataGrid自定义分页源程序_[Asp.Net教程]
用ASP.NET2.0如何随机读取Access记录?_[Asp.Net教程]
.NET精简框架的“无法找到资源程序集”异常释疑_.net资料_编程技术
SqlServer去除表中的不可见字符_[SQL,Server教程]
Reading number is top 10 pictures
The hot big eye big breast beauty1
China's first snake village1
A man's favorite things2
BingBingFan apple dew point photo gallery1
胸部遭到偷窥的女人们
The real super beauty5
联通的3G无线网卡我只用了一天,看看流量......
Ashlynn Brooke show proud chest measurement1
美女就是美女
做运动的校花2
Download software ranking
linux初级教程
Tram sex maniac 2 (H) rar bag8
C#与.NET技术平台实战演练
功夫熊猫2(上集)
仙剑奇侠传98版歌曲
Visual C++界面编程技术
软件工程思想
dreamweaver8中文版
Tram sex maniac 2 (H) rar bag16
Ashlynn Video4
delv published in(发表于) 2014/1/27 6:46:37 Edit(编辑)
Asp.net,2.0,用C#,创建,PDF文件(示例代码下载)_[Asp.Net教程]

Asp.net,2.0,用C#,创建,PDF文件(示例代码下载)_[Asp.Net教程]

Asp.net 2.0 用C# 创建 PDF文件(示例代码下载)_[Asp.Net教程]



Asp.net 2.0 用C# 创建 PDF文件(示例代码下载)


(一). 功能
创建PDF文件
(二). 代码
1using System;
2using System.Data;
3using System.Configuration;
4using System.Web;
5using System.Web.Security;
6using System.Web.UI;
7using System.Web.UI.WebControls;
8using System.Web.UI.WebControls.WebParts;
9using System.Web.UI.HtmlControls;
10using System.IO;
11using System.Text;
12using System.Collections;
13
14public partial class _Default : System.Web.UI.Page
15{
16 static float pageWidth = 594.0f;
17 static float pageDepth = 828.0f;
18 static float pageMargin = 30.0f;
19 static float fontSize = 10.0f;
20 static float leadSize = 10.0f;
21
22 //指定要生成PDF文件的路径
23 static StreamWriter pPDF = new StreamWriter("E:\\net\\WebSites\\Create_PDF_File\\test.pdf");//指定生成的路径
24
25 static MemoryStream mPDF = new MemoryStream();
26
27 //Convert the Text Data to PDF format and write back to
28 //Memory Stream
29 static void ConvertToByteAndAddtoStream(string strMsg)
30 {
31 Byte[] buffer = null;
32 buffer = ASCIIEncoding.ASCII.GetBytes(strMsg);
33 mPDF.Write(buffer, 0, buffer.Length);
34 buffer = null;
35 }
36
37 //Format the data length in xRef Format
38 static string xRefFormatting(long xValue)
39 {
40 string strMsg = xValue.ToString();
41 int iLen = strMsg.Length;
42 if (iLen < 10)
43 {
44 StringBuilder s = new StringBuilder();
45 int i = 10 - iLen;
46 s.Append('0', i);
47 strMsg = s.ToString() + strMsg;
48 }
49 return strMsg;
50 }
51 protected void Page_Load(object sender, EventArgs e)
52 {
53
54 }
55 protected void Button1_Click(object sender, EventArgs e)
56 {
57 //Create a ArrayList for xRefs of PDF Document
58 ArrayList xRefs = new ArrayList();
59 float yPos = 0f;
60 long streamStart = 0;
61 long streamEnd = 0;
62 long streamLen = 0;
63 string strPDFMessage = null;
64 //PDF Header Message
65 strPDFMessage = "%PDF-1.1\n";
66 ConvertToByteAndAddtoStream(strPDFMessage);
67
68 //ID 1 For Containt
69 //ID 2 For Length of the Stream
70 //write the Text
71
72 //1> Start a new Page
73 xRefs.Add(mPDF.Length);
74 strPDFMessage = "1 0 obj\n";
75 ConvertToByteAndAddtoStream(strPDFMessage);
76 strPDFMessage = "<< /Length 2 0 R >>\n";
77 ConvertToByteAndAddtoStream(strPDFMessage);
78 strPDFMessage = "stream\n";
79 ConvertToByteAndAddtoStream(strPDFMessage);
80
81 //Get the start of the stream
82 streamStart = mPDF.Length;
83 strPDFMessage = "BT\n/F0 " + fontSize + " Tf\n";
84 ConvertToByteAndAddtoStream(strPDFMessage);
85 yPos = pageDepth - pageMargin;
86 strPDFMessage = pageMargin + " " + yPos + " Td\n";
87 ConvertToByteAndAddtoStream(strPDFMessage);
88 strPDFMessage = leadSize + " TL\n";
89 ConvertToByteAndAddtoStream(strPDFMessage);
90
91 //Add the text data to the PDF memory stream
92 strPDFMessage = "(Do a test)Tj\n";
93 ConvertToByteAndAddtoStream(strPDFMessage);
94 strPDFMessage = "ET\n";
95 ConvertToByteAndAddtoStream(strPDFMessage);
96 //Get the End of the stream
97 streamEnd = mPDF.Length;
98 //Get the Length of the stream
99 streamLen = streamEnd - streamStart;
100 strPDFMessage = "endstream\nendobj\n";
101 ConvertToByteAndAddtoStream(strPDFMessage);
102
103 //Add 2 object to xRef
104 xRefs.Add(mPDF.Length);
105 strPDFMessage = "2 0 obj\n" + streamLen + "\nendobj\n";
106 ConvertToByteAndAddtoStream(strPDFMessage);
107
108 //Add Page to xRefs
109 xRefs.Add(mPDF.Length);
110 strPDFMessage = "3 0 obj\n<>\nendobj\n";
111 ConvertToByteAndAddtoStream(strPDFMessage);
112
113 //Build the Pages
114 xRefs.Add(mPDF.Length);
115 strPDFMessage = "4 0 obj\n<116 ConvertToByteAndAddtoStream(strPDFMessage);
117 strPDFMessage = "/Kids[\n3 0 R\n]\n";
118 ConvertToByteAndAddtoStream(strPDFMessage);
119 strPDFMessage = "/Resources<> >>\n";
120 ConvertToByteAndAddtoStream(strPDFMessage);
121 strPDFMessage = "/MediaBox [ 0 0 " + pageWidth + " " + pageDepth + " ]\n>>\nendobj\n";
122 ConvertToByteAndAddtoStream(strPDFMessage);
123
124 //Add font to xRefs
125 xRefs.Add(mPDF.Length);
126 strPDFMessage = "5 0 obj\n<>\nendobj\n";
127 ConvertToByteAndAddtoStream(strPDFMessage);
128
129 //Add the catalog to xRefs
130 xRefs.Add(mPDF.Length);
131 strPDFMessage = "6 0 obj\n<>\nendobj\n";
132 ConvertToByteAndAddtoStream(strPDFMessage);
133
134 //xRefs Entry
135 streamStart = mPDF.Length;
136 strPDFMessage = "xref\n0 7\n0000000000 65535 f \n";
137 for (int i = 0; i < xRefs.Count; i++)
138 {
139 strPDFMessage += xRefFormatting((long)xRefs[i]) + " 00000 n \n";
140 }
141 ConvertToByteAndAddtoStream(strPDFMessage);
142 //Trailer for the PDF
143 strPDFMessage = "trailer\n<<\n/Size " + (xRefs.Count + 1) + "\n/Root 6 0 R\n>>\n";
144 ConvertToByteAndAddtoStream(strPDFMessage);
145 //xRef location entry
146 strPDFMessage = "startxref\n" + streamStart + "\n%%EOF\n";
147 ConvertToByteAndAddtoStream(strPDFMessage);
148 //Write the PDF from Memory Stream to File Stream
149 mPDF.WriteTo(pPDF.BaseStream);
150 //Close the Stream
151 mPDF.Close();
152 pPDF.Close();
153 }
154}
155
(三). 示例代码下载


http://www.cnblogs.com/Files/ChengKing/Create_PDF_File.rar







添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.