我们一直在开发基于网络的系统。我们的客户经常习惯于桌面应用程序,我们通常将他们的系统升级到基于Web的版本。这对他们有许多好处,但我们经常遇到一个缺点:打印输出。我们开发的系统经常生成一些需要打印的文档,如:
这些文档中的许多都有预先建立的格式,并且应该以相同或非常类似的方式出现。然而,这往往是一种痛苦。遇到的问题包括:
page-break-inside
),这使得很难控制信息被切断的位置。 总而言之,生成非常专门设计的文档并以相同的方式打印它们已被证明需要花费太多时间和精力,结果不佳。我的问题是:是否有人也处理过这个问题,并找到了更好的解决方案?我目前的解决方案是投入大量时间,尝试教育用户,记录用户需要采取的所有步骤以获得首选打印输出,并在人员,计算机和打印机更改时重复和重复。
答案 0 :(得分:0)
脚本修复了一些令人头疼的问题。然后在打印时,他们可以缩放以适合页面
答案 1 :(得分:0)
我们发现最好的方法是老学校。我们必须每晚打印数千页到点阵预打印表格打印机。所以我们发现最好回到使用打印控件,然后将所有内容发送到屏幕,好像它是一个字符固定字体大小,如快递。
所以我们有print_field($ xxxx,10,"右");如果长度超过10,该函数将填充空格或截断并将其放入屏幕。右边是右边垫左边的垫子或中心的功能。然后你可以做print_spaces(2),print_line(1)等......
然后一切都准确定位。再次看起来很痛苦但是如果你为它开发了一些函数那么它实际上使自定义表单更容易。我们有一个包装程序来完成所有数据调用。并制作了一个xxx_header.php,xxx_detail,xxx_footer,根据需要包含的页面,通常只是在循环中调用的几行print_xxx函数。
如果这样做,请记住保留$ ln_cnt行数。因为在你的细节结束时你将不得不采取$ blank_lines_needed = $ page_length- $ ln_cnt并为print_line做一个循环($ blank_lines_needed);
再次看似很多,但如果你这样做,它每次都会有效。我们每天都会通过网络打印更多的点阵形式,然后大多数公司。在美国,我们每晚通过网络打印大约60,000页预打印表格。希望这会有所帮助。
然后我们有一个使用CURL和pdf utlity的工作,我们可以通过电子方式将精确复制到pdf。因此,如果客户选择,我们可以通过电子邮件发送电子邮件但是如果我们将它们发送到点阵中,它们会打印出确切的大小,因此它们看起来总是一样。