0

我正在以编程方式构建一个高度可变的 .DOC(使用 Aspose Words),根据将要打印的内容,它将打印在一卷纸中(请参阅热敏打印机)。

我应该采取什么样的方法?我想了两种方法:创建一个具有最小高度但顶部和底部边距为零的纸张,因此页面可以具有在同一页面中的效果,或者动态更改页面高度?

欢迎任何解决方案,当然还有如何去做。但我更愿意将文档放在唯一的页面中(只要需要),因为这些打印机可以在某些事件中裁切纸张,例如在每次分页符时(硬件/驱动程序功能不受应用程序控制)。

4

1 回答 1

0

我通过拉伸页面以仅将内容放入一页中的方法获得了成功。但是,由于 Aspose Words 似乎没有办法测量 Aspose Words API 中最后一页的剩余空间,所以我以这种方式解决了问题:

我将文档页面高度定义为将 PageCount 乘以有用页面高度(减去边距),因此,应用程序尝试调整剩余空间,每次尝试将有用页面高度除以 2 并增加或减少它,就像任何普通的二分查找算法。

它的工作原理,以及二进制算法的基础如何具有对数刻度,在更糟糕的情况下,它会花费我不到 10 次尝试来适应页面(我的有用高度不会超过 30 厘米,但即便如此,如果它有 1 米在最坏的情况下将花费大约 14 次尝试)。

于 2014-06-18T22:24:45.427 回答