-
复制html到word文档出现边框的解决方案
2020-12-24 14:35:45假设要复制的html元素是这样的: <div id="container"> <h1>奥宏科技</h1> <p>一切为了再生产个</p> </div> 如果使用js的createRange接口直接选择container,执行复制,那么复制有时候我们复制html到word,在word中会出现边框.
word提供了一个选择性粘贴方案,可以去掉样式,但是这不好,我们复制html,希望尽可能的包浏样式.实际上会出现边框,是div层级的锅.
假设要复制的html元素是这样的:<div id="container"> <h1>奥宏科技</h1> <p>一切为了再生产个</p> </div>
如果使用js的
createRange
接口直接选择container
,执行复制,那么复制到word中,第二行开始会有一个边框,经过我的测试,如果复制的时候,
container
没有被复制走,里面的内容被复制了,那么不会出现边框.问题明朗了,我们可以直接使用
Range
对象选择里面的子类,但是在谷歌下比较麻烦,因为谷歌浏览器不能多次addRange
,其实这可以通过css控制,
给container
设置cssuser-select:none
,给container
的子类设置cssuser-select:all
,这样在执行复制的时候,container
不会被选中,里面的被选中,复制到word中就不会出现表格了. -
百度文库里面的文档无法复制,如果要下载需要下载券,如何免费复制文档呢?
2019-05-31 10:11:47本人按照公司领导要求,去网上找一个公司软件工程质量管理体系说明的说明书 但是 1、下载需要下载券,我又不是经常下载,开通vip不舍得 ...3、下面就有完整的文档内容,可以复制的!哈哈哈,不用钱 ...本人按照公司领导要求,去网上找一个公司软件工程质量管理体系说明的说明书
但是
1、下载需要下载券,我又不是经常下载,开通vip不舍得
2、复制又复制不了
解决方案
1、把这个文档的名称,完完整整的输入到百度搜索框里
2、仔细看这里有一个百度快照,点击百度快照
3、下面就有完整的文档内容,可以复制的!哈哈哈,不用钱
-
Angular:上传文档时弹出模态框显示报错信息,并可以一键复制文本
2019-08-09 09:57:22今天收到客户的改进意见,原本我们有一个批量上传excel文档的功能,后台进行数据验证,验证数据某行某列有错误时,会将错误信息以数组的形式返回给前端。 原本我的实现方法是在前端直接遍历后端返回的报错消息,...今天收到客户的改进意见,原本我们有一个批量上传excel文档的功能,后台进行数据验证,验证数据某行某列有错误时,会将错误信息以数组的形式返回给前端。
原本我的实现方法是在前端直接遍历后端返回的报错消息,进行拼接,将某行、某列的错误信息这样直接用NoticeProvider中封装好的方法展示出来,实现的代码如下(typescript):
...... import { NoticeProvider } from '../../../../../../providers/common/utils/notice'; @Component({ selector: 'app-add', templateUrl: './add.component.html', styleUrls: ['./add.component.scss'] }) export class AddComponent implements OnInit { ...... fileList = []; fileInfoList = []; constructor( ...... private notice: NoticeProvider, ) { ...... } ngOnInit() { ...... } /** * 开始、上传进度、完成、失败都会调用这个函数。 */ handleChange({ file, fileId, fileName, filePath }): void { const status = file.status; if (status === 'done') { if (file.response.status === 0) { this.notice.info('上传成功'); this.fileList.forEach(item => { fileId = item.response.data.id; fileName = item.name; filePath = item.response.data.url; }); this.fileInfoList.push({ fileId, fileName, filePath }); file.response.data.successList.forEach(item => { this.priceConfirmReqs.push(item); // 保存上传的文件内容 }); } else if (file.response.status === 90001) { this.notice.error(file.response.message); } else { const errorRowMes = []; file.response.data.errorList.forEach(element => { const errorCloMes = []; element.errorFields.forEach(element1 => { errorCloMes.push('第' + (element1.cellIndex + 1) + '列:' + element1.column + element1.errorMessage); }); errorRowMes.push('第' + (element.rowIndex) + '行:' + '【' + errorCloMes + '】' + '<br>'); }); this.notice.error('上传失败,原因:' + errorRowMes); this.fileList.splice(this.fileList.length - 1, 1); } } } ...... }
其中this.notice.error的效果是直接在网页上方弹出提示信息,几秒种后就会消失。
客户提出意见,说网页上方弹出提示的效果不是很方便,当上传了几百几千条数据,提示框中的内容会非常多,往往还没有看清楚所有的报错消息,提示框就消失了,这样不利于他们的修改。
原本我们的最优解决方案是将用户导入的Excel表格,在每一个错的单元格中标红,再返回给用户,但是后端小哥哥说现在这个功能没时间实现,所以提出第二个解决方案,就是前端使用模态框弹出报错信息,因为模态框弹出后,用户自己点击关闭才会消失,而且模态框中想要有一个一键复制的按钮,点击后就可以将错误信息拷贝出来供修改。
这样就要用到NzModalService的功能了,我们新写一个页面,用作模态框的内容展示,在导入的页面上(上级页面)将报错信息传给模态框:
首先上级页面,也就是导入页面我们这样处理:
...... import { NzModalService, UploadFile } from 'ng-zorro-antd'; import { ErrorRowMesComponent } from './error-row-mes/error-row-mes.component'; @Component({ selector: 'app-add', templateUrl: './add.component.html', styleUrls: ['./add.component.scss'] }) export class AddComponent implements OnInit { ...... fileList = []; fileInfoList = []; constructor( private modalService: NzModalService, ...... ) { } ngOnInit() { ...... } ...... /** * 开始、上传进度、完成、失败都会调用这个函数。 */ handleChange({ file, fileId, fileName, filePath }): void { const status = file.status; if (status === 'done') { if (file.response.status === 0) { this.notice.info('上传成功'); this.fileList.forEach(item => { fileId = item.response.data.id; fileName = item.name; filePath = item.response.data.url; }); this.fileInfoList.push({ fileId, fileName, filePath }); file.response.data.successList.forEach(item => { this.priceConfirmReqs.push(item); // 保存上传的文件内容 }); } else if (file.response.status === 90001) { this.notice.error(file.response.message); } else { const errorRowMes = []; file.response.data.errorList.forEach(element => { const errorCloMes = []; element.errorFields.forEach(element1 => { errorCloMes.push('第' + (element1.cellIndex + 1) + '列:' + element1.column + element1.errorMessage); }); errorRowMes.push('第' + (element.rowIndex) + '行:' + '【' + errorCloMes + '】' + '<br>'); }); // 弹窗提示报错信息 this.modalService.create({ nzTitle: '上传失败', nzContent: ErrorRowMesComponent, nzWidth: 600, nzFooter: null, nzComponentParams: { data: { errorRowMes: errorRowMes } }, }); this.fileList.splice(this.fileList.length - 1, 1); } } } ...... }
弹出的模态框即显示ErrorRowMesComponent组件中的内容,这个弹出的页面我们这样处理:
import { Component, OnInit, Input } from '@angular/core'; import * as _ from 'lodash'; import { NzModalRef } from 'ng-zorro-antd'; import { NoticeProvider } from '../../../../../../../providers/common/utils/notice'; @Component({ selector: 'app-error-row-mes', templateUrl: './error-row-mes.component.html', styleUrls: ['./error-row-mes.component.scss'] }) export class ErrorRowMesComponent implements OnInit { errorRowMes = ''; @Input() set data(value: any) { this.errorRowMes = value.errorRowMes; } constructor( private modal: NzModalRef, private notice: NoticeProvider ) { } ngOnInit(): void { } doCopy(errorRowMes) { const oInput = document.createElement('input'); oInput.value = errorRowMes; document.body.appendChild(oInput); oInput.select(); document.execCommand('Copy'); oInput.style.display = 'none'; this.notice.success('复制成功'); } /** * 取消 * @param e */ handleCancel() { this.modal.destroy({ data: null }); } }
其中:
@Input() set data(value: any) { this.errorRowMes = value.errorRowMes; }
是从上级页面接收了报错的消息到模态框页面中。
一键复制的方法我们这样实现,将以下方法绑定到按钮即可:
doCopy(errorRowMes) { const oInput = document.createElement('input'); oInput.value = errorRowMes; document.body.appendChild(oInput); oInput.select(); document.execCommand('Copy'); oInput.style.display = 'none'; this.notice.success('复制成功'); }
注意我们在html中,想要实现上级传过来的一些展示的样式,最好使用innerHTML进行展示:
<div class="ql-editor" [innerHTML]="errorRowMes"></div>
实现的效果如下图所示:
-
如何处理Lotus的复制与保存冲突-冲突文档的处理
2019-03-18 13:41:03在两次复制之间,如果有两个用户同时编辑或多个用户编辑了不同数据库复本上的相同文档,就会出现复制冲突。如果有两个或多个用户同时编辑同一个数据库的同一个文档,则会出现保存冲突。 解决方法: 一、可以在表单...问题:运行在服务器上以及有多个复本的数据库难免会出现复制与保存冲突的情况。如何处理这种情况是所有Notes管理员和设计者都要面对的问题。
复制与保存冲突可由以下原因造成:
在两次复制之间,如果有两个用户同时编辑或多个用户编辑了不同数据库复本上的相同文档,就会出现复制冲突。如果有两个或多个用户同时编辑同一个数据库的同一个文档,则会出现保存冲突。
解决方法:
一、可以在表单属性框中的基本付签选中:“合并复制冲突”,并知底功能表单基本付签中的版本选项。
二、在这里介绍一些和处理复制与保存冲突情况有关的方法与技巧:
1、创建列出所有冲突文档的视图:(VewConflict)冲突文档都包含一个名为“$Conflict”的域,因此可以用下面的试图选择公式列出所有冲突文档。
1 SELECT @ISAvailable("$Conflict")
2、将冲突文档与主文档同屏显示以便比较两者之间的差别:由于冲突文档被保存为主文档的答复文档,在打开冲突文档以后使用快捷图标“显示/隐藏预览主文档”,主文档就会被显示在预览窗格中了。
3、附加菜单命令比较两个文档之间的差别:在Notes.ini文件中加入下面一行:
AddInMenus=C:\Notes\nntediff.dll
然后重起Notes,就回发现“操作”菜单中多了一项“Different of 2 document”.
4、找到冲突文档的主文档:
Sub Click(Source as Button)
Const FolderName="ReplicationConFlict"
dim s As New NotesSession
dim doccol as NotesDocumentCollection
dim doc as Notesdocument,topdoc as notesdocument
dim folder as notesView
set dbcur=s.currentdatabase
set doccol.dbcur.unprocesseddocuments
set doc=doccol.getfirstdocument
while not(doc is nothing)
set topdoc=gettopdoc(doc)
call topdoc.putinfolder(Foldername)
set doc=doccol.getnextdocument(doc)
wend
End Sub
Function GetTopDoc(DocSource as notesDocument) as NotesDocument
dim doctop as notesdocument dim strUNID as String
set doctop=docsource
strUNID=doctop.ParentDocumentUNID
Do While (strUNID<>"")
set DocTop=dbCur.GetDocumentByUNID(StrUNID)
strUNID=doctop.ParentdocumentUNID
loop
set GetTopDoc=doctop
End Functiong
5、将冲突文档保存为主文档选种若干冲突文档后运行下面代理。这个代理把选种的冲突文档保存为主文档。
dim s as new notessession
set db=s.currentdatabase
set dc=db.unprocessedDocuments
set doc=dc.getfirstdocument '$conflict是冲突文档的标志
call doc.removeItem("$Conflict") '得到冲突文档的主文档
if doc.isResponse then
Set Parent=db.GetDocumentByUNID(doc.ParentDocumentUNID)
if parent.IsResponse then '如果文档是答复的答复
dim GrandParant as Notesdocument
Set GrandParant=db.GetDocumentByUNID(Parent.ParentDocumentUNID)
call doc.MakeResponse(GrandParent) else '$Ref 域是答复文档的标志
call doc.RemoveItem("$Ref")
end if
end if
call doc.save(True,True)
当使用LS在后台创建文档的时候,表单中“合并复制冲突”选项无效,在文档中加入下面代码: doc.$Conflicts="1"
-
web前端常用的一些插件、框架以及文档
2019-09-30 12:56:16这篇随笔的文字解释大多数是从网站直接复制下来的,以便于更快的理解,具体的使用方法以及插件下载请进入具体的网站。如有好的插件可以留言一起学习。 1. jQuery全屏滚动插件fullPage.js fullPage.js 是一款... -
MFC单文档之基于MSCOMM的多个编辑框的串口通讯
2017-04-10 12:48:12VS2013取消了MSCOMM串口控件,如果还想用该控件...补充:串口号可以更改是一个优势,另外有的电脑你把那四个文件复制后,是可以自动完成注册的,所以最好先试一试看能不能使用,不能使用的话再新建注册表项。2.新建多个 -
咦,貌似您的部分引文是从另一个文档中复制粘贴过来的啊。...
2020-04-05 11:58:01个人该情况说明:我是将之前用过noteexpress插入文献的部分文字复制粘贴到了我新的文档中,然后在新的文档用noteexpress插入引文时报了这个错误。 解决方法:就是将之前复制过来的文字附带有引文(如[1],[2]等)字样... -
vue 鼠标移到文本弹小框_Word 实例操作技巧:文本的复制与移动的入门教学
2021-01-21 22:20:05在编辑文档过程中,复制文本是十分频繁的操作,有时需要从 Word 之外复制,有时仅在 Word 的文档之间复制,有时只在单个文档内部复制。电脑中已经有的文本通过复制能大大提高工作效率,输入文本毕竟是十分浪费时间的... -
html 如何在一个框中输入内容,然后点击按钮将此框中的内容复制到另一个框中
2015-10-21 21:25:13我想在 "group1currency1" 里输入一个数据 比如USD,然后点击下面的按钮,将"group1currency1"里的内容复制到”outputcurrency1“。 下面是我的代码,我尝试了很多次都不成功, 希望有人能帮助我 ``` <!... -
vant ui 官方文档_前端UI框架分享(二)——移动端
2020-12-11 10:01:11分享一些前端使用的UI框架,详细的框架说明请复制链接进入官网查看,小编只做汇总Vantui 基于vue的移动端UI框架,适合商城项目,支持H5和小程序两个版本https://youzan.github.io/vant/#/zh-CN/introCube UI 基于 ... -
富文本框编辑器图片复制粘贴上传
2020-06-16 16:49:05Chrome+IE默认支持粘贴剪切板中的图片,但是我要发布...我希望打开Word或者WPS文档后,复制内容然后直接粘贴到富文本编辑器中,编辑器自动将图片批量上传到服务器中,无论文档中有多少张图片,编辑器都全部自动上传,不 -
富文本框编辑器复制粘贴word图文上传
2020-06-17 10:41:34Chrome+IE默认支持粘贴剪切板中的图片,但是我要发布...我希望打开Word或者WPS文档后,复制内容然后直接粘贴到富文本编辑器中,编辑器自动将图片批量上传到服务器中,无论文档中有多少张图片,编辑器都全部自动上传,不 -
如何在Word文档中粘贴有行号的代码
2019-05-20 15:56:50我们如何在Word文档中粘贴的代码像下图所示: 第一步:进入网站:http://www.planetb.ca/syntax-highlight-word 第二步:将代码粘贴到如图所示的框内 ... Ctrl+A(全选)全选所要复制的代码 Ctrl... -
word表格保存后缺失框线_大朗办公软件培训之Word文档编辑技巧
2020-12-28 15:32:311.Word文档编辑技巧 如何启动及退出Word,认识Word界面组成,设置简单格式,在Word中切换输入法及特殊功能键的使用,如何在Word中新建、保存以及打开已有的文档 主要知识点:段落的特殊格式、间距、行距,字体和颜色... -
如何从word文档复制公式到百度ueditor编辑器
2020-06-29 09:40:46因为公司业务需要支持IE8 ,网上其实有很多富文本框,效果都很好。 例如www.wangEditor.com 但试了一圈都不支持IE8 。 所以回到Ueditor,由于官方没有维护,新的neuditor 也不知道什么时候能支持word自动转存,... -
在富文本编辑框中复制粘贴时去掉html格式
2019-04-30 14:22:54公司做的项目需要用到粘贴Word功能。就是将word内容一键粘贴到网页编辑器(在线富文本编辑器)中。...网上找了很久,大部分都有一些不成熟的问题,皇天不负有心人终于让我找到了一个成熟的项目。 1、前端引用代码 ... -
如何下载学习通上的文档、课件?
2020-03-07 15:13:271.打开课件所在页面,F12显示源代码界面,Ctrl+F搜索在小框里输入objectid 2.复制下后面的id字符串,页面上有几个文件就有几个id,像我这里有两个课件 ... -
超级有影响力霸气的Java面试题大全文档
2012-07-18 09:47:04超级有影响力的Java面试题大全文档 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。... -
如何将百度文库中不能复制的文字复制下来
2019-04-02 16:47:45在这里记录一下如何将不能复制的文字复制下来 方法一、 1、在网页上选中你需要的文字,可以看到选中文字后会有“复制”、“发送到手机”、“搜索”和“翻译” 2、我们点击“翻译”选项,会出现由百度翻译给出的... -
百度豆丁文档免费下载神器
2019-05-10 11:35:33平常我们下载百度收费文档都需要VIP才能下载,这里推荐一款下载神器,下载百度文库文档及豆丁收费文档均可免费下载,...使用方法:将需要下载的文档地址复制到搜索框,下载即可。 就是这个样子的。 二、这里还有... -
WORD文档未保存就关闭的解决方法
2020-05-15 18:49:06*在学习和工作中,有时候会遇到word文档没有保存就关闭了,针对这种...九、在弹出的对话框的红色框内粘贴刚刚复制的地址,并点击打开: 十、找出之前未保存的文件夹并打开: 十一、找到未保存文件的ASD文件,单击. -
mongoid:用于MongoDB的Ruby ODM框架-源码
2021-02-19 06:03:26特此免费授予获得该软件和相关文档文件(“软件”)副本的任何人无限制使用软件的权利,包括但不限于使用,复制,修改,合并的权利,发布,分发,再许可和/或出售本软件的副本,并允许具备软件的人员这样做,但须... -
element ui 框架的优势_element ui框架好难啊,我咋不会用呢,有没有懂vue的给我讲讲思路啊...
2021-01-26 22:47:49element-ui的基本使用还是十分简单的,首先根据文档的步骤进行安装,导入需要的样式即可,这...然后点开详细代码,复制到你的.vue文件里那么就可以了,例如直接复制官方提供的radio组件(链接)的第一个代码:可以看出... -
Word文档去掉段落前的框框□□
2020-06-13 00:51:52从网上复制下来的文档,每段文字的开头总有这样的两个小方框□□; 点击“开始”——“段落”; 打开“段落”对话框,选择“中文版式”选项卡,点击“选项”按钮; 打开“word”选项对话框,选择“显示”选项卡,将... -
Zeal下载的文档加载失败,提示找不见指定路径解决方法
2021-02-01 11:18:13Preferences,复制红框圈起的链接,到自己的文档资源管理器中,粘贴到快速访问中找到JavaScript.docset 找到文件后,可以看到有个react-main.xxxxxx.js的文件,直接删除就可以了,再次启动Zeal,问题就解决了。... -
QQ的图片粘贴到word2013中变成白色小方框的问题
2019-07-20 16:46:40就是把左侧两个图粘贴到右侧文档中,结果,第一个图直接复制粘贴是正常的,直接拖曳也没问题。 第二张图就有问题了,图片粘贴的位置确实有个占位符,但只是个白色小框框,其他什么也不现实,直接拖曳过来,也是这样... -
Android GreenDao3.2.0数据库框架的简单实用
2018-06-05 15:12:01目前实用的数据库框架有四种,都列出来方便下载重温 一:OrmLite 优点: 1.轻量级;2.使用简单,易上手;3.封装完善;4.文档全面。缺点:1.基于反射,效率比较低 jar包 地址:http://ormlite.com/releases/ 集成... -
card如何添加复选框 vant_word文档处理技巧:如何将多级目录,快速提取excel表格中...
2021-01-04 22:19:20编按:工作中,经常需要将Word中指定的某些文本提取到Excel中,便于汇总及分析,一个一个复制粘贴,非常不方便,今天小编教你两个快捷方法,省心省力,一起来看看吧!学习更多技巧,请收藏关注部落窝教育word图文...
-
stm32库移植样例程序.rar
-
FFmpeg4.3系列之16:WebRTC之小白入门与视频聊天的实战
-
零基础一小时极简以太坊智能合约开发环境搭建并开发部署
-
项目经理成长之路
-
PHP生成伪随机数
-
发送无证书的HTTPS请求
-
linux c 通过http 协议 ,上传文件到服务器 源码
-
MySQL 触发器
-
zookeeper-3.4.14.tar.zip
-
hebing
-
基于springboot实现表单重复提交.docx
-
php软件开发--php进阶
-
jdk-9.0.4_Wind-x64.zip
-
LQ 方案 .pdf
-
Win10 Dolby Atmos Speaker System 杜比全景声(Dolby Atmos)扬声器系统.zip
-
腾讯PCG暑期实习-客户端开发面经
-
2021-03-02
-
基于对偶四元数的姿轨耦合动力学模型1.md
-
1997~2018县市社会经济主要指标.rar
-
sqlmap常规命令教程