Я использую модуль «exceljs» в своем проекте Angular для создания файла Excel.Вместо того, чтобы экспортировать его в файл Excel, я сначала хотел бы преобразовать его в PDF, а затем загрузить как таковой.
Я могу успешно экспортировать и сохранить этот файл на моем компьютере:
workbook.xlsx.writeBuffer().then((data) => {
console.log(data); // Uint8Array
console.log(data.buffer); // ArrayBuffer
console.log(new Blob([data])); // Blob
// code I use to export it as an Excel File
const blob = new Blob([data], {type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8'});
const test = FileSaver.saveAs(blob, 'test.xlsx');
});
Как написано выше, вместо файла Excel я хотел бы экспортировать его в виде файла PDF.
Из кода вы можете видеть, что «exceljs» предоставляет мне поток данных Uint8Array, из которого яможет получить ArrayBuffer, или я могу преобразовать его в BLOB-объект.
Я пытался использовать это безуспешно:
workbook.xlsx.writeBuffer().then((data) => {
const blob = new Blob([data], { type: 'application/pdf' });
// or with 'application/octet-stream' type
// const blob = new Blob([data], { type: 'application/octet-stream' });
FileSaver.saveAs(blob, 'test.pdf');
});`
Файл PDF экспортируется, но его нельзя открыть.Я получаю сообщение об ошибке типа «Файл поврежден».
Спасибо за всю помощь в продвинутом.