每页打印控制业务报告每页、业务、报告

2023-09-03 04:40:14 作者:顺风打成逆风

有谁知道一个报告工具,允许控制页面上的打印作业逐页的基础呢?具体地讲,我需要能够插入转义序列到打印机。

Does anyone know of a reporting tool that allows for controlling the print job on a page by page basis? Specifically, I need to be able to insert escape sequences to the printer.

我已经找到了最接近的是的ActiveReports 的。它提供了一个接口是这样的:

The closest I have found is ActiveReports. It provides an interface like this:

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();

现在的问题是,他们的逃生功能有一个已知的错误,不正确地传递转义字符打印机。

The problem is that their escape function has a known bug and does not properly pass the escape characters to the printer.

类似于此接口是理想的,但不是必要的。我必须处理的最低要求是不同的命令发送到打印机在每页的基础。我也工作在.NET。任何建议将是AP preciated。谢谢你。

An interface similar to this is ideal, but not necessary. The minimum requirements that I have to deal with is to send different commands to the printer on a per page basis. I am also working in .NET. Any suggestions would be appreciated. Thanks.

推荐答案

我是pretty的肯定,你会发现的ActiveReports是唯一报告的作家提供这种可扩展的控制打印作业,特别是提供了逃跑的支持。当然,如果我错了,会有人指正。 什么是你正在运行到逃生的错误? 还值得一提的是,Windows本身已开始引入一些局限性逃生,因为Windows 9x中被引入,微软已经使用转义自从Windows 9x中开始泄气。一个来源来自Microsoft的提到这是 KB125692 。不管怎么说,告诉我更多关于什么问题你面临着逃跑,我会尝试要么得到错误解决或找到一种解决方法。

I am pretty sure you will find that ActiveReports is the only report writer that provides such extensible control over print jobs, especially providing escape support. Surely, if I'm wrong, someone will correct me. What is the bug with Escape that you're running into? It is also worth noting that Windows itself has starting introducing some limitations with escape since Windows 9x was introduced and microsoft has discouraged using escapes ever since Windows 9x started. Just one source from Microsoft that mentions this is KB125692. Anyway, tell me more about what problems you're facing with escape and I'll try to either get the bug resolved or find you a workaround.

- 斯科特