关于水晶报表自定义纸张的问题,请教各位
我在加载水晶报表,做了获取自定义的纸张处理
System.Drawing.Printing.PrintDocument doc = new System.Drawing.Printing.PrintDocument();
//记录标识自定义纸张的ID
int rawKind = 1;
//枚举出所有的打印纸尺寸
// int i = doc.PrinterSettings.PaperSizes.Count;
//MessageBox.Show(i.ToString());
crt.PrintOptions.PrinterName = Printer;
for (int i = 0; i < doc.PrinterSettings.PaperSizes.Count; i++)
{
//找到自定义的纸张
if (doc.PrinterSettings.PaperSizes[i].PaperName == "MOMORD")
{
rawKind = doc.PrinterSettings.PaperSizes[i].RawKind;
// MessageBox.Show(doc.PrinterSettings.PaperSizes[i].PaperName);
}
}
crt.PrintOptions.PaperSize = (CrystalDecisions.Shared.PaperSize)rawKind;
crt.PrintOptions.PaperOrientation = PaperOrientation.Portrait;
用来控制自定义的打印纸型,可是在本机上调试没有问题
到客户端安装后,发现有错误
************** 异常文本 **************
System.Runtime.InteropServices.COMException (0x8002000B): 无效索引。 (异常来自 HRESULT:0x8002000B (DISP_E_BADINDEX))
在 CrystalDecisions.ReportAppServer.Controllers.PrintOutputControllerClass.ModifyPrintOptions(PrintOptions newVal)
在 CrystalDecisions.CrystalReports.Engine.PrintOptions.set_PaperSize(PaperSize value)
在 CL.Frm_ORDPrint.Frm_ORDPrint_Load(Object sender, EventArgs e)
在 System.Windows.Forms.Form.OnLoad(EventArgs e)
在 System.Windows.Forms.Form.OnCreateControl()
请你该如何处理,,我把那段代码注释掉 就不报了 但是报表预览的纸的大小就不是想要的效果了
先谢谢各位 麻烦回复一下
------解决方案--------------------你调试看下那句报错
------解决方案--------------------本机是好的为 调试的话 难道还要在客户端装个VS?
------解决方案--------------------crt.PrintOptions.PaperSize = (CrystalDecisions.Shared.PaperSize)rawKind;
应该是这句有问题