跨平台打印模板转化pdf源码--SAAS本地化及未来之窗行业应用跨平台架构

news2024/12/23 11:28:06

一、跨平台打印转pdf渲染

pdf渲染模式可以支持国产化系统,和手机系统,安卓,苹果系统,qq浏览器,火狐,谷歌刘安祺

二、代码

/*
///cyberwin_offline_database_printtemp.js
 未来之窗打印模板解析技术 2024-09

  LeftMargin="0" TopMargin="0" RightMargin="0" BottomMargin="0"
  ReportPage
  打印机 打印预览


面设置 = 打印数据返回.pageset;
  //rror: Invalid arguments passed to jsPDF.text
*/

function 未来之窗_打印数据渲染到预览_html(打印数据返回,预览窗口宽度,预览窗口高度){
				var 打印数据 = 打印数据返回.data;
				var 页面设置 = 打印数据返回.pageset;
				console.log("未来之窗_打印数据渲染到预览_html");
			         console.log(打印数据);

			 var page_w = parseInt(页面设置.width);
			 var page_h = parseInt(页面设置.height);
			 var page_x = parseInt(页面设置.left);
			 var page_y = parseInt(页面设置.top);

			 console.log("未来之窗_打印页面,page_x="+page_x+",page_y="+page_y);

             const doc = new jsPDF({ unit: 'mm',format: [page_w, page_h]});

			   doc.addFileToVFS('Alibaba-PuHuiTi-Bold-bold.ttf', font_wlz);
			   doc.addFont('Alibaba-PuHuiTi-Bold-bold.ttf', 'Alibaba-PuHuiTi-Bold', 'bold');

			 
			   doc.setFont("Alibaba-PuHuiTi-Bold",'bold'); // set font
 
				// doc.text(20, 20, 'Welcome to hangge.com.\rWelcome to hangge.com.\rWelcome to hangge.com.');
				 for (var val in 打印数据) {
					//alert(val + " " + myJson[val]);//输出如:name 
					console.log("打印数据_one");
					var 打印数据_one = 打印数据[val];
			         console.log(打印数据_one); 

					 if(打印数据_one.type == "text"){
						 doc.setFontSize(打印数据_one.Fontsize);
						 var x=打印数据_one.x;
						 var y=打印数据_one.y;
						 x = parseInt(x);
						 y = parseInt(y);

						 x = 0+ x+page_x;
						 y =0 + y+page_y;

						 //<br>
						 var 文本 = 打印数据_one.content;
						 //文本 = 文本.replace("[br]",'\r');
						  文本 = 文本.replace(/[br]/g,'\r');

						   console.log("x="+x+"y="+y); 


						// doc.text(x, y,"9098089");
						  doc.text(x, y,文本);
						 //CanGrow==y
					 }
				}

				var pdfData = doc.output('datauristring');

			 
				var 打印预览=`<iframe width=${预览窗口宽度}" height="${预览窗口高度}" src="${pdfData}"   ></iframe>`;
				return 打印预览;
	
	}

三、代码解释

在这神秘的代码仙境之中,存有一奇妙之函数“未来之窗_打印数据渲染到预览_html”。

它先是获取“打印数据返回”中的关键信息,如打印数据和页面设置。

而后,对页面的宽度、高度等进行精细的数值转换与处理。

接着,犹如施展神奇仙法,调用“jsPDF”之力创建文档,并添加特定字体。

随后,遍历打印数据,针对文本类型的数据,进行位置计算与内容处理,将文本准确地放置于文档之中。

最终,生成文档的特定数据格式,并构建出一个包含预览窗口信息的神奇“打印预览”结构,回传此奇妙成果。

整个过程犹如在仙法秘境中精心雕琢一件神奇法宝,充满了神秘与精妙。 

四、阿雪技术观

拥抱开源与共享,见证科技进步奇迹,畅享人类幸福时光!

让我们积极投身于技术共享的浪潮中,不仅仅是作为受益者,更要成为贡献者。无论是分享自己的代码、撰写技术博客,还是参与开源项目的维护和改进,每一个小小的举动都可能成为推动技术进步的巨大力量

扫码,可学习更多

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2108816.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

maven的作用

