Web打印

article/2025/9/14 4:11:08

布鲁斯李

Web打印

随着10i新版本的发布,在10i的iserver中,内置了一个web打印服务。是指将您在 Web 应用中制作的 Web 内容输出为可打印的文档。那么如何使用该服务,请继续往下看:
执行一次成功的web打印任务,我们需要如下四个步骤:

1、准备打印内容:

SuperMap iServer Web 打印服务支持打印的 Web 内容为 WebMap,即为在线的地图。在创建打印任务时,输入的请求体需提供 WebMap 的 “JavaScript 对象标记法”(JSON)表达。使用 SuperMap iPortal 的数据上图 Web App 制作的 WebMap,无需为构建 JSON 担心,只需知道创建的地图ID,即可通过:
http://ip:端口/iportal/web/maps/{mapid}/map.rjson拿到json。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210112143037130.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3N1cGVybWFwc3VwcG9ydA==,size_16,color_FFFFFF,t_70 = 500x500)

2、制作布局模板:

Web 打印服务是使用一个布局模板来输出可打印的地图文档。iServer 支持加载 Jaspersoft Studio 软件制作的布局模板。Jaspersoft Studio 是一种较为通用的文档模板格式,可导出为 jrxml 文件进行分发。页面如下:

在这里插入图片描述
下载地址:
https://community.jaspersoft.com/project/jaspersoft-studio。
同时,iServer 内置多个布局模板,位于\webapps\iserver\templates\webprinting-layouts下。以 A4_landscape(A4 横板)为例,具体介绍下该文件夹中包含的文件:
expected_output:该文件夹中存放模板输出的示例效果图
config.yaml:布局模板的配置文件
legend.jrxml:图例的布局模板文件
A4_landscape.jrxml:A4横板的布局模板文件
此外,每个布局模板文件夹中还提供了多个 *.json 的请求体示例,在创建打印任务时,输入的请求体可参考这些请求示例。

3、创建打印任务

Web 打印服务默认开启异步打印模式。创建一个打印任务的步骤如下:
访问 iServer 服务列表,选择 webprinting/rest 服务资源
依次点击 webprinting -> jobs,进入打印任务列表资源页面
点击创建打印任务,进入创建打印任务资源页面
输入 POST 请求体,点击“创建打印任务”按钮即可开始执行任务
下面是一个完整的请求体参数:
PS:如果是使用10.2及以上版本进行打印,其中的请求参数"picAsUrl"的类型为string而不是string[]。

{   "layoutOptions" : {"id": "A4_landscape","template":"A4 landscape","title" : "主标题","subTitle" : "副标题","author" : "作者","copyright" : "版权信息","legendOptions": {"title": "图例","customItems": [{"name": "铁路","picAsUrl": ["http://localhost:8096/iserver/services/map-china400/rest/maps/China/layers/Main_Railway_L@China@@China/legend"]}, {"name": "河流","picAsUrl": ["http://localhost:8096/iserver/services/map-china400/rest/maps/China/layers/River@China@@China/legend"]},{"name": "主干道","picAsUrl": ["http://localhost:8096/iserver/services/map-china400/rest/maps/China/layers/Main_Road_L@China@@China/legend"]},{"name": "机场","picAsUrl": ["http://localhost:8096/iserver/services/map-china400/rest/maps/China/layers/Airport_pt@China.1@@China/legend"]}]},"littleMapOptions": {"center":{"x":12024583.85959379,"y":4101942.0814672136},"scale": 5.4085234291296957378031442727125e-8,"layers": [{"layerType":"TILE","name":"China","url":"http://localhost:8096/iserver/services/map-china400/rest/maps/China"}]}},"exportOptions" : {"format": "pdf","dpi" : 120},"content" : {"type": "WEBMAP","value": {"extent":{"leftBottom":{"x":8009146.115071949,"y":382872.01868254057},"rightTop":{"x":15037846.241523674,"y":7087311.00490398}},"maxScale":"1:12.37","level":1,"center":{"x":11793936.984527431,"y":4442079.903418771},"baseLayer":{"layerType":"TILE","name":"PopulationDistribution","url":"http://localhost:8195/portalproxy/iserver/services/map-Population/rest/maps/PopulationDistribution"},"layers":[],"description":"web打印测试","projection":"EPSG:3857","minScale":"1:51885089.516","title":"web打印测试","version":"2.2.1","rootUrl":"http://localhost:8190/iportal/services/../"   }}}
}
4、输出打印文档:

