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

灵犀 科技高端网站建设wordpress实现文件上传

灵犀 科技高端网站建设,wordpress实现文件上传,wordpress文字保存,广州网站设计素材写这个的原因就是打电子发票不方便,这个代码是纯js不需要后端服务直接将两张电子发票的pdf转为两张图片渲染到一张A4纸上面(完全不浪费,发票也不会变大),自动完成打印分页,点击打印即可。亲测可用所有电子发…

写这个的原因就是打电子发票不方便,这个代码是纯js不需要后端服务直接将两张电子发票的pdf转为两张图片渲染到一张A4纸上面(完全不浪费,发票也不会变大),自动完成打印分页,点击打印即可。亲测可用所有电子发票。


<!DOCTYPE html>
<html><head><meta charset="utf-8" /><title>PDF文件转图片</title><script type="text/javascript" src="js/jquery-3.6.4.min.js"></script><script type="text/javascript" src="js/2.2.228pdf.min.js"></script><script type="text/javascript" src="js/2.2.228.pdf.worker.min.js"></script><!--<script src="https://cdnjs.cloudflare.com/ajax/libs/pdf.js/2.2.228/pdf.min.js" integrity="sha512-Q0SyiCpjyVOjMJ28RDpmCxi0Drmc9cr7fBQuW2F5F7yiS0yTWtbbltd+H5BYhaA7Izpm6nyIXAUppQfdm6zt1w==" crossorigin="anonymous" referrerpolicy="no-referrer"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/pdf.js/2.2.228/pdf.worker.min.js" integrity="sha512-kxBikBDcUHWvfvzNZVSRe+1mJ2MSHFe5+WVUCdTTUN3oHo/3GWPDUhiO0jtFCUcs+VnSk6BMGYC3IGuwe3qXVg==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>--><script type="text/javascript" src="js/jszip.js"></script><script type="text/javascript" src="js/FileSaver.js"></script><style type="text/css">button {width: 120px;height: 30px;background: none;border: 1px solid #b1afaf;border-radius: 5px;font-size: 12px;font-weight: 1000;color: #384240;cursor: pointer;outline: none;margin: 0 0.5%}button:hover {background: #ccc;}#container {width: 65%;height: 75%;margin-top: 1%;border-radius: 2px;/*border: 2px solid #a29b9b;*/}.pdfInfos {margin: 0 2%;}</style></head><body><div class="showdata" style="margin-top:1%"><button id="pdf_tourl">合并多个pdf为一个</button><button id="prevpage">上一页</button><button id="nextpage">下一页</button><button id="exportImg">导出每一张图片</button><button onclick="wind_print()">打印</button><button onclick="choosePdf()">选择多个pdf文件</button><input style="display:none" id='chooseFile' type='file' accept="application/pdf" multiple="multiple"></div><div  class="showdata" style="margin-top:1%"><span class="pdfInfos">页码:<span id="currentPages"></span><span id="totalPages"></span></span><span class="pdfInfos">文件名:<span id="fileName"></span></span><span class="pdfInfos">文件大小:<span id="fileSize"></span></span></div><div style="position: relative;"><div id="container"></div><img id="imgloading" style="position: absolute;top: 20%;left: 2%;display:none" src="loading.gif"></div></body><script>$("#pdf_tourl").click(function(){alert("可以使用PDF Arranger软件");});function wind_print(){$(".showdata").hide();$("#container").css("width","100%");$("#container").css("height","100%");window.print();$(".showdata").show();$("#container").css("width","65%");$("#container").css("height","75%");}var currentPages, totalPages //声明一个当前页码及总页数变量var scale = 2; //设置缩放比例,越大生成图片越清晰$('#chooseFile').change(function() {var pdfFilePath = $('#chooseFile').val();if (pdfFilePath) {//$("#imgloading").css('display', 'block');$("#container").empty(); //清空上一PDF文件展示图currentPages = 1; //重置当前页数totalPages = 0; //重置总页数debuggervar filesdata = $('#chooseFile')[0].files; //jquery获取到文件 返回属性的值//文件大小var fileSize=0;for (let i = 0; i < filesdata.length; i++) {fileSize += filesdata[i].size;}var mb;if (fileSize) {mb = fileSize / 1048576;if (mb > 10) {alert("文件大小不能>10M");return;}}if (filesdata.length === 1) {$("#fileName").text(filesdata[0].name);} else {$("#fileName").text(filesdata[0].name + "等 " + filesdata.length + " 个文件");}$("#fileSize").text(mb.toFixed(2) + "Mb");//reader.readAsDataURL(filesdata[0]); //将文件读取为 DataURLfor (let j = 0; j < filesdata.length; j++) {var reader = new FileReader();reader.readAsDataURL(filesdata[j]);reader.onload = function(e) { //文件读取成功完成时触发pdfjsLib.getDocument(this.result).then(function(pdf) { //调用pdf.js获取文件if (pdf) {totalPages = pdf.numPages; //获取pdf文件总页数$("#currentPages").text("1/");$("#totalPages").text(totalPages);//遍历动态创建canvasfor (var i = 1; i <= totalPages; i++) {var canvas = document.createElement('canvas');var cid=j+i;canvas.id = "pageNum" + cid;$("#container").append(canvas);var context = canvas.getContext('2d');renderImg(pdf, i, context);}}});};}}});//渲染生成图片function renderImg(pdfFile, pageNumber, canvasContext) {pdfFile.getPage(pageNumber).then(function(page) { //逐页解析PDFvar viewport = page.getViewport(scale); // 页面缩放比例var newcanvas = canvasContext.canvas;//设置canvas真实宽高newcanvas.width = viewport.width;newcanvas.height = viewport.height;//设置canvas在浏览中宽高newcanvas.style.width = "100%";newcanvas.style.height = "100%";//默认显示第一页,其他页隐藏if (pageNumber != 1) {newcanvas.style.display = "none";}var renderContext = {canvasContext: canvasContext,viewport: viewport};page.render(renderContext); //渲染生成});//$("#imgloading").css('display', 'none');return;};//上一页$("#prevpage").click(function() {if (!currentPages || currentPages <= 1) {return;}nowpage = currentPages;currentPages--;$("#currentPages").text(currentPages + "/");var prevcanvas = document.getElementById("pageNum" + currentPages);var currentcanvas = document.getElementById("pageNum" + nowpage);currentcanvas.style.display = "none";prevcanvas.style.display = "block";})//下一页$("#nextpage").click(function() {if (!currentPages || currentPages >= totalPages) {return;}nowpage = currentPages;currentPages++;$("#currentPages").text(currentPages + "/");var nextcanvas = document.getElementById("pageNum" + currentPages);var currentcanvas = document.getElementById("pageNum" + nowpage);currentcanvas.style.display = "none";nextcanvas.style.display = "block";})//导出图片$("#exportImg").click(function() {if (!$('#chooseFile').val()) {alert('请先上传pdf文件')return false;}//$("#imgloading").css('display', 'block');var zip = new JSZip(); //创建一个JSZip实例var images = zip.folder("images"); //创建一个文件夹用来存放图片//遍历canvas,将其生成图片放进文件夹images中$("canvas").each(function(index, ele) {var canvas = document.getElementById("pageNum" + (index + 1));//将图片放进文件夹images中//参数1为图片名称,参数2为图片数据(格式为base64,需去除base64前缀 data:image/png;base64)images.file("photo-" + (index + 1) + ".png", splitBase64(canvas.toDataURL("image/png", 1.0)), {base64: true});})//打包下载zip.generateAsync({type: "blob"}).then(function(content) {//saveAs(content, "picture.zip"); //saveAs依赖的js文件是FileSaver.jssaveAs(content, "imgFiles.zip"); //saveAs依赖的js文件是FileSaver.js//$("#imgloading").css('display', 'none');});});//截取base64前缀function splitBase64(dataurl) {var arr = dataurl.split(',')return arr[1]}function choosePdf() {$("#chooseFile").click()}</script>
</html>
http://www.yayakq.cn/news/99921/

相关文章:

  • 公司网站流量大 怎么办四川城市建设住建厅网站
  • 网站开发规格一级域名如何分发二级域名
  • 个人可以建网站卖东西吗可信的专业网站建设
  • 网站目录做301怎么优化标题和关键词排名
  • 网站备案需要哪些东西临淄辛店今天招聘信息
  • 海南省建设厅网站首页如何做网站营销
  • 泉州网站制作多少钱域名注册人信息
  • 贵阳seo网站推广网站策划书的主题有哪些
  • wordpress网站域名地址安装Wordpress个人网站
  • 蓬莱住房和规划建设管理局网站做网站不推广管用吗
  • 网站 栏目添加 文章不显示网站外贸推广
  • 开网站怎么开做网站怎么引流
  • 网站开发有哪些方式微信做单子的网站源码
  • 淘客客怎么做自己的网站在哪个网站可以学做甜点
  • 多个域名绑定同一网站抖音代运营一般几个周期
  • 我的世界是怎么做的视频网站遂宁市建设银行网站
  • 新站点seo联系方式青岛需要做网站的公司
  • 企业网站收费标准wordpress美图插件
  • 海事网站开发怎么看一个网站做外链
  • 凡客网能直接做网站重庆正云环境网页制作
  • 做网站要和企业logowordpress信用卡支付
  • 企业网站制作建设的框架有哪几种湖南做网站找谁
  • 北京赛车pk10网站建设口碑营销策略
  • 技术培训衡阳seo排名
  • 东莞php网站开发wordpress调用文章上级栏目名字
  • 写出电子商务网站的建设流程mui 网站开发
  • 营销型网站的目标忠县网站制作
  • 培训机构网站建设方案正品海外购网站有哪些
  • 网站优化的主要内容wordpress支付可见公众号收款
  • 广州英文网站制作重庆做网站letide