Web打印

news/2024/11/15 7:03:14/

布鲁斯李

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://www.ppmy.cn/news/682769.html

相关文章

html页面实现打印

html页面实现打印功能 方式一 打印整个html页面方式二 通过获取页面html内容打印 方式一 打印整个html页面 <!DOCTYPE html> <html lang"zh" xmlns:th"http://www.thymeleaf.org" > <head><th:block th:include"include :: hea…

WEB打印-网页打印功能(带分页、可多页打印)

<html> <head> <title>Web打印</title> <meta http-equiv"Content-Type" content"text/html; charsetgb2312"> <!--mediaprint 这个属性可以在打印时有效--> <style mediaprint> .Noprint{display:…

前端打印网页

文章目录 CSS控制局部打印例子网页加水印&#xff0c;而打印时不加水印参考文献 打印网页&#xff0c;可以调用window.print()方法。该方法会打印出当前网页。 现在你就可以打开控制台&#xff0c;尝试一哈 运行结果 &#xff1a; 当然&#xff0c;可以控制哪些元素不被打印 &…

前端网页打印window.print()

前言 print作为浏览已经比较成熟的技术可以经常被用来打印页面的部分内容&#xff0c;我们可以在MDN上查看到相关的简单介绍。 一、print()方法 print() 方法用于打印当前窗口的内容。调用 print() 方法会产生一个打印预览弹框&#xff0c;让用户可以设置打印请求。最简单的打…

前端网页打印插件print.js

在前端开发中&#xff0c;想打印当前网页的指定区域内容&#xff0c;或将网页导出为多页的PDF&#xff0c;可以借助print.js实现&#xff0c;该插件轻量、简单、手动引入、不依赖其他库。示范项目github&#xff1a;https://github.com/lemoncool/print-demo。打印或导出PDF后效…

简单实用的web打印方案-网页精准打印

在当前这个互联网时代&#xff0c;大部分企业都搭建了自已的平台&#xff0c;通过平台联系客户&#xff0c;与粉丝互动&#xff0c;展示自己的产品。PC网站、APP、手机站、这些平台是企业互联网生态系统的重要基础。在公司平台化、系统化的今天&#xff0c;工作中出现web打印的…

web打印的几种方法(2023)

在工作中出现web打印的情况是非常多的&#xff0c;其实这也是一个比较烦人的问题&#xff0c;这篇博客整理一下关于Web打印的一些方法或者方式。 1. window.print() 这个方法是用来打印网页的&#xff0c;页面上的其他的元素也会被打印处理&#xff0c;在打印的时候页眉页脚是…

网页实现打印功能

在JavaScript中&#xff0c;可以使用Window对象的print()方法来实现打印操作&#xff0c;语法格式“window.print()”。print()方法用于打印当前窗口的内容&#xff1b;调用print()方法会产生一个打印预览弹框&#xff0c;让用户可以设置打印请求。 打印当前页面指定元素中的内…