要实现将多个PDF的blob拼接在一起进行打印,可以按照以下步骤进行操作:

  1. 创建一个空的Blob对象,用于存储所有PDF的内容。
  2. 使用fetch函数或XMLHttpRequest对象,从服务器上获取每个PDF的blob数据。
  3. 将每个PDF的blob数据追加到空的Blob对象中。
  4. 使用URL.createObjectURL()函数将Blob对象转换为可打印的URL。
  5. 使用window.open()函数打开打印预览窗口,将URL作为参数传递给该函数。

以下是一个示例代码:

// 创建一个空的Blob对象
var combinedBlob = new Blob();

// 保存每个PDF的blob数据
var pdfBlobs = [];

// 获取每个PDF的blob数据
fetch('url_to_pdf_1')
  .then(function(response) {
    return response.blob();
  })
  .then(function(blob) {
    pdfBlobs.push(blob);
  })
  .then(function() {
    return fetch('url_to_pdf_2');
  })
  .then(function(response) {
    return response.blob();
  })
  .then(function(blob) {
    pdfBlobs.push(blob);
  })
  .then(function() {
    // 将每个PDF的blob数据追加到空的Blob对象中
    pdfBlobs.forEach(function(pdfBlob) {
      combinedBlob = new Blob([combinedBlob, pdfBlob], { type: 'application/pdf' });
    });

    // 将Blob对象转换为可打印的URL
    var combinedUrl = URL.createObjectURL(combinedBlob);

    // 打开打印预览窗口
    window.open(combinedUrl);
  });

请注意,上述代码仅为示例,并未进行错误处理和完整性检查。在实际应用中,您可能需要根据实际情况进行适当的错误处理和调整

使用原生js不使用库实现将多个pdf的blob拼接在一起进行打印

原文地址: http://www.cveoy.top/t/topic/issI 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录