<v1_uri>/jobs[.<format>]
webPrintingJobs 资源是 Web 打印任务列表资源,通过发送 GET 请求,获取当前已经完成和正在执行的 Web 打印任务列表;通过发送 POST 请求,创建一个 Web 打印任务,并返回一个可用于打印的地图文档。
支持的方法:
支持的表述格式:RJSON、JSON、HTML、XML。
对如下 URI 执行 HTTP 请求,以 rjson 输出格式为例加以说明,其中,supermapiserver 是服务器名。
http://supermapiserver:8090/iserver/services/webprinting/rest/webprinting/v1/jobs.rjson
获取当前已经完成和正在执行的 Web 打印任务列表。
对 webPrintingJobs 资源执行 GET 请求,在响应体里是一个 Web 打印任务的描述集,其中单个 Web 打印任务描述的结构如下:
字段 | 类型 | 说明 |
id | String | Web 打印任务的 id。 |
info | object | Web 打印信息类,包含打印内容、布局信息、输出信息等。 |
status | String | Web 打印任务的运行状态。 |
result | object | Web 打印任务的结果信息。 |
startTime | String | Web打印的起始时间。 |
endTime | String | Web打印的完成时间。 |
字段 | 类型 | 说明 |
content | object | Web 打印的内容,例如:WebMap。 |
layoutOptions | object | Web 打印的布局选项,包含各种布局元素的设置。 |
exportOptions | object | Web 打印的输出选项,包含 DPI、页面大小等。 |
字段 | 类型 | 说明 |
downloadUrl | String | Web 打印结果的下载链接。 |
size | number | Web 打印结果的空间占用,单位:byte。 |
format | String | Web 打印输出的格式,目前支持:PNG、PDF。 |
对 webPrintingJobs 资源:http://supermapiserver:8090/iserver/services/webprinting/rest/webprinting/v1/jobs.rjson,执行 GET 请求,返回 rjson 格式的资源描述如下:
创建一个 Web 打印任务,并返回一个可用于打印的地图文档。
创建 Web 打印任务的输入是一段 JavaScript 对象表示法(JSON)格式的文本,描述了 Web 地图的内容、打印布局、输出格式等信息,其中,Web 地图的内容必须符合 SuperMap WebMap 规范,具体请参考:SuperMap 提供的 WebMap 地图规范。
请求体中需传递如下参数:
名称 | 类型 | 含义 |
content | object | 【必选参数】
Web 打印的内容,例如:WebMap。 |
layoutOptions | object | 【必选参数】
Web 打印的布局选项,包含各种布局元素的设置。 |
exportOptions | object | 【必选参数】
Web 打印的输出选项,包含输出格式、DPI等。 |
名称 | 类型 | 含义 |
type | String | 【必选参数】
Web 打印内容支持的类型,目前支持的类型:WEBMAP。 |
url | String | 【可选参数】
待打印的 SuperMap iPortal WebMap 的 url 地址。例如:http://supermapiportal:8190/iportal/web/maps/{mapid}/map.rjson。 |
token |
String | 【可选参数】
如果待打印的是 SuperMap iPortal 用户私有的 WebMap,需要提供 SuperMap iPortal 用户的 token。 |
value |
object | 【可选参数】
传递的是一个符合 SuperMap WebMap 规范的 WebMap 的 JSON 表达,也可以是一个完整的 SuperMap iPortal 数据上图制作的 WebMap 的 json 表达。如果已填了 url 参数,此参数可不传。 注意,除了 SuperMap 提供的 WebMap 地图规范中支持的图层类型外,还支持 geojson 类型的图层,支持的参数类似 VectorLayer 类型图层,具体如下(请求体示例详见示例):
|
名称 | 类型 | 含义 |
templateName | String | 【必选参数】
布局模板的名称。 |
title | String | 【必选参数】
地图主标题名称。如果在布局上存在地图主标题文本元素的文本,则该参数为必选,也可以传递空值。 |
subTitle | String | 【必选参数】
地图副标题名称。如果在布局上存在地图副标题文本元素的文本,则该参数为必选,也可以传递空值。 |
author | String | 【必选参数】
地图作者名称。如果在布局上存在作者文本元素的文本,则该参数为必选,也可以传递空值。 |
copyright | String | 【必选参数】
地图版权信息。如果在布局上存在版权文本元素的文本,则该参数为必选,也可以传递空值。 |
scaleBarOptions | object | 【可选参数】
地图比例尺选项。如果不传递该参数,则使用默认的比例尺条。 |
northArrowOptions | object | 【可选参数】
地图指北针选项。如果不传递该参数,则使用默认的指北针。 |
littleMapOptions | object | 【必选参数】
小地图选项。如果布局模板上有小地图元素,则此参数为必选参数,也可以传空值,如果传递空值,则小地图使用主地图的全部图层。 |
legendOptions | object | 【必选参数】
图例选项。 |
名称 | 类型 | 含义 |
scaleText | String | 【可选参数】
比例尺文本信息,例如:1:1000000。 |
type | String | 【可选参数】
比例尺的样式,包括:LINE, BAR, BAR_SUB。 |
intervals | number | 【可选参数】
比例尺条的段数。 |
unit | String | 【可选参数】
比例尺的单位制,包括:METER, FOOT, DEGREES。 |
名称 | 类型 | 含义 |
picAsBase64 |
String | 【可选参数】
指北针的base64位图片信息。图片格式支持:png、jpg;图片大小默认为:40px*40px。 |
picAsUrl | String | 【必选参数】
指北针的图片 url 地址。图片格式支持:png、jpg、svg;图片大小默认为:40px*40px。建议您将图片放在内置的布局模板文件夹中,此时参数值如:file://NorthArrow.svg。 |
名称 | 类型 | 含义 |
scale | number | 【可选参数】
小地图的比例尺。如果不传递此参数,默认使用主地图的比例尺。 |
center | Point2D | 【可选参数】
小地图的中心点。如果不传递此参数,默认使用主地图的中心点。 |
layerNames | String[] | 【可选参数】
指定 WebMap中图层名称的列表,用于渲染小地图。 |
image | object | 【可选参数】
通过静态图片来表达小地图。(暂不支持) |
layers | object | 【可选参数】
指定 WebMap 中的 layers 图层。 此外,还支持 geojson 类型的图层,支持的参数类似 SuperMap 提供的 WebMap 地图规范中 VectorLayer 类型图层支持的参数,具体如下:
|
名称 | 类型 | 含义 |
picAsUrl |
String | 【可选参数】
小地图的图片 url 地址。(暂不支持) |
picAsBase64 |
String | 【可选参数】
小地图的base64位图片信息。(暂不支持) |
名称 | 类型 | 含义 |
title | String | 【可选参数】
图例名称。不传递此参数将不显示图例名称。该参数只与 customItems 参数组合使用。 |
picAsUrl | String | 【可选参数】
通过 url 传入图例的图片,建议图片中包含图例名称。例如:http://localhost:8090/iserver/services/map-china400/rest/maps/China/layers/Main_Road_L@China@@China/legend;图片格式支持:png、jpg、svg;图片大小默认为:400px*85px。 |
picAsBase64 | String | 【可选参数】
传入图例的base64位图片信息,建议图片中包含图例名称。图片格式支持:png、jpg;图片大小默认为:400px*85px。 |
customItems | object | 【可选参数】
自定义一组图例元素,用户可以传入一个 JSON 字符串。 |
名称 | 类型 | 含义 |
name | String | 【必选参数】
图例元素的名称。 |
picAsBase64 | String | 【可选参数】
图例元素 Base64 格式图片。图片格式支持:png、jpg;图片大小默认为:20px*20px。 |
picAsUrl | String | 【可选参数】
图例元素图片的获取地址。例如:http://localhost:8090/iserver/services/map-china400/rest/maps/China/layers/Main_Road_L@China@@China/legend;图片格式支持:png、jpg、svg;图片大小默认为:20px*20px。 |
名称 | 类型 | 含义 |
format | String | 【必选参数】
Web 打印输出的格式,目前支持:PNG、PDF。 |
dpi | number | 【可选参数】
Web 打印输出的分辨率,单位为每英寸点数。默认值为 96 dpi。 |
scale | number | 【可选参数】
Web 打印输出的地图比例尺。如果不传递此参数,默认使用主地图的比例尺。 |
rotation | number | 【可选参数】
Web 打印输出的地图角度。 |
center | Point2D | 【可选参数】
Web 打印输出的地图中心点。如果不传递此参数,默认使用主地图的中心点。 |
正常响应情况:响应码201。响应参数如下:
字段 | 类型 | 说明 |
resourceConfigID |
String |
打印任务结果资源 ID。 |
supportedMediaTypes | String | 打印任务结果支持的媒体类型。 |
path | String | 打印任务详细信息 url。 |
resourceType | String | 打印任务结果资源类型。 |
name | String | 打印任务结果资源名称。 |
对 webPrintingJobs 资源:http://supermapiserver:8090/iserver/services/webprinting/rest/webprinting/v1/jobs.rjson,执行 POST 请求,请求参数如下:
{
"layoutOptions": {
"templateName": "A4_landscape",
"title": "主标题",
"subTitle": "副标题",
"author": "作者",
"copyright": "版权信息",
"northArrowOptions": {
"picAsUrl": "file://NorthArrow.svg"
},
"scaleBarOptions": {
"scaleText": "比例尺"
},
"legendOptions": {
"title": "图例",
"customItems": [
{
"name": "重要设置",
"picAsBase64": "iVBORw0KGgoAAAANSUhEUgAAAA8AAAAQCAIAAABGNLJTAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAEnQAABJ0Ad5mH3gAAAJZSURBVChTJZJpT1NBFIZnu3OX9taCQlxCDRqIgCgCRoKNEoUP+g+Qf2gh+sE/IITEiIkkEmgRAlqKARIsdLvLLL7Fk3OTybkzZ3nOS1fel4i1hDFCidKaUiKlNMYcHBwUCgWjDYKCcZi1luEjBPctY9x1JZxY82V9fa9S8V0ZhhnBmdYadxiMUKqvHlBi4a5wVCf+/nVjb2f77M+xJ3gu8LOBzwVlgjHhOI6Urud5vhd4HiM2brXSdvu0elzbP3Qpc7nwpPR9H/X54uKisSZJEmM0IyS6bHz68PHkqBZImUSRUSoXhs12++9FPU4SurK8vFMur62tNZuN67lQd6L6yRlThhIjXamMHhi819ZqZ29/bmFeWGPDbEgp3dr6IYy5e/N2wIQUjBjqCJFxM7uVsuL86dRUcXaWL71byufzw8ND+TC8rNdtknhCSM7RlUrTRqfd198/Wyy+nl/I5sIuSZDpyfe87dobypgGbUyEVohVSr2cg70CBJxZmqTUUvx1vWDw/hCXbidVHW06yipCHd+/NVBwM1mwA2GGbcHBu9VqbWx8w/itKIZ3krgZRReN1mG1ahl2gnpEAB/uO46o1Wrlyu6Nvr5nk9OPxsaA7/Pq6vYuYj8fTk0Dg9JKWBTgBA9+H1Wv9eRfPC9Ojo+HQUaDdG/vnc3NX7UqEI+MjlJMiKVDN1EcYaePJyYejIwI6V40m6fn55DY9MzM+MSTIAgwGDLS5VIpVUpcGUKQ2392aaq6qxZcAVG3VQeNQ4NdAcYx9pow2pVbkqZIgzCEhgOycCFAkzL6D1z3Y7brlOmFAAAAAElFTkSuQmCC"
},
{
"name": "河流",
"picAsUrl":
"http://localhost:8090/iserver/services/map-China100/rest/maps/China/layers/River@China@@China/legend"
},
{
"name": "主干道",
"picAsUrl":
"http://localhost:8090/iserver/services/map-China100/rest/maps/China/layers/Main_Road_L@China@@China/legend"
}
]
},
"littleMapOptions": {
"center": {
"x": 12659780.84769,
"y": 1630935.5331
},
"scale": 2.63157894736842E-08,
"layers": [
{
"layerType": "TILE",
"name": "China",
"url": "http://192.168.120.40:8090/iserver/services/map-China100/rest/maps/China"
}
]
}
},
"exportOptions": {
"format": "pdf",
"dpi": 96
},
"content": {
"type": "WEBMAP",
"value": {
"maxScale": "1:144447.927",
"level": 4,
"center": {
"x": 12024583.8595938,
"y": 4101942.08146721
},
"layers": [
{
"layerType": "TILE",
"name": "China",
"url": "http://192.168.120.40:8090/iserver/services/map-China100/rest/maps/China"
},
{
"layerType": "geojson",
"geoJson": "file://features.geojson",
"style": {
"version": "2",
"*": {
"symbolizers": [
{
"type": "point",
"fillColor": "#00000",
"fillOpacity": 1,
"strokeColor": "#00000",
"strokeOpacity": 1,
"strokeWidth": 1,
"pointRadius": 2
}
]
}
}
}
],
"description": "",
"projection": "EPSG:3857",
"minScale": "1:591658710.909",
"title": "china_point",
"version": "2.0.0"
}
}
}
返回的 rjson 格式的资源描述如下:
[
{
"resourceConfigID": "24310691-6b27-42c5-a64d-8676b5cd5d84@8c9c5dda-fa85-4174-8bd2-e89115ebc565",
"supportedMediaTypes": null,
"path": "http://localhost:8090/iserver/services/webprinting/rest/webprinting/v1/jobs/24310691-6b27-42c5-a64d-8676b5cd5d84@8c9c5dda-fa85-4174-8bd2-e89115ebc565",
"name": "24310691-6b27-42c5-a64d-8676b5cd5d84@8c9c5dda-fa85-4174-8bd2-e89115ebc565",
"resourceType": null
}
]
返回跟 GET 请求一样的 HTTP 响应头,但是没有响应实体。可以在不必传输整个响应内容的情况下,获取包含在响应消息头中的元数据信息。元数据信息包括媒体类型,字符编码,压缩编码,实体内容长度等。
HEAD 请求可以用来判断 webPrintingJobs 资源是否存在,或者客户端是否有权限访问 webPrintingJobs 资源。通过对加.<format>的 URI 执行 HEAD 请求,还可以快速判断 webPrintingJobs 资源是否支持<format>格式的表述。