关于MapGIS打印的解决方案
MapGIS作为一套优秀的地理信息系统软件,应用在很多行业中。通常,我们通过MapGIS的"输入编辑"模块,在地形图或其他扫描后的栅格图件上采集数据、矢量化,形成完整的点、线、面文件,结果或者出图打印,或者进行各种应用分析。所以输出打印对于很多的客户来讲是一个很常用的功能。
在和客户交流的过程,发现:很多的客户对打印输出这部分,在操作上还不是很清楚,很多功能都是靠自己摸索,出现问题后不知如何去检验、找出问题的出处,所以打印输出也就成了一个老大难的问题,而恰恰打印出图在地质、国土等很多行业却又是一个非常重要的功能。鉴于此,我查阅了一些资料,结合自己和同事的一些经验,写出此篇"关于MapGIS打印的解决方案",希望能给客户解决一些实际的问题。
MapGIS输出模块是MapGIS平台的主要输出手段,它读取MapGIS的各种输出数据,经过版面编辑处理、排版,图形整饰,最终形成各种格式的图形文件,并驱动输出设备,完成MapGIS的输出工作。
一、输出版式
在输出版式上,MapGIS输出模块提供了两种方式:单工程输出和多工程输出。
1、单工程版式输出
单工程版式输出:即把单幅图在一个版面上输出,这时只需建一个工程文件(*.MPJ),将待输出打印的点、线、面文件添加至当前工程中。工程文件可以是"输入编辑"模块中编辑好,在"输出"模块中直接打开,或者是在"输入编辑"模块中通过单击菜单栏上的"工程输出"命令,转到"工程输出"状态,也可以在"输出"模块中,通过"文件"菜单下的"新建"命令,如图1所示,新建一工程,然后将待打印输出的点、线、面文件添加至工程中,打印输出。
图1 新建命令对话框
2、多工程版式输出
多工程输出,也称为"拼版输出",就是将多幅图在同一个版面内输出打印,这时需要新建一个拼版文件(*.MPB),一个拼版文件可以同时管理多个工程(幅图),因此多工程输出的基础是编辑单工程文件;
通过"文件"菜单下的"新建"命令,如图1所示,可以新建一拼版文件,如图2所示。通过单击"添加工程文件到版面"按钮,将多个编辑好的工程文件,添加至当前版面中,并经版面设计和工程设计,即可打印输出了;
图2 拼版文件对话框
二、输出方法
MapGIS平台输出模块提供三种输出方法:windows输出、光栅输出、PostScript输出;
1、windows输出
"windows输出"是MapGIS平台利用windows的GDI,在各种打印机,绘图仪上输出,输出设备必须安装好对应的windows输出驱动程序。由于在整个打印过程中MapGIS没有做任何的处理,只是调用了windows的打印驱动来打印输出各种图件,所以如果这时出现打印问题,应该优先考虑是不是页面设置和硬件上出了问题。对于"windows输出",由于受到输出设备的windows输出驱动程序及输出设备的内部缓存等因素的限制,在输出一些比较复杂的图形时,可能有的图元、线型或者颜色不能正确输出,并且部分数据的处理会比较慢,这种情况只有在"光栅输出"下才能解决。
2、光栅输出
MapGIS光栅输出是为了解决复杂图形的输出以及部分绘图仪的设备内存限制等问题而设计的,它极大的提高了大幅面地图的输出速度。MapGIS设计了一个针对地图处理的高速软件RIP,它先对图形进行分色光栅化,形成供打印机及彩色喷墨绘图仪输出用的分色光栅文件,然后再驱动彩色喷墨绘图仪进行输出。
3、PostScript输出
PostScript输出,主要应用于地图的出版印刷中,普通客户用的很少,所以这里就不再作详细的介绍,具体使用方法可以参阅MapGIS平台"输出"模块中的帮助文件。
三、输出操作的基本流程和问题检测的通用方法
1、输出操作的基本流程
在多次和客户交流的过程,发现打印输出之所以出现很多的问题,很大的原因是有些客户在打印输出的操作上不是特别清楚,尤其是一些参数的设置上,正如一位客户说过的那样"打印输出的操作和各种参数设置,我是跟单位的老员工学的,至于正不正确自己并不清楚,而且我们这边都是这样的!",通过这段话,可以看出MapGIS平台输出打印出现问题的原因之所在,当然这也折射出我们的工作还需要更多的努力!
这里以MapGIS67平台自带的演示数据(D:\MapGIS67\sample\校正演示数据),来说明输出的正确操作方法。
在"输入编辑"模块下,将演示数据打开,然后单击菜单栏上的"工程输出"命令,转到"输出"模块,如图3所示:
图3 页面设置前
单击"文件"菜单下"页面设置"命令,系统会弹出"工程输出编辑"对话框,这时一般会出现两种页面设置:
① 按图幅的实际大小打印:这种打印方式常常应用在地质图件的打印中,在"工程输出编辑"对话框右边的"页面设置"部分,单击"版面定义"下拉条,选择"系统自动检测幅面"项,这时我们可以看到X、Y轴的比例分别为1,即系统按照图幅的实际大小来打印,然后分别设置上、下、左、右页边距,推荐值为20~30mm,然后单击"确定",如图4所示:
图4 页面参数设置1
② 按纸张的大小打印:这时系统会根据纸张的大小自动的对图幅进行缩放,比如在窗口右边的"版面定义"下拉条中选择"A4幅面210*297毫米"项,然后单击"按纸张大小设置"按钮,这时可以看到X、Y轴比例已经发生了改变,表示系统根据纸张的大小已经自动的对图幅进行缩放,然后分别设置上、下、左、右页边距,推荐值为20~30mm,单击"确定",如图5所示:
图5 页面参数设置2
接下来打印输出既可以选择windows打印,也可以选择光栅输出。
① windows打印:单击"windows输出"菜单下"打印输出"命令,在弹出的"打印"对话框中,选择相应的打印机或绘图仪,然后单击"属性"按钮,系统弹出打印机属性设置对话框,如图6所示:
图6 打印机属性设置
在"打印纸"选项中,通过"打印纸尺寸"下拉条中,设置自己纸张的实际大小,若下拉条中已有,如A0 841×1189毫米,选中即可;若下拉条中没有,则选择"用户自定义"项,则系统弹出的"用户自定义打印纸尺寸"对话框,设置打印纸的宽度和长度,如图6所示。这里设置的依据就是纸张实际是多少就设置多少,而不要考虑上面页面设置中的宽度和高度,比如打印纸的宽度可以设置为绘图仪的实际宽度,而打印纸的高度(若是卷纸)则可以通过页面设置中的高度加上上下页边距计算得出。客户一般在这里容易出现设置上的错误,比如页面中设置为A4的幅面,习惯上这里又设置A4的纸张,这样打印时一定会出现镜像问题,即所谓的连续出纸。因为后面设置的纸张大小和即将打印的页面一样大,也就是说纸张容不下页面,所以才会出现镜像的问题。
同样值得注意的还有"单位"的选择,因为设置不正确,也会出现打印镜像的问题。
图7 打印纸尺寸设置
在打印之前,最好能将"打印预览"选中,可以在打印之前看看系统会不会打印镜像,从而避免纸张的浪费。
② 光栅输出:单击"光栅输出"菜单下"光栅化处理"命令,系统弹出参数设置对话框,这里需要注意的是必须正确设置输出分辨率,原则是输出分辨率必须和绘图仪标注的实际输出分辨率保持一致,否则打印出的光栅文件会出现只打印局部或无法正确输出图元等一系列问题,如图8所示:
图8 输出分辨率设置
然后单击"OK"按钮,系统自动根据设置的参数对当前矢量文件光栅化处理,并在同一文件夹下生成新的光栅文件(*.NV1)。
单击"光栅输出"菜单下"打印光栅文件"命令,系统弹出"输出设备设置"对话框,如图9所示:
在"输出设备"右边的下拉列表中选择绘图仪对应的驱动程序,若绘图仪驱动选择错误,则打印结果可能会存在问题或根本无法打印;
在"设备尺寸"右边的下拉列表中设置自己纸张的实际大小,若下拉条中已有,如A0幅面841×1189毫米,选择即可;若下拉条中没有,则选择"用户自定义幅面"项,在"纸宽"、"纸长"项中设置打印纸的宽度和长度,设置的依据就是纸张实际是多少就设置多少,同样不要考虑页面设置中的宽度和高度。这里同样是容易出现设置错误的地方,值得注意。
在"使用打印机"右边的下拉列表中选择相应的绘图仪或者打印机,然后单击"确定"按钮,即可打印输出了。
2、问题检测的一般方法
上一小节中详细论述了打印输出的基本操作步骤及参数的设置方法,一般依此方法,打印输出是没有问题的。但是我们知道,打印输出本身就是一个比较复杂的过程,它不仅和软件有关系,同时也和操作系统、打印设备、甚至网络都有很大关系,所以当我们打印出现问题的时候,不要着急,要学会一步一步的去排查错误,最终找出问题的原因,并加以排除。
当您在打印出图的时候,如打印结果出现问题,比如出现镜像或者是打印的图不完整等一系列问题,而根据常规的方法又无法排除,这时建议您先不要去打印自己的数据了,而是将MapGIS平台自带的数据(D:\MapGIS67\sample\校正演示数据)打印一份看看,这样做的目的就是首先要区别打印结果不正确到底是数据的原因,还是软硬件设备的问题,然后再进一步分别加以解决。
打印MapGIS平台自带的数据时,通过上一节所述的页面设置,首先选择"windows输出"方式打印,因为前面已论述过,在整个打印过程中MapGIS本身没有对矢量文件做任何的处理,只是调用了windows的打印驱动来打印输出,所以如果这时出现打印问题,就应该优先考虑打印机或绘图仪等硬件设备及网络的问题,如绘图仪缺墨、绘图仪的喷头需要清洗、计算机和绘图仪之间的连线过长等,而不是MapGIS软件本身出现了什么错误。
若"windows输出"方式打印该演示数据没有问题,那么接着设置光栅化参数,对文件进行光栅化处理,形成一个新的光栅文件,这时先不要打印,而是在"输出"模块下打开该光栅文件看看有没有问题,如果打开后发现有问题,说明光栅化处理过程有问题,就可以考虑是不是光栅化参数没有设置对,或软件本身有问题;若光栅文件打开后没有发现问题,则开始光栅化输出,若正确输出则大功告成;若出现问题,则考虑绘图仪的驱动程序选择的是不是正确,设备尺寸设置的对不对等情况。
通过这样一步一步地检测,我想无论打印过程中遇到什么样的难题,我们都可以找到它的源头,并加以解决!
四、输出打印中容易出现的问题
实际的打印过程中常常出现这样那样的问题。若问题能在本单位解决,则既可节约客户大量的时间,提高工作效率,同时又能提高客户自身应用MapGIS解决问题的能力,所以我们一方面会给每一个客户提供优质的服务,同时我们也更多的是希望客户自己能提高自身的操作技能和解决问题的能力,这样才能为您自己实现价值的最大化,而这也是我们追求的目标之一。
下面列举打印工作过程中最常见的一些问题,希望能给所有的客户在解决打印过程中出现的问题时有一个参考:
问题1:打印镜像,即打印一幅完整的图后,又连续出两张或三张纸,或是空纸,或只打印了图形的某个边等多种情况?
解答:该问题的实质是页面设置的大小和后面的纸张设置的太小不匹配造成的,也就是说纸张容不下要打印的幅面了,MapGIS自动出现了分页的情况,比如在页面中设置幅面设置为A4,后面纸张尺寸设置时纸张类型又设置为A4,这样打印时一定会出现镜像问题。该问题的解决方法在"输出操作的基本流程"一节中其实已论述过,就是页面设置按照要求设定,而后面的纸张的设置则不要受此影响,纸张实际大小是多少就设置多少。
另外可能的原因还有"飞点"和"打印机内存不够或内存泄漏"等情况。若出现"飞点",利用"输入编辑"模块中的"文件压缩存盘"功能去除飞点。若是"内存泄漏"等原因,最好将打印作业清除后,重新启动打印机。
问题2:光栅化输出时,结果只打印原图的1/4或其他局部情况,且结果有被拉伸等迹象?
解答:这种问题的原因极有可能是在光栅化处理时,选择的输出分辨率与绘图仪的实际分辨率不一致造成的。
问题3:打印结果出现了栅格状的线,且疏密不一致?
解答:这种问题通常是由绘图仪本身的问题造成的,先检测有些绘图仪的墨盒有没有缺墨,然后在打印一张测试纸或比色卡,看看绘图仪的喷头是不是需要清洗。问题4:为什么HP500不能打印光栅文件?
解答:在MapGIS平台输出打印时,若绘图仪选择HP500机器,则需要有HP-GL2卡的支持,而HP500机型的标准配置没有此卡,需用户单独购买。