一.什么是maven&#xff1f; maven是apache旗下的一个开源项目,是一款用于管理和构建java项目的工具。 关于Apache软件基金会,是目前世界最大的最受欢迎。 二.Maven的作用&#xff1f; 1.依赖管理 方便快捷的管理项目依赖的资源(jar包),避免版本冲突问题。 配置文件(pom.x…

Android UID 和 userID 以及 appID

我们知道Android 操作系统是基于Linux内核的&#xff0c;所以Android 的UID 是基于 Linux UID的。 Linux UID Linux 本身就是一个多用户操作系统&#xff0c;每一个用户都会有一个UID&#xff0c;不同UID 之间的资源访问是受限的。 其中&#xff0c;Linux的DAC权限模型&#…

mysql笔记2(安装配置与连接)

文章目录 1. 社区版两种安装包2. mysql是一个典型的C/S架构的软件3. 编写mysql代码的三个位置① cmd② mysql软件客户端③ 第三方软件Hyper 4. 常见的关系型数据库① myql② sql server③ oracle 5. 连接mysql① 为什么要连&#xff1f;② cmd里怎么连&#xff1f; 6. 清屏与退…

直线上最多的点数

优质博文&#xff1a;IT-BLOG-CN 题目 给你一个数组points&#xff0c;其中points[i] [xi, yi]表示X-Y平面上的一个点。求最多有多少个点在同一条直线上。 示例 1&#xff1a; 输入&#xff1a;points [[1,1],[2,2],[3,3]] 输出&#xff1a;3 示例 2&#xff1a; 输入&am…

中间件解析漏洞(附环境搭建教程)

⼀&#xff1a;IIS解析漏洞 环境资源&#xff1a; https://download.csdn.net/download/Nai_zui_jiang/89717504 环境安装 windows2003iis6 1.创建新的虚拟机 2.在下⼀步中选择我们的iso⽂件镜像 vm已主动识别到windows2003 3.产品密钥⽹上搜⼀个 密码自己设置一个简单的&…

Depop被封如何恢复?如何申诉?可以解封吗?

Depop 是一个受欢迎的在线市场&#xff0c;帮助用户在全球范围内买卖服装、时尚物品和其他配饰。然而&#xff0c;与其他在线平台一样&#xff0c;Depop 有每个用户必须遵守的准则和规则&#xff0c;以确保市场安全公平。其中一条规则是&#xff0c;您不得拥有多个帐户&#xf…

Docker核心原理解读:深度剖析Docker Daemon,掌控容器背后的引擎

容器技术已经成为现代应用程序开发和部署中的核心工具&#xff0c;而在Docker生态系统中&#xff0c;Docker Daemon 扮演着至关重要的角色。它不仅是Docker架构的核心&#xff0c;还负责容器的管理、镜像的操作、资源的分配等复杂任务。本文将深入解读Docker Daemon的工作原理&…

【2024高教社杯全国大学生数学建模竞赛】ABCDEF题 问题分析、模型建立、参考文献及实现代码

【2024高教社杯全国大学生数学建模竞赛】ABCDEF题 问题分析、模型建立、参考文献及实现代码 1 比赛时间 北京时间&#xff1a;2024年9月5日 18:00-2024年9月8日20:00 2 思路内容 2.1 往届比赛资料 【2022高教社杯数学建模】C题&#xff1a;古代玻璃制品的成分分析与鉴别方案…

导入word模板的数据到DB,偏自学,可自改套用

