【问题标题】:How can I convert a string of pdf code into a blob?如何将一串pdf代码转换为blob?
【发布时间】:2019-04-27 15:47:32
【问题描述】:

我简单总结一下我的问题: 我正在调用一个返回 pdf 的 API,例如

"%PDF-1.4%%1 0 obj

目前,我以字符串格式接收它,以便能够进行更改,到目前为止一切顺利,但在进行更改后,我想将字符串转换为 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 以便能够下载它。 有谁知道我该怎么做?

【问题讨论】:

  • 我猜这是同一个问题:- stackoverflow.com/questions/25751017/…
  • “目前我以字符串格式收到它” - pdf 很可能已损坏。 pdf 是一个二进制文件,将其作为文本文件处理很可能会损坏它。因此,切勿将其视为文本。

标签: javascript pdf blob data-conversion


【解决方案1】:

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

【讨论】:

  • 非常感谢您的回答。我会尝试找到一些库来编辑 PDF
猜你喜欢
  • 2020-07-12
  • 2019-08-19
  • 2022-12-26
  • 1970-01-01
  • 2013-06-28
  • 2015-03-06
  • 2019-06-04
  • 1970-01-01
  • 2015-12-20
相关资源
最近更新 更多