在这里插入图片描述
打印完成后,点击应用ID,即可下载并查看打印结果:
在这里插入图片描述
在这里插入图片描述


http://chatgpt.dhexx.cn/article/nZEcHkEE.shtml

相关文章

实现WEB打印的几种方法

当前WEB应用开发非常流行,主要原因是WEB应用客户端的规则很简单,容易学习,容易维护,容易发布,降低了开发难度。但是,WEB应用的打印一直以来却是一个难题,特别是在应用中完成标签打印&#xff08…

web打印三种实现方式

web打印的方式可分为三种: 直接调用浏览器打印通过javascript插件调用浏览器打印通过第三方程序直接调用打印机 一、直接调用浏览器打印 通过在javascript代码中调用window.print()函数实现,浏览器会自动获取当前页面内容,并打开浏览器的打…

html纵向广告滚动条,网页右侧的漂浮广告代码,随滚动条滚动

HTML代码(即需要漂浮的广告): js代码:前提是必须要引入jquery文件 $(function(){ $(window).scroll(function(){ var scrollTop document.body.scrollTop || document.documentElement.scrollTop || 0; $(".christmas_ad").stop(); var scrol…

php浮动广告,JavaScript实现漂浮广告代码的实例总结

我们在打开网页的时候,我们会发现不管是什么网页都会有很多漂浮的广告,有很多人都会在想,这样的效果是怎么实现的呢?今天我们就带大家详细介绍下JavaScript实现漂浮广告代码的实例总结! 第一种 漂浮广告 不符合W3C Jav…

html左侧浮动广告代码,如何制作浮动广告 JavaScript制作浮动广告代码

如果有一定的JavaScript基础,制作浮动广告还是比较容易的。直接上代码了:无标题文档 *{ margin:0; padding:0; } #csdn { width:800px; margin:0 auto; } #ad { position:absolute; right:0px; top:30px; z-index:1; } #cl { position:absolute; right:0…

php 漂浮广告代码,JavaScript实现带缓冲效果的随屏滚动漂浮广告代码

本文实例讲述了JavaScript实现带缓冲效果的随屏滚动漂浮广告代码。分享给大家供大家参考,具体如下: 这里演示了始终随屏滚动的JavaScript代码,在国内的应用泛滥成灾了,特别是一些喜欢漂浮广告的站长,常把本代码用作了漂…

html左侧浮动广告代码,纯js网页浮动广告代码

网上一般的网页浮动广告代码都是基于jquery的,受jiquery版本及浏览器限制,非常容易出现不兼容的情况,本站分享一段纯js网页浮动广告代码,简单兼容。 html代码: javascript代码: window.οnlοadfunction(){…

HTML将广告关闭的JS代码,带关闭漂浮广告代码_漂浮广告js代码_漂浮窗口模式关闭...

带关闭漂浮广告代码带关闭漂浮广告代码带关闭按钮地网页漂浮广告代码 x ff.js代码 var xpos = 20; var ypos = document.body.clientheight; var step = 1; var delay = 30; var height = 0; var hoffset = 0; var woffset = 0; var yon = 0; var xon = 0; var pause = true; v…

漂浮广告代码

<!doctype html> <html> <head> <meta charset"utf-8"> <title>漂浮广告代码</title> <script src"http://libs.baidu.com/jquery/1.9.1/jquery.min.js"></script> </head> <body> &…

php漂浮广告代码,JS随机漂浮广告代码具体实例

复制代码 代码如下: var xPos0,yPos0;//x,y轴坐标 var xon0;//图片在x轴移动方向 var yon0;//图片在y轴移动方向 var step1; //移动距离 var imgdocument.getElementByIdx_x("float");//图片层 function floatP() { var widthdocument.body.clientWidth;//浏览器…

JS实现漂浮广告功能

JS实现漂浮广告功能 前言一、漂浮广告案例 前言 漂浮广告非常简单也是老案例了&#xff0c;在网页的设计中可直接拿去用&#xff0c;原理都是我之前文章所讲到的&#xff0c;如果有什么不明白的可以看看我之前的文章&#xff0c;仅供参考学习。 一、漂浮广告案例 我在这个案例…

C语言课后习题(1)

谭浩强C语言第五版的一些课后习题 常用头文件&#xff1a; #include<stdio.h> #include<stdlib.h> #include<math.h> #include<string.h> #include<stdbool.h> 注意事项&#xff1a; 1)获取输入的字符串时&#xff0c;gets保留空格 scanf遇到空格…

C语言课后习题(计算增长率比值

#include <stdio.h>int main() {double p,r;int n;p1.00;r0.07;for(n1;n<10;n){pp*(1r);}printf("%lf\n",p);return 0; } 假如我国国民生产总值的年增长率为7%&#xff0c; 计算10年后我国国民生产总值与现在相比增长多少百分比。计算公式,r为年增长率&…

c语言字符串作业题,C语言课后习题练习(四)

(ps:提前声明一下&#xff1a;课后习题是备份给自己看的&#x1f602;) 1.输入3个整数&#xff0c;按由小到大的顺序输出 int main() { void swap(int *p1, int * p2); int n1, n2, n3; int *p1, *p2, *p3; printf("input three integer n1,n2,n3:"); scanf("%d…

翁恺C语言课后习题

1 时间换算&#xff08;5分&#xff09; 题目内容&#xff1a; UTC是世界协调时&#xff0c;BJT是北京时间&#xff0c;UTC时间相当于BJT减去8。现在&#xff0c;你的程序要读入一个整数&#xff0c;表示BJT的时和分。整数的个位和十位表示分&#xff0c;百位和千位表示小时…

啊哈C语言课后练习题

第 四 章 第四节 项目一&#xff1a;求1~100所有偶数的和。 问题代码/*copyright (啊哈C语言), 学习C *All rights reserved. *文件名称:myfirstc. *作者&#xff1a;JohnLu *完成日期&#xff1a;2020年3月17日 *版本号V1.0 * *问题描述&#xff1a;求1~100所有偶数的和。 …

12道c语言的课后习题!

1、计算n的阶乘&#xff08;1*2*3*4*5 n是个数&#xff0c;比如说乘到100&#xff1f;&#xff09; // 计算n的阶乘#include"stdio.h"int main() {int n 0;scanf("%d", &n);int i 0;int ret 1;for (i 1; i < n; i) {ret * i;}printf("…

TeeChart在VS2005,VS2008的入门教程

最近项目上要用到TeeChart来绘图&#xff0c;网络上关于TeeChart的资料很多&#xff0c;但是感觉很多都讲不到点上&#xff0c;很多入门过程中碰到的细节问题还是要自己探索。我把这两天的学到的记下来&#xff0c;也与大家分享。 环境&#xff1a;VS2005,VS2008 TeeChart版本:…

怎么用VS2008?

请问各位怎么用VS2008&#xff0c;为什么总是出错&#xff1f;我是这么做的。

[Win8]如何使用Visual Studio2012进行Windows8项目开发

随着Windows8普通版&#xff0c;专业版和企业版的普及&#xff0c;Windows8的应用开发也逐渐火热起来。 下面简单介绍一下如何使用Visual Studio2012进行Windows8项目的开发。 首先安装Windows8的操作系统&#xff0c;推荐安装32位的Win8&#xff0c;因为64位的容易出现不兼容…