请教  怎么把dataset中数据转换成pdf格式 然后打印出来!!在线等
把dataset中数据转换成pdf格式 然后打印出来 怎么实现 ?
请高手执教 万分感谢!!!
------解决方案--------------------
//创建pdf文件  
  using    System;  
  using    System.IO;  
  using    System.Text;  
  using    System.Collections;    
  namespace    paladin.utility  
  {  
  ///    <summary>  
  ///    ToPdf    的摘要说明。  
  ///    </summary>  
  public    class    ToPdf  
  {  
  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    MemoryStream    mPDF=    new    MemoryStream();    
  public    ToPdf()  
  {  
  //  
  //    TODO:    在此处添加构造函数逻辑  
  //  
  }    
  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    public    void    CreatePdf(string    filePath)  
  {  
  StreamWriter    pPDF=new    StreamWriter(filePath);    
  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\n";  
  ConvertToByteAndAddtoStream(strPDFMessage);    
  xRefs.Add(mPDF.Length);  
  strPDFMessage="1    0    obj\n";  
  ConvertToByteAndAddtoStream(strPDFMessage);  
  strPDFMessage="<<    /Length    2    0    R    >>\n";  
  ConvertToByteAndAddtoStream(strPDFMessage);  
  strPDFMessage="stream\n";  
  ConvertToByteAndAddtoStream(strPDFMessage);  
  ////////PDF文档描述  
  streamStart=mPDF.Length;  
  //字体  
  strPDFMessage="BT\n/F0    "    +    fontSize    +"    Tf\n";  
  ConvertToByteAndAddtoStream(strPDFMessage);  
  //PDF文档实体高度  
  yPos    =    pageDepth    -    pageMargin;  
  strPDFMessage=pageMargin    +    "    "    +    yPos    +"    Td\n"    ;  
  ConvertToByteAndAddtoStream(strPDFMessage);  
  strPDFMessage=    leadSize+"    TL\n"    ;  
  ConvertToByteAndAddtoStream(strPDFMessage);    
  //实体内容  
  strPDFMessage=    "(http://www.wenhui.org)Tj\n"    ;  
  ConvertToByteAndAddtoStream(strPDFMessage);  
  strPDFMessage=    "ET\n";  
  ConvertToByteAndAddtoStream(strPDFMessage);  
  streamEnd=mPDF.Length;    
  streamLen=streamEnd-streamStart;  
  strPDFMessage=    "endstream\nendobj\n";  
  ConvertToByteAndAddtoStream(strPDFMessage);  
  //PDF文档的版本信息  
  xRefs.Add(mPDF.Length);  
  strPDFMessage="2    0    obj\n"+    streamLen    +    "\nendobj\n";  
  ConvertToByteAndAddtoStream(strPDFMessage);    
  xRefs.Add(mPDF.Length);  
  strPDFMessage="3    0    obj\n<</Type/Page/Parent    4    0    R/Contents    1    0  
R>>\nendobj\n";  
  ConvertToByteAndAddtoStream(strPDFMessage);    
  xRefs.Add(m