首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

JS达到Web指定保存和打印功能内容

背景 首先,说说文章背景。近期手中一个项目,因为需求中要求提供Web界面的打印功能。当然假设没有打印机,还能够提供保存到本地。项目组长把这个“小任务”分给了我。...组件 组件名称:Lodop(提供下载) 须要引入文件:lodop.cab(自己制作)、LodopFuncs.js(必须)、install_lodop32.exe(可选,官方提供exe格式插件)...然后是保存功能 html 代码同样,这里就不再反复贴了 js 代码 <span style="font-family:Microsoft YaHei;font-size:12px;"...ActiveXObject("Word.Application"); // 打开已有模板 // var doc = word.documents.open(""); // 不打开模板直接增加内容...就能够保存到word中了。 结束语 怎么样,非常easy吧!web 页面打印指定内容事实上就这么简单。 仅仅要找对好工具,什么都不它是一个事!

2.3K30
您找到你想要的搜索结果了吗?
是的
没有找到

Fabric.js 缩放画布 🍬

使用 canvas 开发项目,滚轮缩放画布需求应该不算少数,比如地图。 Fabric.js 也提供了缩放画布功能,本文主要讲解设置画布大小几种方法。 动手实现 在动手前先查查文档。...我把和本文相关文档放在这 mouse:wheel:滚轮事件 getZoom:获取画布当前缩放级别 setZoom:设置画布缩放级别 zoomToPoint:设置画布缩放比例及缩放原点 其中 setZoom...-- 引入 Fabric.js --> ...getZoom 可以获取画布当前缩放级别,用 setZoom 设置一个新缩放级别。 所以我在页面上再加2个按钮,一个放大,一个缩小。...zoomToPoint 可以理解为 setZoom 增强版,第一个参数是原点坐标,本例传入鼠标当前所在坐标;第二个参数是缩放级别。 代码仓库 ⭐Fabric 滚轮缩放画布

5.3K30

Fabric.js 清空画布,甚至连画布元素也给你干掉😏

本文简介 点赞 + 关注 + 收藏 = 学会了 我们可以在 Canvas 上绘制图形,同样也可以将画布所有内容都清空掉。...本文主要聊聊: 在 fabric.js 中如何清空画布; 和原生 canvas 对比,fabric.js 到底有多方便; 销毁 fabrci.js 创建画布; 把 canvas 元素也销毁掉; 原生...但没关系,本文不是讲原生 canvas ,如果想入门 canvas 可以移步到 《Canvas 从入门到劝朋友放弃(图解版)》 fabric.js清空画布:clear fabric.js 提供了 clear...使用 clear 方法只会清空画布内容,并不会销毁画布。 可以看到清空画布后,fabric.js 默认操作还是在(可以框选),这证明画布只是被清空了,并没有被销毁。...销毁 fabric 实例:dispose 除了使用 clear 方法清空画布外,fabric.js 还提供了另一个更强方法:dispose dispose 方法可以把 fabric.js 创建出来实例销毁掉

3.9K20

Fabric.js 拖放元素进画布

本文简介 学习 Fabric.js,我建议是看文档不如看 demo。 本文实现功能:将元素拖进到画布中并生成对应图形或图片。...解2:Fabric.js 创建元素可看 《Fabric.js 从入门到膨胀》基础图形篇,要创建图片可以看 图片篇。 解3:缩放画布我在 《Fabric.js 缩放画布》 里讲解过。...解4:移动画布我在 《Fabric.js 拖拽平移画布》 里讲解过。 解5:画布左上角不一定在body左上角,也就是鼠标当前位置可能和画布对应坐标不一样,需要通过加减法计算一下。...解6:Fabric.js 提供了一个方法可以将鼠标当前坐标转换为画布对应真实坐标,这个方法叫 restorePointerVpt 。 动手 我分几个步骤慢慢实现上述功能。...) }) } initCanvas() 上面的代码使用了 Fabric.js 绑定了页面上画布,并创造了一个粉红色矩形。

3.1K30

Fabric.js 禁止元素超出画布

分析 要实现上图效果,需要考虑2中情况: 【情况1】元素左边和上边不能超出画布左边和上边。 【情况2】元素右边和下边不能超出画布右边和下边。...这两句话看上去很像一句话,但其实真实情况是有点不一样。 元素坐标和画布坐标,都是以左上角为原点。所以【情况1】只需考虑元素 xy坐标 有没有超过画布左边和上边。...【情况2】是用元素右边和下边跟画布做比较,而元素原点是在元素左上角,所以元素右边是 元素原点x坐标 + 元素宽度 ,元素下边是 元素原点y坐标 + 元素高度 。...最后得出公式: 【公式1】超出画布左边:图形左上方x坐标 < 画布左上方x坐标,将图形 left 设置成画布左上方x坐标的值。...【公式2】超出画布上边:图形左上方y坐标 < 画布左上方y坐标,将图形 top 设置成画布左上方y坐标的值。

4K30

Fabric.js 使用图片遮盖画布(前景图)

本文简介 点赞 + 关注 + 收藏 = 学会了 在 《Fabric.js 使用纯色遮挡画布(前景色)》 中讲到使用纯色方式遮盖画布。...如果你常见需要使用图片来遮盖的话,fabric.js 也提供了相应属性来配置。 相比起使用纯色遮盖画布,使用图片会更复杂。 因为图片本身是有尺寸大小,所以可能会遇到缩放画布、平移画布等操作。...使用图片覆盖画布 如果需要用图片遮盖画布,可以设置 canvas overlayImage 属性,传入值就是图片地址。 可以使用网图,也可以使用本地图片。...覆盖图像不受视口变换影响 由于图片是有尺寸,如果你场景中,画布可以缩放或者被拖拽,就会出现下图效果。 覆盖图片被缩小或者移动后,就露出了背景色(红色)。...canvas.isDragging = false }) 感觉这和 《Fabric.js 锁定背景图,不受缩放和拖拽影响》 里讲到有点像,对吧~ 所以当看到 fabric.js

