如何将一串 pdf 代码转换为 blob?

How can I convert a string of pdf code into a blob?

我简单总结一下我的问题: 我将 API 称为 returns 类似

的 pdf

"% PDF-1.4%%1 0 对象 << / 类型 / 目录 / PageLayout / OneColumn / 页面 2 0 R/ PageMode / UseNone …………”

目前,我收到的是字符串格式,以便能够进行更改,到目前为止一切顺利,但在进行更改后,我想将字符串转换为 blob 以下载 pdf。在这样做时我遇到了问题,转换为 blob 的文本字符串没有生成正确的 pdf,或者更确切地说,打开后的 pdf 是白色的,而实际上它应该有数据。

The code I'm using now is the following:

response.text().then((content) => {
   //...TODO: Modify pdf
   var blob = new Blob([content], { type: "application/pdf" });
   saveAs(blob, "invoice.pdf");
}).catch(error => {
   console.log(error);
});

The pdf is downloaded but if I open it it is empty.

我希望能够修改 pdf 字符串并将其转换回 blob 以便能够下载。 有人知道我该怎么做吗?

PDF 由一组非常重要的对象组成。如果您将其作为字符串接收并在其上使用标准字符串操作函数,例如查找并替换您很可能会损坏它。您必须按照 PDF 规范中规定的标准进行编辑,并且不得违反语法。这是一种非常脆弱的方法,您需要改用 PDF 库来编辑您的 PDF 内容。