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

北京网站设计公司兴田德润怎么样全网网络营销推广

北京网站设计公司兴田德润怎么样,全网网络营销推广,站长之家seo工具,网站开发托管协议最近出差开了好多发票&#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.dinnco.com/news/58585.html

相关文章:

  • 找兼职做酒店网站百度注册入口
  • 电子商务网站推广方案直链平台
  • 邯郸网站建海外推广方法有哪些
  • 网站添加二维码企业网络营销推广方法
  • 一流的南昌网站建设谷歌浏览器 安卓下载2023版官网
  • 凡科登陆网站手机版电商如何从零做起
  • 怎么在网站上做视频万网域名注册官网
  • 货代一般都去哪个网站找客户网络营销推广的基本手段
  • 广东门户网站建设网站收录是什么意思
  • 网站开发非常之旅软文云
  • 万全孔家庄做网站站内关键词自然排名优化
  • WordPress的插件怎么保存seo排名赚app
  • 网站做跳转搜索引擎调词平台哪个好
  • 网站的cgi-bin目录网络营销平台有哪些
  • 网站被黑了旺道seo优化
  • 网站域名备案和做网站枸橼酸西地那非片功效效及作用
  • 域名空间都有了怎么做网站松松软文平台
  • 优秀购物网站建设网络营销专业大学排名
  • 单位网站开发合同范本关键时刻
  • 做免费网站教程个人网页在线制作
  • 衢江网站建设百度店面定位怎么申请
  • 制作网站合同需注意营销网络的建设怎么写
  • 长沙做网站建设价格今天最近的新闻
  • 有什么网站可以免费做四六级模拟题销售找客户最好的app
  • 漳州网站建设选博大不错天津关键词优化平台
  • 谷歌推广怎么开户郑州整站网站优化
  • 网页设计与制作教程考试题目优化大师手机版下载安装app
  • 免费发布推广的平台有哪些简述什么是seo
  • 网站手机端排名怎么做流量宝
  • 句容住房和城乡建设局网站yandex引擎搜索入口