1.7K20

Fabric.js 使用纯色遮挡画布(前景色)

本文简介 点赞 + 关注 + 收藏 = 学会了 如果要覆盖 canvas 里所有内容你会用什么方法? 清空画布内容? 直接移除 canvas 元素? 创建一个新元素放在 canvas 上一层?...如果你项目使用到 fabric.js ,可以直接使用 fabric.js 提供方法去遮盖画布,而且用法非常简单。...移除覆盖层 在某些应用场景(比如游戏)需要提前把画布加载出来,但用户在某一时刻还没权限查看画布内容时,就可以使用 overlayColor 将画布遮盖起来。...还是上面有矩形例子。 从图中可以看到鼠标指针变化,可以判断出画布矩形仍然能被操作。...代码仓库 ⭐ Fabric.js 使用纯色遮盖画布 ⭐ Fabric.js setOverlayColor

1.3K20

flutter画布认识

画布裁剪:矩形裁剪、圆角矩形裁剪、路径裁剪。 ---- 一、画布变换和状态 画布变换主要通过一个 4*4 变换矩阵。其中transform方法是最核心,也是最难用。...当使用 canvas.save() 时,当前画布状态就会被保存,当执行 canvas.restore() 时,画布就会回到上次保存状态。...比如:在上面画横线前save画布这时画布[顶点在屏幕中心],画横线过程中画布顶点被[下移到了最后]。 画完后restore画布,就能让画布顶点重新回到[屏幕中心]。...下面是本节要绘制内容,源码位置:p03_canvas/05_like_rect/paper.dart Screenshot_1603935956 ---- 【1】 绘制矩形 drawRect 下面是矩形五种构造方法...: image-20201031153932161 1、矩形裁剪: 指定一个矩形,画布在之后绘制中仅保留矩形内内容

3.1K30

精益画布

精益画布 [小商家版精益画布] 产品原型设计 经过对比分析,决定通过墨刀来进行产品原型设计,目前免费。...“解决方案”尤其热心); 你任务并不只是提供解决方案,而是形成一套完整商业模式; 对于大部分创业公司来说,怕只怕做出东西根本无人想要;思考下面3个问题: 你解决方案是否是客户想要?...独特卖点设计公式:直白清晰头条=客户想要结果+限定时间期限+做不到怎么办; 海盗指标组: 获取 (用户怎么找到你?) 激活 (用户第一印象极好吗?) 留客 (有没有回头客?)...专注+调研-速度:资源耗尽 可证伪假设=具体并且可重复动作可以导致预期可评估目标或结果 系统地解决风险:1....:增加活动抽奖竞品分析,补充独特卖点,修改解决方案、客户群体分类部分内容 2019/7/30:初稿

1.4K100

JS防止站点被恶意保存

很多同学网站都在用静态博客,安全轻量同时也带来了些许麻烦,正如首图中那样,站点被别人全盘撸走,反而比自己文章关键字还高.自己辛辛苦苦耕耘变成了别人果实…所以本文提供一下通过JS手段防止网站被扒皮手段...,这条思路并不可取… (亦或者静态资源也被别人扒走了) 就是使用JS啦, 例如 如下代码: //这里放到最开头 一加载页面就运行这个....let whitelist=['huai.pub','127.0.0.1','localhost','']; //host白名单;空的话,为以file类型打开,是为了防止保存到本地调试,如果不担心此条...把上面部分放到一个不得不运行且打开页面就运行JS里面(不建议放到公共资源部分,比如 jQuery之类 )…当然 需要按照注释修改为自己参数; 之后将这条JS 加密 然后将第二部分放到页面底部JS...中,同时也加密后再引入(siteprotect变量可以改名 且改掉值,最好使用随机值) 重要JS一定要加密 且放到对站点效果影响大JS中… 这样就算被别人恶意保存,基本也不会有大问题了

3.8K20

Fabric.js 将本地图像上传到画布背景

---- 本文介绍 我使用 Fabric.js 版本是 4.6.0。 这次要实现效果是:在本地上传一张图片,然后渲染到 canvas 里(当做背景图)。...如果本文内容对你有所帮助,也请你帮我点个赞呗~ 原生操作 通过 获取图片路径,会受到浏览器安全策略影响,所以需要处理一下。...-- 引入fabric.js --> ...,上面两种情况出现概率应该不多(除非你后端伙伴是个懒人) 先说说上面两种情况存在问题: 图片路径是本地地址,保存到服务器是没意义。...在正式项目中,你可能还要考虑到背景图大小和画布大小不匹配问题。 你可以参考 《Fabric.js 从入门到膨胀》 中 “拉伸背景图” 这小节。

2.6K30

画布就是一切(一)— 画布编程基本模式

画布编程基本模式 画布基本介绍 我开发过基于QT客户端程序、基于C# WinForm客户端,开发过Java后端服务,此外,前端VUE和React我也开发过不少。...在画布上,你能够通过相关绘图API来绘制各种各样图形。上图流程图中,你所看到矩形、线段等等,都是通过画布提供绘制功能来实现。...画布编程基本模式 为了讲解画布编程基本模式,接下来我们将以鼠标悬浮矩形,矩形边框变色场景为例来进行讲解。...-- 同级目录下index.js --> 同级目录下index.js: // 同级目录index.js.../ ...... // 触发移动时,就进行渲染 drawRect(ctx, rect); }); 编写好代码以后,目前index.js整体内容如下: // 定义状态 let rect = {

17820
领券