1.需求:客户自己开发的Engine程序,调用的是LayoutControl,需要连接大型绘图仪进行出图。
业务流程是先框选要打印的地图范围,该范围是自定义大小,框选完成之后进行预览,然后选择打印输出,在打印输出界面进行设置后,由惠普绘图仪进行出图。
2.出现的问题:惠普打印机里用的是卷筒纸,宽为定值,长度可以无限延长,客户说纸张大小是A1的大小。框选范围进行打印时,有时候打印出来是完整的。有时候如果范围较小,或者过大,打印出来就不完整,图没有按照希望的方向进行打印,只打出了一半。或者图打完整了,但是也没有按照希望的方向,打印出来浪费了纸张。最后发现如果这个问题对于专业打印人员来说,应该是轻而易举的事情,但是对于我们这些不懂大型打印机的人来说,却是很头疼的问题。
在整个过程中,框选之前会选择Layout的方向是横向还是纵向、打印时在打印设置中要选择横向还是纵向、打印设置中还有一项“旋转90”的选项。经过这三次的方向选择,就分不清楚打印出的结果到底是横向还是纵向,输出的图纸有时候正确,有时候错误。如果按照正确的设置再打印另一种图纸类型,就又会出错。另外在惠普绘图仪中,当自定义纸张设置的长小于宽时,绘图仪会自动调换纸张的长和宽的设置。如原来长320*宽670,会自动将纸张设置改为长670*宽320。这样调整之后,又对于打印输出设置增加了一个干扰。
了解完所有问题之后,我们已经被这么多横纵向、长宽、旋转搞晕了。
3.问题解决过程
因此为了排查问题, 我们将希望得到的正确效果列了出来如下面几幅图,红色箭头表示卷筒纸的打印方向:
第一幅:框选范围纵向很长
第二幅:框选范围横向很长
第三幅:框选范围小于A1纸,而且框选的纵版很窄,设置正确时绘图仪会沿着虚线进行裁剪,比较节省纸张
第四幅:框选范围小于A1纸,而且框选的是横版很短。设置正确时绘图仪会沿着虚线进行裁剪,节省纸张
错图的出图:
第一种打印不完整:
第二种:浪费纸张的错图
在打印出图时,第一步是人框选的方式是选择一个横版还是纵版的地图来进行打印,只有在这一步里涉及到了ArcGIS的打印功能,这一步只要正常去选择就可以。而打印出错是在设置打印机属性时出的错误。因此判定问题出现与ArcGIS无关,是属于打印出图设置问题。如果这个问题对于专业打印人员来说,应该是轻而易举的事情,但是对于我们这些不懂大型打印机的人来说,却是很头疼的问题。
最后先不设置是否进行旋转90,只对打印机属性中的方向进行设置。经过尝试,总结出了能够打印出理想效果的图纸。规律如下:
1.如果自定义长或宽的数值超出卷筒纸大小,只要希望打印出第一种效果的,纵版很长的图纸,在打印机设置中选择纵向;如果希望打印出第二种效果,横版很长的,在打印机设置中选择横向。
2. 如果自定义打印的图比较小,不管长或宽都在纸张范围内,希望打印出第三种和第四种效果的,统一选择横向。
使用上面的规律进行打印出图,就没再出现错误。所以只需在框选时选择Layout的方向,然后做打印机属性中方向的设置即可。
注:我们毕竟不是专业打印出图人员,不保证该规律适用于任何打印机。。。。。
原文:http://www.cnblogs.com/esrichina/p/3838209.html