当前位置:首页 > 网络编程 > 软件语言 > .NET > 用C#实现生成PDF文档(原码)

用C#实现生成PDF文档(原码)

点击次数:57 次 发布日期:2008-11-06 08:08:08 作者:源代码网
源代码网推荐
广告载入中
//write by wenhui.org
源代码网推荐using System;
源代码网推荐using System.IO;
源代码网推荐using System.Text;
源代码网推荐using System.Collections;
源代码网推荐
源代码网推荐namespace PDFGenerator
源代码网推荐{
源代码网推荐
源代码网推荐public class PDFGenerator
源代码网推荐{
源代码网推荐static float pageWidth = 594.0f;
源代码网推荐static float pageDepth = 828.0f;
源代码网推荐static float pageMargin = 30.0f;
源代码网推荐static float fontSize = 20.0f;
源代码网推荐static float leadSize = 10.0f;
源代码网推荐
源代码网推荐
源代码网推荐static StreamWriter pPDF=new StreamWriter("E:\myPDF.pdf");
源代码网推荐
源代码网推荐static MemoryStream mPDF= new MemoryStream();
源代码网推荐
源代码网推荐static void ConvertToByteAndAddtoStream(string strMsg)
源代码网推荐{
源代码网推荐Byte[] buffer=null;
源代码网推荐buffer=ASCIIEncoding.ASCII.GetBytes(strMsg);
源代码网推荐mPDF.Write(buffer,0,buffer.Length);
源代码网推荐buffer=null;
源代码网推荐}
源代码网推荐
源代码网推荐static string xRefFormatting(long xValue)
源代码网推荐{
源代码网推荐string strMsg =xValue.ToString();
源代码网推荐int iLen=strMsg.Length;
源代码网推荐if (iLen<10)
源代码网推荐{
源代码网推荐StringBuilder s=new StringBuilder();
源代码网推荐int i=10-iLen;
源代码网推荐s.Append("0",i);
源代码网推荐strMsg=s.ToString() strMsg;
源代码网推荐}
源代码网推荐return strMsg;
源代码网推荐}
源代码网推荐
源代码网推荐static void Main(string[] args)
源代码网推荐{
源代码网推荐ArrayList xRefs=new ArrayList();
源代码网推荐//Byte[] buffer=null;
源代码网推荐float yPos =0f;
源代码网推荐long streamStart=0;
源代码网推荐long streamEnd=0;
源代码网推荐long streamLen =0;
源代码网推荐string strPDFMessage=null;
源代码网推荐//PDF文档头信息
源代码网推荐strPDFMessage="%PDF-1.1 ";
源代码网推荐ConvertToByteAndAddtoStream(strPDFMessage);
源代码网推荐
源代码网推荐xRefs.Add(mPDF.Length);
源代码网推荐strPDFMessage="1 0 obj ";
源代码网推荐ConvertToByteAndAddtoStream(strPDFMessage);
源代码网推荐strPDFMessage="<< /Length 2 0 R >> ";
源代码网推荐ConvertToByteAndAddtoStream(strPDFMessage);
源代码网推荐strPDFMessage="stream ";
源代码网推荐ConvertToByteAndAddtoStream(strPDFMessage);
源代码网推荐////////PDF文档描述
源代码网推荐streamStart=mPDF.Length;
源代码网推荐//字体
源代码网推荐strPDFMessage="BT /F0 " fontSize " Tf ";
源代码网推荐ConvertToByteAndAddtoStream(strPDFMessage);
源代码网推荐//PDF文档实体高度
源代码网推荐yPos = pageDepth - pageMargin; 软件开发网 www.mscto.com
源代码网推荐strPDFMessage=pageMargin " " yPos " Td " ;
源代码网推荐ConvertToByteAndAddtoStream(strPDFMessage);
源代码网推荐strPDFMessage= leadSize " TL " ;
源代码网推荐ConvertToByteAndAddtoStream(strPDFMessage);
源代码网推荐
源代码网推荐//实体内容
源代码网推荐strPDFMessage= "(http://www.wenhui.org)Tj " ;
源代码网推荐ConvertToByteAndAddtoStream(strPDFMessage);
源代码网推荐strPDFMessage= "ET ";
源代码网推荐ConvertToByteAndAddtoStream(strPDFMessage);
源代码网推荐streamEnd=mPDF.Length;
源代码网推荐
源代码网推荐streamLen=streamEnd-streamStart;
源代码网推荐strPDFMessage= "endstream endobj ";
源代码网推荐ConvertToByteAndAddtoStream(strPDFMessage);
源代码网推荐//PDF文档的版本信息
源代码网推荐xRefs.Add(mPDF.Length);
源代码网推荐strPDFMessage="2 0 obj " streamLen " endobj ";
源代码网推荐ConvertToByteAndAddtoStream(strPDFMessage);
源代码网推荐
源代码网推荐xRefs.Add(mPDF.Length);
源代码网推荐strPDFMessage="3 0 obj <</Type/Page/Parent 4 0 R/Contents 1 0 R>> endobj ";
源代码网推荐ConvertToByteAndAddtoStream(strPDFMessage);

源代码网推荐

源代码网供稿.
网友评论 (0)
会员中心
网络编程
本站推荐
网络编程之精华