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

怎么投稿各大媒体网站工程建设国家标准网站

怎么投稿各大媒体网站,工程建设国家标准网站,网站是用sql2012做的_在发布时可以改变为2008吗,做自己网站做站长最近出差开了好多发票&#xff0c;写了一个pdf合并网站&#xff0c;用于把多张发票pdf合并成一张&#xff0c;方便打印 使用pdf-lib这个库实现的pdf合并功能&#xff0c;预览使用的是浏览器自身查看pdf功能 源码 网页地址 https://zqy233.github.io/PDF-merge/ <!DOCTYPE h…

最近出差开了好多发票,写了一个pdf合并网站,用于把多张发票pdf合并成一张,方便打印

使用pdf-lib这个库实现的pdf合并功能,预览使用的是浏览器自身查看pdf功能
源码

网页地址 https://zqy233.github.io/PDF-merge/

<!DOCTYPE html>
<html><head><title>PDF合并</title><script src="https://cdn.jsdelivr.net/npm/pdf-lib@1.17.1/dist/pdf-lib.min.js"></script></head><body><input type="file" id="fileInput" multiple /><button onclick="previewMergePDF()">预览合并的PDF</button><button onclick="downloadMergePDF()">下载合并的PDF</button><script>async function previewMergePDF() {const fileInput = document.getElementById("fileInput");const files = fileInput.files;if (files.length < 2) {alert("请至少选择两个PDF文件进行合并!");return;}// 创建一个新的PDF文档const mergedPdf = await PDFLib.PDFDocument.create();// 遍历选择的每个文件for (let i = 0; i < files.length; i++) {const file = files[i];const reader = new FileReader();// 读取文件内容const fileContents = await new Promise((resolve, reject) => {reader.onload = function (event) {resolve(event.target.result);};reader.onerror = function (event) {reject(new Error("文件读取错误。"));};reader.readAsArrayBuffer(file);});// 将PDF文件添加到合并的PDF文档中const pdf = await PDFLib.PDFDocument.load(fileContents);const copiedPages = await mergedPdf.copyPages(pdf,pdf.getPageIndices());copiedPages.forEach((page) => {mergedPdf.addPage(page);});}// 使用浏览器自带预览功能,预览合并后的PDFconst mergedPdfBytes = await mergedPdf.save();const mergedPdfBlob = new Blob([mergedPdfBytes], {type: "application/pdf",});const fileURL = URL.createObjectURL(mergedPdfBlob);window.open(fileURL);}async function downloadMergePDF() {const fileInput = document.getElementById("fileInput");const files = fileInput.files;if (files.length < 2) {alert("请至少选择两个PDF文件进行合并!");return;}const mergedPdf = await PDFLib.PDFDocument.create();for (let i = 0; i < files.length; i++) {const file = files[i];const reader = new FileReader();const fileContents = await new Promise((resolve, reject) => {reader.onload = function (event) {resolve(event.target.result);};reader.onerror = function (event) {reject(new Error("文件读取错误。"));};reader.readAsArrayBuffer(file);});const pdf = await PDFLib.PDFDocument.load(fileContents);const copiedPages = await mergedPdf.copyPages(pdf,pdf.getPageIndices());copiedPages.forEach((page) => {mergedPdf.addPage(page);});}const mergedPdfFile = await mergedPdf.saveAsBase64();const downloadLink = document.createElement("a");downloadLink.href = "data:application/pdf;base64," + mergedPdfFile;downloadLink.download = "merged.pdf";downloadLink.click();}</script></body>
</html>
http://www.yayakq.cn/news/462627/

相关文章:

  • 网站推广主要方法怎么样做英文网站
  • 二元期权网站建设合肥门户网站有哪些
  • 上海高端网站建设高端网站建设途牛 招聘 网站开发
  • 地方汽车网站模板购买美叶设计网站官网
  • 专业商城网站设计广州市新闻发布会
  • 郑州网站制作汉狮网站建设销售好做嘛
  • 那样的网站网站开发如何适应各分辨率
  • 游戏ui设计需要学什么软件网站排名软件优化
  • 原创文章网站网络营销的四大要素
  • 单身男女免费观看国语高清自助网站建设推广优化策略
  • 青岛网站建设情况湘西吉首市建设局网站
  • 可以申请做cpa广告的网站查logo的网站
  • 营销网站制作比较好的的磁力搜索引擎
  • 做微博这样的网站吗酷炫网站首页
  • 厦门门户网站建设网站上线之前怎么做推广
  • 网站开发在线课程wordpress表格编辑
  • 怎么向网站添加型号查询功能可以看国外网站的浏览app
  • 网站建设方面论文哈尔滨网络公司营销机构
  • 国外网站国内做好还是国外做wordpress 首页字数
  • 公众号如何做微网站做婚纱网站的图片大全
  • 连江厦门网站建设公司开关网站建设
  • 已有备案号新增网站备案要关闭原先的站点吗电商平台开发系统
  • 河源网站开发上海人才中心
  • 做设计挣钱的网站注册资金1000万实际需要多少钱
  • 宁波有没有开发网站的公司安卓系统开发公司
  • 昆明网站网站建设杭州公司注册多少钱
  • 网站域名备案证书下载百度指数免费查询
  • 魔鬼做交易网站json api wordpress
  • 做网站怎么接私活wordpress 结构
  • 商品网站做推广方案江苏常州网站建设公司