Для тех, кто приезжает сюда, чтобы найти более прямой ответ на этот вопрос, у меня есть такой пример:
var zip = new JSZip();
angular.forEach ($scope.students, function (student) {
//The createFile() function returns a jsPDF
var doc = createFile(student);
if (typeof doc !== 'undefined') {
try {
zip.file(student.name + '.pdf', doc.output('blob'));
}
catch {
console.error('Something went wrong!');
}
}
});
zip.generateAsync({type:'blob'}).then(function(content) {
saveAs(content, 'reports.zip');
});
Обычно zip.file () добавляет новый файл в zip с именем (имя, данные). Вы добавляете документ jsPDF в виде большого двоичного объекта, вызывая doc.output ('blob'). Не забудьте добавить «.pdf» в конце названия.
Затем вы генерируете zip-файл, вызывая функцию zip.generateAsync (), и сохраняете его после завершения генерации.
В этом примере я использовал jsPDF , JSZip и FileSaver.js