0

所以我正在尝试打印一个 Base64 文件,但我不确定它为什么不打印该文件。

function convertToBase64() {

var selectedFile = document.getElementById("inputFile").files;

if (selectedFile.length > 0) {

    var fileToLoad = selectedFile[0];

    var fileReader = new FileReader();
    var base64;

    fileReader.onload = function (fileLoadedEvent) {
        base64 = fileLoadedEvent.target.result;

        const pdfBlob = new Blob([base64], { type: "application/pdf" });
        const url = URL.createObjectURL(pdfBlob);
        printJS({
            printable: url,
            type: "pdf",
            base64: true
        });
    };
    fileReader.readAsDataURL(fileToLoad);
}

}

我将我选择的 pdf 文件传递​​给它并将其转换为 Base64。现在我想使用 Print.js 打印 Base64,但我无法使其工作。

4

1 回答 1

1

您的代码实际上并未将 base64 数据传递给 print 函数,而是一个 URL。

如果要保留当前代码,只需base64从打印参数中删除标志。

printJS({
  printable: url,
  type: 'pdf',
});

否则,您可以直接将base64var 传递给 print 函数而不创建博客和 url,打印库将为您处理。

前任。:

假设base64Data是一个具有有效 base64 数据的变量。

printJS({
  printable: base64Data,
  type: 'pdf',
  base64: true
});
于 2022-02-21T23:45:09.297 回答