2009-01-09 65 views
0

有谁知道报告工具允许在逐页基础上控制打印作业吗?具体来说,我需要能够将转义序列插入打印机。带有每页打印控件的业务报告

我发现的最近的是ActiveReports。它提供了一个接口,这样的:

SystemPrinter sp = new SystemPrinter(); 
sp.StartJob("jobname"); 
foreach(Page pg in rpt.Pages) { 
    sp.Escape("escape_characters"); 
    sp.StartPage(); 
    pg.Draw(sp.Graphics, rect); //render page to printer 
    sp.EndPage(); 
} 
sp.EndJob(); 

的问题是,他们的逃生功能有一个已知的bug,并没有在转义字符正确地传递给打印机。

类似于此的界面是理想的,但不是必需的。我必须处理的最低要求是在每页基础上向打印机发送不同的命令。我也在.NET中工作。任何建议,将不胜感激。谢谢。

回答

1

对不起,我最合作的是ActiveReports。如果有一个已知的错误,那么一定要向他们报告。我发现他们有不错的支持。

+0

是的,他们已经被通知。问题在于他们没有估计问题何时会得到解决。同时,我正在研究其他选项。很高兴知道他们的支持并不可怕。谢谢(你的)信息。 – 2009-01-09 15:43:38

1

我相当肯定你会发现ActiveReports是唯一一个为打印作业提供这种可扩展控制的报表编写器,尤其是提供逃生支持。当然,如果我错了,有人会纠正我。 您遇到的Escape错误是什么? 还值得一提的是,自从Windows 9x推出以来,Windows本身已经开始引入一些逃生限制,并且自从Windows 9x启动以来,微软已经不鼓励使用逃生。微软提供的一个来源是KB125692。无论如何,请告诉我更多关于您面临退出时遇到的问题,并尝试解决问题或找到解决方法。

-scott

+0

错误是,如果我运行一个报告并打印到Escape()调用注释掉的文件,然后再次使用它,然后在生成的文件上运行diff,我传入的转义序列不存在,那里对结果打印没有改变。 – 2009-01-12 03:24:48