我按照要打印的内容以编程方式构建一个可变高度的.DOC(使用Aspose Words),然后将其打印在一卷纸上(参见热敏打印机)。
我应该采取什么样的方法?我想了两种方法:创建一个具有最小高度但顶部和底部边距为零的纸张,这样页面可以具有在同一页面中的效果,还是动态地改变页面高度?
欢迎任何解决方案,当然还有如何做到这一点。但是我希望将文档放在一个独特的页面中(只要需要),因为这些打印机可以在某些事件中剪切纸张,例如每个分页符(应用程序控件中的硬件/驱动程序功能)。
答案 0 :(得分:0)
我在拉伸页面的方法上取得了成功,只适合1页内容。但是,由于Aspose Words似乎没有办法测量Aspose Words API中最后一页的剩余空间,所以我以这种方式解决了这个问题:
我定义了文档页面高度将PageCount乘以有用的页面高度(减去边距),因此,应用尝试调整剩余空间,每次尝试将有用页面高度除以2并增加或减少它,如任何普通二进制搜索算法的基础。
它有效,二进制算法的基础如何具有对数标度,在更糟糕的情况下,我将花费不到10次尝试来适应页面(我的有用高度不会超过30厘米,但即便如此,如果它在最糟糕的情况下,1米将花费大约14次尝试。)