GetMapping("/importTestPeople")public void importTestPeople(RequestParam("file") MultipartFile multipartFile) throws IOException {InputStream inputStream null;File file null;try {// 创建临时文件file File.createTempFile("temp&quo…

【2024数模国赛赛题思路公开】国赛C题第二套思路丨附可运行代码丨无偿自提

2024年国赛C题第二套解题思路 第一问&#xff1a;2024~2030年农作物的最优种植方案 【问题分析】 题目要求为某乡村在2024~2030年制定农作物的最优种植方案&#xff0c;目的是最大化收益&#xff0c;并需考虑两种销售情况&#xff1a; 1. 超过预期销售量的部分滞销&#xff0…

首席数据官职位设置流程解析

首席数据官专业能力验证&#xff08;CDO Professional Competency Certification&#xff09;旨在评估并验证那些精通国内外数据安全合规政策、擅长构建数据安全体系以及熟练掌握数据安全管理流程与技术防护手段的专业人士的能力。 为加强数据安全领域的人才队伍建设&#xff…

【网络安全】服务基础第一阶段——第七节:Windows系统管理基础---- Web与FTP服务器

将某台计算机中的⽂件通过⽹络传送到可能相距很远的另⼀台计算机中&#xff0c;是⼀项基本的⽹络应⽤&#xff0c;即⽂件传送。 ⽂件传送协议FTP &#xff08;File Transfer Protocol&#xff09;是因特⽹上使⽤得最⼴泛的⽂件传送协议。 涉及到文件的上传和下载&#xff0c;很…

2024 RustChinaConf 赞助商介绍

2024 RustChinaConf 得到了行业各界的广泛支持&#xff0c;在此向以下赞助商表示感谢&#xff01; 非凸科技 非凸科技是一家全栈使用Rust的金融科技公司&#xff0c;致力于为券商、私募、公募等金融机构及个人投资者提供一站式数智交易领域服务解决方案。作为本次大会的钻石赞助…

常见概念 -- 色度色散与偏振模色散

色度色散(CD) 由于光纤中不同波长对应不同的传输速度&#xff0c;不同波长到达相同距离的光纤的时间不同&#xff0c;从而导致光脉冲展宽。 偏振模色散(PMD) 由于光纤的随机性双折射&#xff0c;不同相位状态的光传播速度不同&#xff0c;使光脉冲展宽。 色散对系统的影响 C…

【办公效率】Axure会议室预订小程序原型图,含PRD需求文档和竞品分析

作品说明 作品页数&#xff1a;共50页 兼容版本&#xff1a;Axure RP 8/9/10 应用领域&#xff1a;中小型企业的会议室在线预订 作品申明&#xff1a;页面内容仅用于功能演示&#xff0c;无实际功能 作品特色 本作品为会议室预订小程序原型图&#xff0c;定位于拥有中大型…

太速科技-VC709E 基于FMC接口的Virtex7 XC7VX690T PCIeX8 接口卡

VC709E 基于FMC接口的Virtex7 XC7VX690T PCIeX8 接口卡 一、板卡概述 本板卡基于Xilinx公司的FPGA XC7VX690T-FFG1761 芯片&#xff0c;支持PCIeX8、两组 64bit DDR3容量8GByte&#xff0c;HPC的FMC连接器&#xff0c;板卡支持各种FMC子卡扩展。软件支持windows&#xf…

提升效率!ArcGIS中创建脚本工具

在我们日常使用的ArcGIS中已经自带了很多功能强大的工具&#xff0c;但有时候遇到个人的特殊情况还是无法满足&#xff0c;这时就可以试着创建自定义脚本工具。 一、编写代码 此处的代码就是一个很简单的给图层更改别名的代码。 1. import arcpy 2. input_fc arcpy.GetParam…

3、无重复字符的最长子串

题目 链接&#xff1a;leetcode链接 思路分析&#xff08;滑动窗口&#xff09; 子串是连续的&#xff0c;很容易联想到滑动窗口&#xff0c;处理连续子串问题很方便。 先设置left和right两个指针&#xff0c;从0位置开始移动。 为了去判断窗口里面有没有出现重复的子串&a…

matplotlib可视化学习

单折线图&#xff1a;显示变量随时间变化而发生的变化&#xff0c;也可以增加标签 多折线图&#xff0c;对比差异 散点图&#xff1a;体现数据在一定范围内的分布情况 box箱图&#xff1a;体现数据的分布情况&#xff0c;与散点图不同的是&#xff0c;它还统计了最大/最小值、中…

基于C+++CSV文件存储开发图书管理系统

简介 这是一个简单的拥有图形界面的图书管理系统。 特色 前后端完全分离易于使用的交互界面 功能介绍 主要有图书管理和用户管理两项功能。 默认读取同一目录下的 user.csv 和 book.csv 作为用户和图书数据文件。也可在登录后导入其他数据文件。 在无数据文件的情况下&am…