SuperMap iObjects Java 11i 知识库
地图排版打印  

5     布局的打印输出

地图制作完成后,常常需要将制作好的地图打印输出,以图片的形式插入到电子文档中或直接打印输出为纸质地图,下面就介绍地图布局的打印与输出。

5.1     布局输出为文件

SuperMap组件产品支持输出多种多样的文件格式包括:*.bmp*.jpg*.png*.eps*.pdf*.emf*.gif*.tiff

注意:

l  输出为 *.bmp*.jpg*.png*.tiff 时,支持设置DPI,支持的DPI2001600,采用屏幕分辨率;

l  输出为 *.png *.gif 时,支持设置背景透明;

l  输出为 *.pdf 时,可以选择矢量输出或者栅格输出,并且在输出时控制是否输出在地图中设置的点、线、面风格;

l  输出为 *.pdf 时,若设置输出为矢量文件,则文件分层输出,输出后,可以控制单个图层是否显示。

5.2     布局打印

打印是将图像发送到输出设备的过程,而布局打印与普通打印相比具有特殊性,包括更大的打印页面、占用更多的系统资源、分幅打印、图层多样化等。

SuperMap 组件产品共提供两种打印方式:矢量打印和栅格打印。其中,矢量打印未经特殊处理,使用打印机直接打印,因而通常不支持渐变、半透明等效果;栅格打印,在打印前先在内部进行特殊处理,然后将处理好的结果通过打印机打印,支持渐变、半透明等效果。

SuperMap 组件产品提供的 MapLayout.printToFile() 方法,支持设置出图的图片类型和 DPI 出图方式。对于大幅面、大数据地图的输出,可以通过此接口将地图输出成高分辨率的某种格式的图片,然后再对输出的图片进行打印。此外,以栅格方式打印时,通过设置布局打印处理时的逻辑 DPIPrinter.set/getLogicDPI())也可以提升打印的效果。

通过不断地优化以及栅格出图方式的支持,使用 SuperMap 组件产品基本上可以支持任意大幅面、大数据的地图的打印。

针对布局打印的特殊性,SuperMap 组件产品提供了 Printer类,用于对布局打印参数进行设置,其方法见表 5.1所示。

5.1Printer类方法列表

类型

名称

描述

void

print

打印布局。

int

get/setCopies

返回或设置要打印的副本数,默认值为1

int

get/setDeviceDPI

返回或设置打印机的DPI

int

get/setFromPage

返回或设置要打印的起始页码。

boolean

isValidPrinter

返回打印机是否合法。

boolean

is/setVectorPrint

返回或设置是否以矢量方式打印。

int

get/setLogicDPI

返回或设置布局打印处理时的逻辑DPI,该方法只在以栅格方式打印时使用,默认值为200

PaperMargin

get/setMargin

返回或设置页边对象。

PaperOrientation

get/setOrientation

返回或设置打印纸面的方向。

PaperSize

get/setPaperSize

返回或设置打印页面大小。

String

get/setPrinterName

返回或设置打印机的名称。

String

get/setPrintFileName

返回或设置打印文件的名称,该方法在将布局通过虚拟打印机打印时有效。

int

get/setToPage

返回或设置要打印的结束页码。


  版权所有© 北京超图软件股份有限公司。保留所有权利。