我将根据要打印的内容以编程方式构建高度可变的.DOC(使用Aspose Words),并将其打印在纸卷中(请参阅热敏打印机)。
我应该采取哪种方法?我想到了两种方法:创建具有最小高度但顶部和底部页边距为零的纸张,以便页面可以具有位于同一页面中的效果,或者动态更改页面高度?
任何解决方案都是值得欢迎的,当然还有解决方法。但是我希望将文档放在一个唯一的页面中(根据需要时间长),因为这些打印机可以在某些事件中切纸,例如每次分页符中断(应用程序控件中的硬件/驱动程序功能)。
我成功地采用了扩展页面以使其仅适合1页内容的方法。但是,由于Aspose Words似乎没有办法测量Aspose Words API中最后一页的剩余空间,因此我以这种方式来解决:
我定义了文档页面的高度,将PageCount乘以有用的页面高度(减去边距),因此,应用尝试调整剩余空间,将每次尝试的有用页面高度除以2并增加或减少,如普通的二进制搜索算法。
它的工作原理,以及二进制算法的基础如何具有对数刻度,在更坏的情况下,它使我花费不到10次尝试来适应页面(我的有用高度不会超过30厘米,但即使如此,如果高度为1米,在最坏的情况下将花费大约14次尝试)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句