#ArcGIS for Server 自定义打印两种方法

友好阅读版本: http://gishub.info/2013/09/17/printingtools/

## 前言
使用web打印会遇到中文乱码,这是因为使用的打印模板中,配图要素的字体选择了非中文友好字体,如下图所示。模板字体改为中文友好字体,再执行下面的自定义模板步骤
![](http://7xovpf.com1.z0.glb.clouddn.com/printingTools1.png)

安装完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 的地图打印模板
![](http://7xovpf.com1.z0.glb.clouddn.com/printingTools2.png)

2. 在catalog中执行export web map操作,并将gp执行的结果发布成gp 服务

tips:执行的时候指定自定义模板所在的文件夹,也可以指定模板。如果指定了模板,则gp服务的模板的输入参数具有默认值
![](http://7xovpf.com1.z0.glb.clouddn.com/printingTools3.png)

其中web map as json 可以为空,这里选择了默认的自己自定义的模板为默认模板。

3. 发布gp服务,设置参数,由于发布gp服务的时候,模板文件夹下具有多个模板,则layout template 输入参数类型为choice list
![](http://7xovpf.com1.z0.glb.clouddn.com/printingTools4.png)

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

Step 4: gp服务调用
![](http://7xovpf.com1.z0.glb.clouddn.com/printingTools5.png)

具体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 自定义模板打印的实现的更多相关文章

  1. SublimeText插件Emmet的自定义模板

    在前端界,作为快速生成代码的Emmet插件相当给力.最近在学bootstrap,需要频繁生成html头文件,我就想着自定义模板.国内只有基础教程,只好自己读英文文档了. Emmet国内基础教程地址: ...

  2. vue-element-admin实现模板打印

    一.简介 模板打印也叫”套打“,是业务系统和后台管理系统中的常用功能,B/S系统中实现”套打“比较繁琐,所以很多的B/S系统中的打印功能一直使用的是浏览器打印,很少实现模板打印.本篇将介绍在Vue E ...

  3. [Python自学] day-21 (1) (请求信息、html模板继承与导入、自定义模板函数、自定义分页)

    一.路由映射的参数 1.映射的一般使用 在app/urls.py中,我们定义URL与视图函数之间的映射: from django.contrib import admin from django.ur ...

  4. Django自定义模板

    定义simple_tag步骤 一.创建templatetags文件 首先在app下创建templatetags文件:名字不许叫这个,不能改变. 二.在文件中创建一个py文件 文件名自定义 三.在创建的 ...

  5. 学习CodeIgniter框架之旅(一)自定义模板目录

    在常用的框架本身都已经做好了分层和目录结构,但这在很多时候不满足项目的需求甚至在某些情况下变得不合理,因此很多时候需要自定义目录结构,在此就看看如果在CodeIgniter框架中自定义模板目录: 在C ...

  6. .NET/ASP.NETMVC 深入剖析 Model元数据、HtmlHelper、自定义模板、模板的装饰者模式(三)

    阅读目录: 7.HtmlHelper.HtmlHelper<T>中的ViewModel的类型推断 8.控制ViewModel中的某个属性的呈现(使用PartialView部分视图细粒度控制 ...

  7. 使用requireJS,backboneJS,和underscoreJS完成自定义模板封装

    使用requireJS,backboneJS,和underscoreJS完成自定义模板封装 原来的代码 当我们进行一个列表的数据填充的时候,是这样做的: //获取美食列表 function getFo ...

  8. DISCUZ 自定义模板

    DISCUZ 自定义模板 模板安装和维护 安装新模板 将模板template打包放在对应目录:template/ 后台 -> 界面 -> 风格管理 , 安装模板 后台 -> 界面 - ...

  9. 谈谈yii2-gii如何自定义模板

    作者:白狼 出处:http://www.manks.top/article/yii2_gii_custom_template本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位 ...

随机推荐

  1. Refactoring之——代码的坏味道(四)过长参数列

    1.1.4 Long Parameter List(过长参数列) 特征:一个方法有超过三四个的参数. 问题原因: 过长参数列可能是将多个算法并到一个函数中时发生的.函数中的入参可以用来控制最终选用哪个 ...

  2. webpack 打包压缩 ES6文件报错UglifyJs + Unexpected token punc ((); 或者 Unexpected token: operator (>)

    webpack 打包压缩 ES6文件报错UglifyJs + Unexpected token punc (();  或者 Unexpected token: operator (>) 解决方案 ...

  3. LwIP协议栈(2):网络接口

    在LwIP中,物理网络硬件接口结构保存在一个全局链表中,它们通过结构体中的 next 指针连接. struct netif { /// pointer to next in linked list * ...

  4. atitit.TokenService  token服务模块的设计

    atitit.TokenService  token服务模块的设计 1. Token的归类1 2. Token的用途2 2.1. 访问控制2 2.2. 编译原理术语)编辑2 2.3. 数据处理2 1. ...

  5. 基于注解的Mybatis mapper 接口注意事项

    基于注解的Mybatis mapper 接口功能没有mapper xml配置文件丰富,并且动态sql语句的灵活性不能和xml配置相比. 这里仅仅说一下基于注解的动态sql注意事项: Mybatis提供 ...

  6. Python内置函数之input()

    input([prompt])input()读取标准输入并打印字符串到屏幕. 参数是自定义的提示符. 例子: >>> input('$ ') $ pwd 'pwd'

  7. iOS开发多线程篇 09 —NSOperation简单介绍

    iOS开发多线程篇—NSOperation简单介绍 一.NSOperation简介 1.简单说明 NSOperation的作⽤:配合使用NSOperation和NSOperationQueue也能实现 ...

  8. 谁说selenium打开firefox不用驱动的???!!!!

    selenium3下写自动化脚本,使用firefox(48) 要下载驱动了 geckodriver 就是这个,和其他驱动放一个地方~~~

  9. EEPlat的元模型体系

    EEPlat的元模型体系是元数据驱动的必要条件之中的一个.仅仅有通过元模型可以完好的描写叙述一个软件系统.才可以完整的定义该软件系统的元数据,也才干真正实现软件系统的元数据驱动式开发.也就意味着一个软 ...

  10. jQuery导入代码片段并绑定事件

    a.html <div> <button class="button" >点我达</button> </div> b.html &l ...