水晶报表无打印机,自定义纸张类型

前提是:在设计时选择有打印机,设计好报表后,将打印机复选框去掉


水晶报表打印支持以下几种情况   
  1、用   IE   在客户端进行打印   
  2、导出后打印   
  3、直接在服务器上打印   
    
  第一种情况,再加载报表后绑定前,编写以下代码   
    
  CrystalDecisions.CrystalReports.Engine.ReportDocument   doc   =   new   ReportDocument();   
  doc.Load(Server.MapPath("../report/Chi.rpt"));   
  //设置成   139.7   x   215.9   毫米的纸张,也就是“半刀纸”,约   A4   的一半。   
  doc.PrintOptions.PaperSize   =   CrystalDecisions.Shared.PaperSize.PaperStatement;   
  //设置报表方向为横向,注意系统没有真正的“半刀纸”,只有把上述纸张横着看才符合要求。打印时不需要设置为横打   
  doc.PrintOptions.PaperOrientation   =   CrystalDecisions.Shared.PaperOrientation.Landscape;   
  this.RptView.ReportSource=doc;   
  this.RptView.DataBind();   
    
  绑定后在页面上就能看到半刀纸的效果,也就是   A4   纸的一半,通过   IE   打印即可   
    
  第二种情况:在上述代码基础上,编写导出   pdf   文档代码   
    
  string   Fname=Server.MapPath("../../ExportFiles/"+Guid.NewGuid().ToString()+".pdf");   
  myDestinationFile.DiskFileName=Fname;   
  CrystalDecisions.Shared.DiskFileDestinationOptions   myDestinationFile=new   DiskFileDestinationOptions();   
  ExportOptions   exportOpts   =   doc.ExportOptions;   
  exportOpts.DestinationOptions=myDestinationFile;   
  exportOpts.ExportDestinationType   =   ExportDestinationType.DiskFile;   
  exportOpts.ExportFormatType   =   ExportFormatType.PortableDocFormat;   
  doc.Export();   
  Response.ClearContent();   
  Response.ClearHeaders();   
  Response.ContentType   =   "application/pdf";   
  Response.AppendHeader("Content-Disposition",   "attachment;   filename="+System.Web.HttpUtility.UrlEncode("Report.pdf",System.Text.Encoding.UTF8));   
  Response.WriteFile(Fname);   
  Response.Flush();   
  Response.Close();   
  File.Delete(Fname);   
    
  第三种情况:由连在服务器上的打印机进行打印   
    
  //设置打印机的名称,此处为服务器上拥有的网络打印机   
  doc.PrintOptions.PrinterName=   @"//192.168.0.10/HPLaserJ";     
  doc.PrintToPrinter(1,true,0,0);

 

以下是水晶报表所拥有的纸张规格,好象   PaperEnvelope10     比较符合发票的纸张   
                  
  DefaultPaperSize                     打印机驱动程序中设置的默认大小。     
  Paper10x14                                 纸张大小为   254   x   355.6   毫米。     
  Paper11x17                                 纸张大小为   279.4   x   431.8   毫米。     
  PaperA3                                       A3   纸,297   x   420   毫米。     
  PaperA4                                       A4   纸,210   x   297   毫米。     
  PaperA4Small                             A4   小纸,210   x   297   毫米。     
  PaperA5                                       A5   纸,148   x   210   毫米。     
  PaperB4                                       B4   纸,250   x   354   毫米。     
  PaperB5                                       B5   纸,182   x   257   毫米。     
  PaperCsheet                               C   型纸,431.8   x   558.8   毫米。     
  PaperDsheet                               D   型纸,558.8   x   863.6   毫米。     
  PaperEnvelope10                       #10   Envelope,104.8   x   241.3   毫米。     
  PaperEnvelope11                       #11   Envelope,114.3   x   263.5   毫米。     
  PaperEnvelope12                       #12   Envelope,120.7   x   279.4   毫米。     
  PaperEnvelope14                       #14   Envelope,127   x   292.1   毫米。     
  PaperEnvelope9                         #9   Envelope,98.4   x   225.4   毫米。     
  PaperEnvelopeB4                       B4   Envelope,250   x   353   毫米。     
  PaperEnvelopeB5                       B5   Envelope,176   x   250   毫米。     
  PaperEnvelopeB6                       B6   Envelope,176   x   125   毫米。     
  PaperEnvelopeC3                       C3   Envelope,324   x   458   毫米。     
  PaperEnvelopeC4                       C4   Envelope,   114   x   229   毫米。     
  PaperEnvelopeC5                       C5   Envelope,162   x   229   毫米。     
  PaperEnvelopeC6                       C6   Envelope,114   x   162   毫米。     
  PaperEnvelopeC65                     C65   Envelope,114   x   229   毫米。     
  PaperEnvelopeDL                       DL   Envelope,110   x   220   毫米。     
  PaperEnvelopeItaly                 Italy   Envelope,110   x   230   毫米。     
  PaperEnvelopeMonarch             Monarch   Envelope,98.4   x   190.5   毫米。     
  PaperEnvelopePersonal           6   3/4   Envelope,92.1   x   165.1   毫米。     
  PaperEsheet                               E   型纸,863.6   x   1117.6   毫米。     
  PaperExecutive                         Executive,184.1   x   266.7   毫米。     
  PaperFanfoldLegalGerman       German   Legal   Fanfold,215.9   x   330.2   毫米。     
  PaperFanfoldStdGerman           German   Std   Fanfold,215.9   x   304.8   毫米。     
  PaperFanfoldUS                         US   Std   Fanfold,377.8   x   279.4   毫米。     
  PaperFolio                                 Folio,215.9   x   330.2   毫米。     
  PaperLedger                               Ledger,431.8   x   279.4   毫米。     
  PaperLegal                                 Legal,215.9   x   355.6   毫米。     
  PaperLetter                               Letter,215.9   x   279.4   毫米。     
  PaperLetterSmall                     Letter   Small,215.9   x   279.4   毫米。     
  PaperNote                                   Note,215.9   x   279.4   毫米。     
  PaperQuarto                               Quarto,215   x   275   毫米。     
  PaperStatement                         Statement,139.7   x   215.9   毫米。     
  PaperTabloid                             Tabloid,279.4   x   431.8   毫米。     
 来源:http://cache.baidu.com/c?m=9d78d513d99000ed4fece4690d61c0676908d7252bd6a0020ea4843be4732b365015e6ac26520774d0d2

你可能感兴趣的:(水晶报表无打印机,自定义纸张类型)