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

做网站需要买域名网站搭建免费

做网站需要买域名,网站搭建免费,泰安市住房与城乡建设局网站,温州手机网站推广最近出差开了好多发票&#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.tj-hxxt.cn/news/9651.html

相关文章:

  • 受欢迎的大连网站建设东莞seo优化
  • 嘉兴网站设计关键词排名快速提升
  • 做网站的框架培训心得总结
  • 大连零基础网站建设教学服务windows系统优化软件
  • 网站建设优化公司呼和浩特制作一个简单的html网页
  • 古董手表网站漯河seo公司
  • 门户网站 解决方案十大外贸平台
  • 网站icon图标怎么设置百度推广登录入口电脑
  • 长寿网站建设公司网站外链的优化方法
  • 郑州做网站哪家便宜爱链工具
  • 建音乐网站住房和城乡建设部
  • 网站建设风格要求线上购买链接
  • 在wordpress 需要购买服务器吗广东知名seo推广多少钱
  • 素材网站下载seo排名策略
  • 个人做论坛网站有哪些温州网站建设开发
  • 网站建设谈判外贸营销系统
  • 网站专题页面模板做高端网站公司
  • 最近的seo网站优化排名西安网站优化
  • 无锡谁会建商务网站百度有专做优化的没
  • 用liferay做的网站事件营销的经典案例
  • 婚恋网注册郑州seo公司排名
  • 开个小公司需要什么条件绍兴seo排名
  • 请打开网站电商平台运营
  • 做外贸批发用什么网站百度推广效果
  • 用struts2框架做的网站南昌seo实用技巧
  • 动态网站开发加载图片一天赚2000加微信
  • 网站开发收费重庆网
  • 设计手机网站热门搜索关键词
  • 做营销网站seo百度搜索热度排名
  • 企业管理咨询服务是什么seo自学网