当前位置: 首页 > news >正文

IT做网站工资怎么样坪地网站建设信息

IT做网站工资怎么样,坪地网站建设信息,网站制作模板教案,福建省建筑人才网【PDF.js】PDF文件预览 一、PDF.js二、PDF.js 下载1、下载PDF.js2、在项目中引入3、屏蔽跨域错误 三、项目中使用四、说明五、实现效果 使用PDFJS实现pdf文件的预览#xff0c;支持预览指定页、关键词搜索、缩略图、页面尺寸调整等等。 一、PDF.js 官方地址 文档地址 二、PD… 【PDF.js】PDF文件预览 一、PDF.js二、PDF.js 下载1、下载PDF.js2、在项目中引入3、屏蔽跨域错误 三、项目中使用四、说明五、实现效果 使用PDFJS实现pdf文件的预览支持预览指定页、关键词搜索、缩略图、页面尺寸调整等等。 一、PDF.js 官方地址 文档地址 二、PDF.js 下载 1、下载PDF.js 下载地址 2、在项目中引入 将下载的压缩包解压并放入到项目中的public文件夹下我这里下载的是pdfjs-4.0.379-dist版本如下 3、屏蔽跨域错误 在 pdfjs-4.0.379-dist/web/viewer.mjs 内搜索 throw new Error(“file origin does not match viewer’s”) 并注释如果不注释可能会出现跨域错误无法正常预览文件。 三、项目中使用 内容区域结构(文件预览区域、滑块区域、问答区域) 滑块区域滑动改变pdf文件预览区域的大小 divv-iffilePreviewStore.getFilePreviewFlagrefresizeBoxclassresizemousedownonResizeMouseDown/el-main refmainContent classmain-content!-- 文件预览区域 --divv-iffilePreviewStore.getFilePreviewFlagclasspreview-box:style{width: ${previewBoxWidth}px}!-- PdfPreview v-if[ppt, pptx, pdf].includes(filePreviewStore.getFileType) / --PDF v-if[ppt, pptx, pdf].includes(filePreviewStore.getFileType) /ExcelPreview v-if[xls, xlsx].includes(filePreviewStore.getFileType) /WordPreview v-if[doc, docx].includes(filePreviewStore.getFileType) /TxtPreview v-iffilePreviewStore.getFileType txt //divdivv-iffilePreviewStore.getFilePreviewFlagrefresizeBoxclassresizemousedownonResizeMouseDown/!-- 问答区域 --div classmain_side3 flex1 column-flexdiv classshow_content flex1 refchatShowRef ChatShow / /divdiv classchataskInput //div/div /el-main下面是PDF组件完整代码 templatediv classcontaineriframe idmyIframe :srcpdfUrl width100% height100%/iframe/div /templatescript setup langts import { onMounted, ref, watch } from vue import { useFilePreviewStore } from /stores; import { fileRouteUrl } from /utils/fileRouteUrlconst filePreviewStore useFilePreviewStore() const pdfUrl ref() // pdf文件地址 const fileUrl /static/dist/pdfjs-4.0.379-dist/web/viewer.html?file // pdfjs文件地址onMounted(() {// encodeURIComponent() 函数可把字符串作为 URI 组件进行编码。// 核心就是将 iframe 的 src 属性设置为 pdfjs 的地址然后将 pdf 文件的地址作为参数传递给 pdfjs// 例如http://localhost:8080/pdfjs-4.0.189-dist/web/viewer.html?filehttp%3A%2F%2Flocalhost%3A8080%2Fpdf%2Ftest.pdfconst url filePreviewStore.getFileUrl.replace(fileRouteUrl, /file)pdfUrl.value fileUrl encodeURIComponent(url) page${filePreviewStore.getPageNum} })// 当文档页码修改时重新预览当前页的文档内容 watch(() filePreviewStore.getPageNum,(val) {if (val) {// 页码修改时需要重新保存记录文档页码否则会出现点击与第一次相同的页码时不会切换filePreviewStore.setFilePage(val)const pdfFrame document.getElementById(myIframe).contentWindow// 传递参数,跳转到指定页pdfFrame.PDFViewerApplication.pdfViewer.scrollPageIntoView({pageNumber: val})}} )// 当预览的文件地址修改时预览新的文档 watch(() filePreviewStore.getFileUrl,(val) {if (val) {// 服务器文档地址const pdfFileUrl val.replace(fileRouteUrl, /file);// 加载PDF文件pdfUrl.value fileUrl encodeURIComponent(pdfFileUrl) page${filePreviewStore.getPageNum}}} )/scriptstyle scoped langless .container {width: 100%;height: 100%;border: 1px solid #ccc;box-sizing: border-box;#myIframe {border: none;} } /style 四、说明 1在文件地址后面添加参数page(预览指定页) 2在 pdfjs-4.0.379-dist/web/viewer.mjs中的setInitialView方法中添加如下代码 3改变文件预览区域的宽度 // 修改左侧文件预览区域的宽度 const previewBoxWidth ref(0) const mainContent ref() const resizeBox ref() const mainContentWidth ref(0) const onResizeMouseDown (e: MouseEvent) {const startX e.clientXresizeBox.value.left resizeBox.value.offsetLeft// 解决预览pdf文档时鼠标移入iframe后无法捕获移动和抬起操作const myIframe document.querySelector(iframe)myIframe (myIframe.style[pointer-events] none)const onDocumentMouseMove (e: MouseEvent) {const endX e.clientXconst previewWidth resizeBox.value.left (endX - startX) - side1Width.value - 20// 文件预览区域宽度最小为内容区域的30%最大为内容区域的70%if (previewWidth mainContentWidth.value * 0.7) {previewBoxWidth.value mainContentWidth.value * 0.7} else if (previewWidth mainContentWidth.value * 0.3) {previewBoxWidth.value mainContentWidth.value * 0.3} else {previewBoxWidth.value previewWidth}}const onDocumentMouseUp () {myIframe (myIframe.style[pointer-events] auto)document.removeEventListener(mousemove, onDocumentMouseMove)document.removeEventListener(mouseup, onDocumentMouseUp)resizeBox.value.releaseCapture resizeBox.value.releaseCapture()}document.addEventListener(mousemove, onDocumentMouseMove)document.addEventListener(mouseup, onDocumentMouseUp)resizeBox.value.setCapture resizeBox.value.setCapture() }// const { width } useWindowSize() // 响应式获取窗口尺寸 // 当浏览器窗口尺寸改变时重新修改设置文件预览区域的宽度 watch(() width.value,(val) {val (previewBoxWidth.value mainContentWidth.value * 0.7)} )// 获取内容区域的宽度 useResizeObserver(mainContent , (entries) {const entry entries[0]const { width } entry.contentRectmainContentWidth.value width })这里需要注意因为在PDF组件中使用了iframe当鼠标移入iframe区域时无法捕获到鼠标的移动和抬起动作会出现鼠标移出iframe区域后有可以改变该区域宽度解决办法如下 五、实现效果
http://www.hkea.cn/news/14533639/

