Как я могу преобразовать строку кода PDF в BLOB-объект? - PullRequest
0 голосов
/ 27 апреля 2019

Я кратко подытожу свою проблему: я вызываю API, который возвращает pdf, например

"% PDF-1.4 %% 1 0 obj << / Тип / Каталог / PageLayout / OneColumn / Pages 2 0R / PageMode / UseNone ......... "</p>

В настоящее время я получаю его в строковом формате, чтобы иметь возможность вносить изменения, и пока все хорошо, но после внесения изменений я хотел бы преобразоватьстрока для блоба, чтобы загрузить 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-объект, чтобы иметь возможность загрузить ее.У кого-нибудь есть идеи, как мне это сделать?

1 Ответ

0 голосов
/ 27 апреля 2019

PDF состоит из набора объектов нетривиальным образом.Если вы получаете его как строку и используете стандартные функции для работы со строками, например, найдите и замените, скорее всего, вы повредите ее.Вам придется редактировать в соответствии со стандартами, изложенными в спецификации PDF, и не нарушать синтаксис.Это очень хрупкий подход, вам нужно использовать библиотеку PDF вместо того, чтобы редактировать содержимое PDF.

...