gpt4 book ai didi

c# - 打印到点阵打印机

转载 作者:行者123 更新时间:2023-11-30 22:37:37 25 4
gpt4 key购买 nike

我正在使用 this code 将 rdlc 报告打印到点阵打印机.该报告采用账单收据的格式。我想要的是打印机应该恰好停在收据完全打印的位置(即要打印的文本的末尾),而不是接收纸张的其余部分并且不在上面打印任何内容。

由于要打印大量收据并且可能排长队,如果最终用户必须将纸张(已被浪费)重新装入打印机,将会非常耗时。因此,我正在寻找打印机可以在要打印的文本完成后立即停止进纸的方法。

最佳答案

听起来您要的是如何连续打印收据,而不是逐页打印。您链接到的代码完全是页面驱动和面向页面的。您可以在页面控制的 View 系统中工作,但您将不得不做额外的工作。

通过更改 PrintPage 代码以每页输出多个图像 block ,您应该能够在一页上打印多个内容。您将必须管理每个矩形的偏移量以将第二个图像放在第一个图像下方,并且您将必须弄清楚您想要对下一个报告页面执行的操作不适合当前页面上剩余的空间。我希望输出将被裁剪到当前页面,因此如果您在页面边界之外绘制(超过页面末尾),则不会输出任何内容。

当下一个报表图像不适合当前页面的剩余空间时,您可以选择前进到下一页。

或者,您可以打印适合此页面的尽可能多的内容,然后在下一页的顶部打印该报告图像的其余部分。为此,您需要计算第 1 页剩余空间与报表图像矩形的交点,并保存该交点的高度。结束页面。当第 2 页滚动时,再次打印相同的报告图像,但这次将输出矩形偏移前一页上打印的矩形的高度。这是假设裁剪矩形已经在打印设备句柄上(很有可能)。

像这样跨页拆分报告的缺点是,您最终可能会看到图表甚至文本行被截断或跨页拆分。这些将很难阅读。如果您知道字体高度和行间距以及报告的布局方式,我想您可以计算出文本行落在输出矩形中的位置,并将输出矩形向下舍入到最接近的行高整数倍,但这正在深入到 hacky kludge 领域。

关于c# - 打印到点阵打印机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6416454/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com