相关文章:

  • 采集网站会员泉州网站建设方案维护
  • 做电商网站要服务器吗wordpress 发视频
  • 下载中国建设银行网站保险代理公司注册条件
  • 沈阳想做网站企业做网站上海
  • 做网站大图素材wordpress 1g内存
  • 成都市自住房建设网站江苏省高职重点专业群建设网站
  • html5彩票网站模板运营笔记wordpress
  • 有哪些网站做电子元器件比较好wordpress给文章添加固定字段
  • 网站做优化有必要吗网站设计需求书
  • 怎么自己建网站赚钱线上宣传方案
  • 网站开发中职教材网站排名查询
  • 分享惠网站怎么做漳州市建设局网站
  • 响应式网站开发报价高端大气的企业网站模板
  • 网站推广免费渠道长春什么时候解封
  • 网站开发的图片建设工程合同的特征
  • 可信网站验证服务网页设计简介
  • 温州云海和联欣哪个做网站比较好asp 公司网站
  • 一个域名一个ip做多个网站西客站网站建设
  • 原创网站设计费用网页设计图片位置
  • 二级网站和自建网站有什么区别企业手机网站源码
  • 国外建站程序知名广州网站建设
  • wordpress更换网站数据库网站建设方案协议书
  • 电商实训网站建设报告金坛网站建设
  • 小企业网站建设在哪能看深圳网站建设空间
  • 自建网站阿里云备案通过后怎么做网站建设手机登录密码是什么啊
  • 做暧暖免费观看网站静态网站有哪些优点
  • 境外网站搭建discuz做资讯网站合适吗
  • 郑州做网站公司汉狮网十个常见的网络推广渠道
  • 门户网站建设技术要求个人备案域名可以做哪些网站吗
  • 免费网站安全软件大全游戏小城镇建设网站参考文献