要打印个超市的价格标签,标签格式大小不同
如何实现打印模板设计中自由拖动商品价格,名称的位置和大小,并实现打印
我现在一头雾水各位老大给点指示

解决方案 »

  1.   

    要使用水晶报表,你首先得安装IeWebControl.msi
    在设计报表时把标签位置和大小、线条画好
      

  2.   

    以下是打印代码:
    // 导出报表
    private void ExportReport(string OptionStr)
    {

    string ExportPath;

    ExportPath = Request.PhysicalApplicationPath + "Exported\\";
    if (Directory.Exists(ExportPath) == false) Directory.CreateDirectory(Request.PhysicalApplicationPath + "Exported\\");    
    ReportDocument crReportDocument = (ReportDocument)Session["ReportDocument"];
    DiskFileDestinationOptions crDiskFileDestinationOptions = new DiskFileDestinationOptions();
    ExportOptions crExportOptions = crReportDocument.ExportOptions; if (OptionStr == "Portable Document (PDF)")
    {
    crDiskFileDestinationOptions.DiskFileName = ExportPath + "PortableDoc.pdf";
    crExportOptions.DestinationOptions = crDiskFileDestinationOptions;
    crExportOptions.ExportDestinationType = ExportDestinationType.DiskFile;
    crExportOptions.ExportFormatType = ExportFormatType.PortableDocFormat; }
    else if (OptionStr == "MS Word (DOC)")
    {
    crDiskFileDestinationOptions.DiskFileName = ExportPath + "Word.doc";
    crExportOptions.ExportDestinationType = ExportDestinationType.DiskFile;
    crExportOptions.ExportFormatType = ExportFormatType.WordForWindows;
    crExportOptions.DestinationOptions = crDiskFileDestinationOptions; //--------------------------------------------------------------------
    }

    try
    {
    // Export the report
    crReportDocument.Export();
    crReportDocument.Close();
    Response.ClearContent();
    Response.ClearHeaders();
    switch(OptionStr)
    {
    case "Portable Document (PDF)":
    Response.ContentType="application/pdf";
    Response.WriteFile(ExportPath + "PortableDoc.pdf");
    break;
    case "MS Word (DOC)":
    Response.ContentType="application/msword";
    Response.WriteFile(ExportPath + "Word.doc");
    break;

    //string strFile ="report" + System.DateTime.Now.Ticks.ToString() +".xls";
    Response.Flush();
    Response.Close();
    }
    catch (Exception err)
    {
    Response.Write("<BR>");
    Response.Write(err.Message.ToString());
    }
    }
    可以在PDF和WORD中打印
      

  3.   

    使用水晶报表,vs.net自带有。从文件/添加新项/craytal report制作水晶报表
    做好水晶报表后调用下面函数,将CryReport换成你水晶报表文件名,Report为水晶报表实例,OptionStr为操作类型,可选"Portable Document (PDF)"(用pdf打印) "MS Word (DOC)"(用word打印)
    private void ExportReport(CryReport Report,string OptionStr)
    {

    string ExportPath;

    ExportPath = Request.PhysicalApplicationPath + "Exported\\";
    if (Directory.Exists(ExportPath) == false) Directory.CreateDirectory(Request.PhysicalApplicationPath + "Exported\\");    
    ReportDocument crReportDocument = (ReportDocument)Report;
    DiskFileDestinationOptions crDiskFileDestinationOptions = new DiskFileDestinationOptions();
    ExportOptions crExportOptions = crReportDocument.ExportOptions; switch(OptionStr)
    {
    case "Portable Document (PDF)":
    crDiskFileDestinationOptions.DiskFileName = ExportPath + "PortableDoc.pdf";
    crExportOptions.DestinationOptions = crDiskFileDestinationOptions;
    crExportOptions.ExportDestinationType = ExportDestinationType.DiskFile;
    crExportOptions.ExportFormatType = ExportFormatType.PortableDocFormat;
    break;
    case "MS Word (DOC)":
    crDiskFileDestinationOptions.DiskFileName = ExportPath + "Word.doc"; crExportOptions.ExportDestinationType = ExportDestinationType.DiskFile;
    crExportOptions.ExportFormatType = ExportFormatType.WordForWindows;
    crExportOptions.DestinationOptions = crDiskFileDestinationOptions;
    break;
    }

    try
    {
    // Export the report
    crReportDocument.Export();
    crReportDocument.Close();
    Response.ClearContent();
    Response.ClearHeaders();
    switch(OptionStr)
    {
    case "Portable Document (PDF)":
    Response.ContentType="application/pdf";
    Response.WriteFile(ExportPath + "PortableDoc.pdf");
    break;
    case "MS Word (DOC)":
    Response.ContentType="application/msword";
    Response.WriteFile(ExportPath + "Word.doc");
    break;
    }  Response.Flush();
    Response.Close();
    }
    catch (Exception err)
    {
    Response.Write("<BR>");
    Response.Write(err.Message.ToString());
    }
    }
      

  4.   

    http://community.csdn.net/Expert/topic/3278/3278050.xml?temp=.4752924