Printing tools 自定义模板打印的实现
#ArcGIS for Server 自定义打印两种方法
友好阅读版本: http://gishub.info/2013/09/17/printingtools/
## 前言
使用web打印会遇到中文乱码,这是因为使用的打印模板中,配图要素的字体选择了非中文友好字体,如下图所示。模板字体改为中文友好字体,再执行下面的自定义模板步骤

安装完arcgis server 在站点的utilities 目录下有printing tools的gp服务,其下面有个export web map操作,通过这个gp服务可以实现对web 地图的打印。但是经常会遇到用户反馈有需求,需要自己自定义打印模板,怎么实现。
## 方法一:
安装完arcgis sever后,会在desktop的工具集中添加server工具箱,其中有export web map工具,通过该工具可以创建和发布打印web地图的gp服务,该服务和站点中默认的打印gp服务一样。通过对该gp服务指定自定义模板即可。
步骤如下:
1. 准备地图模板,这里制定了jmb custom.mxd 的地图打印模板

2. 在catalog中执行export web map操作,并将gp执行的结果发布成gp 服务
tips:执行的时候指定自定义模板所在的文件夹,也可以指定模板。如果指定了模板,则gp服务的模板的输入参数具有默认值

其中web map as json 可以为空,这里选择了默认的自己自定义的模板为默认模板。
3. 发布gp服务,设置参数,由于发布gp服务的时候,模板文件夹下具有多个模板,则layout template 输入参数类型为choice list

tips:发布gp服务时,可以将模板文件夹注册给服务,则模板可以不用拷贝到服务器
Step 4: gp服务调用

具体rest中的参数怎么填写,参考export web map 规范,链接如下:
http://resources.arcgis.com/zh-CN/help/main/10.1/index.html#//0154000004w8000000
## 方法二:
~update 2016-06-13
看完方法一,是不是有种累觉不爱的感觉。方法二就简单的很了。
ArcGIS for Server的打印服务的模板都在其安装目录下存储着。默认路径如下:
> C:\Program Files\ArcGIS\Server\Templates\ExportWebMapTemplates
只需要将模板拷贝到该目录即可。是不是很简单的说?
Printing tools 自定义模板打印的实现的更多相关文章
- SublimeText插件Emmet的自定义模板
在前端界,作为快速生成代码的Emmet插件相当给力.最近在学bootstrap,需要频繁生成html头文件,我就想着自定义模板.国内只有基础教程,只好自己读英文文档了. Emmet国内基础教程地址: ...
- vue-element-admin实现模板打印
一.简介 模板打印也叫”套打“,是业务系统和后台管理系统中的常用功能,B/S系统中实现”套打“比较繁琐,所以很多的B/S系统中的打印功能一直使用的是浏览器打印,很少实现模板打印.本篇将介绍在Vue E ...
- [Python自学] day-21 (1) (请求信息、html模板继承与导入、自定义模板函数、自定义分页)
一.路由映射的参数 1.映射的一般使用 在app/urls.py中,我们定义URL与视图函数之间的映射: from django.contrib import admin from django.ur ...
- Django自定义模板
定义simple_tag步骤 一.创建templatetags文件 首先在app下创建templatetags文件:名字不许叫这个,不能改变. 二.在文件中创建一个py文件 文件名自定义 三.在创建的 ...
- 学习CodeIgniter框架之旅(一)自定义模板目录
在常用的框架本身都已经做好了分层和目录结构,但这在很多时候不满足项目的需求甚至在某些情况下变得不合理,因此很多时候需要自定义目录结构,在此就看看如果在CodeIgniter框架中自定义模板目录: 在C ...
- .NET/ASP.NETMVC 深入剖析 Model元数据、HtmlHelper、自定义模板、模板的装饰者模式(三)
阅读目录: 7.HtmlHelper.HtmlHelper<T>中的ViewModel的类型推断 8.控制ViewModel中的某个属性的呈现(使用PartialView部分视图细粒度控制 ...
- 使用requireJS,backboneJS,和underscoreJS完成自定义模板封装
使用requireJS,backboneJS,和underscoreJS完成自定义模板封装 原来的代码 当我们进行一个列表的数据填充的时候,是这样做的: //获取美食列表 function getFo ...
- DISCUZ 自定义模板
DISCUZ 自定义模板 模板安装和维护 安装新模板 将模板template打包放在对应目录:template/ 后台 -> 界面 -> 风格管理 , 安装模板 后台 -> 界面 - ...
- 谈谈yii2-gii如何自定义模板
作者:白狼 出处:http://www.manks.top/article/yii2_gii_custom_template本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位 ...
随机推荐
- Oracle学习笔记(5)——查询
基本查询语句 SELECT [DISTINCT] column_name1,...|* FROM table_name [WHERE conditions] 在SQL*PLUS中设置格式 更改显示字段 ...
- oracle获取时间毫秒数
select (sysdate-to_date('1970-01-01','yyyy-mm-dd')-8/24)*24*60*60*1000-1* 60 * 60 * 1000 millisecon ...
- Cocos2dx3.0过渡篇 globalZOrder()与localZOrder()
这篇博客的标题本想叫“...3.0新的渲染...介绍”,最后还是拉不下这个脸.为啥?觉得自己对渲染的认识还是过于表面,谈不上理解.当然了,这并不影响这篇博客继续写下去.下面看一段3.0Release ...
- Centos下安装JDK、Maven和Git
原文地址:https://github.com/eacdy/spring-cloud-book/blob/master/3%20%E4%BD%BF%E7%94%A8Docker%E6%9E%84%E5 ...
- 在连接mysql数据库时出错:The server time zone value '�й���ʱ��' is unrecognized or represents more than one time zone
这个错误是时区导致的,所以需要在配置连接url后面加上时区: url=jdbc:mysql://localhost:3309/test?serverTimezone=UTC 其中UTC是统一标准世界时 ...
- ORA-1092 : opitsk aborting process---killed by oom killer
oracle version:Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production os versi ...
- Knockout JS 演示样例
五个小样例,来自Knockout JS官方站点. //tutorial 1 //following codes uses to demonstrate observable values and ta ...
- 关于ApplicationContext的初始化
一.提倡的初始化方法:<1>在独立应用程序中,获取ApplicationContext: AbstractApplicationContext context = new ...
- typeof()关键字
typeof是GNU c标准的关键字. typeof()的作用是自动推导出括号中表达式的数据类型. #include <stdio.h> void func1(void) { ; type ...
- Python内置函数之all()
all()函数返回值不是True就是False. 它只能传入一个参数,而且参数必须是可迭代对象,换句话说,参数不是元组就是列表(通常情况下). all()中的可迭代对象所有元素值为True或者不包含元 ...