PDF转Base64,base64转PDF,PDF批量打印

前沿:

         有个PDF批量打印的功能,多个PDF打印,这里涉及到一些方法,比如PDF合并,但是因为还有要合并图片和PDF,种种,最后还是后端实现方便,然后后端去实现了,接口返回base64,然后前端再转为PDF打印。

        下面主要是自己本地拿pdf转为base64模拟测试打印PDF

 PDF转Base64

https://www.base64encode.net/pdf-to-base64

 

在线pdf转base64文件 ,

然后引入base64

 

 Base64转 PDF

用法: 

 //content是base64格式
    viewPdf(content) {
      console.log("content",content)
      const blob = this.base64ToBlob(content)
      if (window.navigator && window.navigator.msSaveOrOpenBlob) {
        window.navigator.msSaveOrOpenBlob(blob)
      } else {
        const fileURL = URL.createObjectURL(blob)
        console.log(fileURL,'-----fileUrl')
        printJS({
          printable: fileURL,
          type: "pdf",
        }); 
        // window.open(fileURL);//弹出ppf文件
      }

 //content是base64格式
    base64ToBlob(code) {
      code = code.replace(/[\n\r]/g, '')
      // atob() 方法用于解码使用 base-64 编码的字符串。
      const raw = window.atob(code)
      const rawLength = raw.length
      const uInt8Array = new Uint8Array(rawLength)
      for (let i = 0; i < rawLength; ++i) {
        uInt8Array[i] = raw.charCodeAt(i)
      }
      return new Blob([uInt8Array], { type: 'application/pdf' })
    },

打印

import printJS from 'print-js'

 打印用的printJS,自行npm 安装

npm install print-js --save
npm install --save pdf-lib print-js
npm install pdfjs-dist
  //fileURL 是 pdf地址路径

printJS({
     printable: fileURL,
     type: "pdf",
}); 

还有一些pdf前端实现的方法, pdf合并  npm install --save pdf-merger-js   

相关api pdf-merger-js node.js - pdf-merger-js throws a TypeError and Fails - Stack Overflow

 

附上打印PDF截图

 

<think>嗯,用户想找一个在线工具把PDFBase64编码。那我得先回想一下有没有常用的网站提供这个服务。之前记得Base64Encode.net好像支持这个功能,对吧?他们提到过PDFBase64,应该是在引用里提到的[^1]。另外,用户还提到不同文件类型Base64后的前缀不同,比如PDF是data:application/pdf;base64,,这点需要注意,可能用户需要这个前缀来正确使用Base64数据。 然后,用户可能需要具体的步骤指导,比如如何操作这些工具。我应该分步骤说明,比如打开网页、上传文件、获取编码,这样用户更容易理解。同时,要提醒他们注意前缀是否正确,还有文件大小限制的问题,毕竟在线工具有时候对大文件支持不好。 另外,用户可能还有其他需求,比如本地换的方法,或者如何验证Base64的正确性。这部分虽然用户没直接问,但提前给出相关信息会更全面。比如用JavaScript的FileReader或者Python的base64库,这样有编程经验的用户可以参考。验证的话,可以用在线解码或者代码检查,这样用户确保换后的数据无误。 还要确保回答结构清晰,先推荐工具,再分步骤说明,然后注意事项和相关问题。这样用户能一步步跟着操作。引用部分要正确标注,比如Base64Encode.net和Android相关的引用来源,保证信息的可靠性。 最后,生成的相关问题要围绕用户可能进一步的需求,比如如何本地换,前缀的作用,验证方法,这些都能帮助用户更深入地解决问题。确保每个问题都有对应的潜在解答方向,方便用户后续探索。</think>### PDFBase64在线工具推荐 目前可通过以下两种在线工具实现PDFBase64编码: 1. **Base64Encode.net** - 支持直接上传PDF文件(最大10MB) - 自动生成带有标准前缀的Base64编码 - 操作步骤: 1. 访问 https://www.base64encode.net/pdf-to-base64 2. 点击"Choose File"上传PDF 3. 点击"Encode to Base64"按钮 4. 复制带有`data:application/pdf;base64,`前缀的完整编码 2. **CodeBeautify PDF to Base64** - 支持批量换 - 提供编码验证功能 - 操作路径: ```text 上传文件 → 选择输出格式 → 下载/复制编码结果 ``` ### 注意事项 1. **前缀规范**:Android/iOS等平台使用时需保留`data:application/pdf;base64,`协议头[^2] 2. **文件限制**:超过20MB建议使用本地代码换 3. **编码验证**:可通过 https://base64.guru/converter/decode/pdf 反向验证 ### 本地换方法(备用) ```javascript // JavaScript示例 function convertPDFToBase64(file) { return new Promise((resolve) => { const reader = new FileReader(); reader.onload = () => resolve(reader.result); reader.readAsDataURL(file); }); } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值