Pdf.js возвращает «InvalidPDFException: неверная структура PDF»JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Pdf.js возвращает «InvalidPDFException: неверная структура PDF»

Сообщение Anonymous »

В настоящее время у меня есть серверная служба Java, которая конвертирует HTML в PDF-файлы с помощью itext. Я возвращаю PDF-файл в виде byte[] клиенту (Angular 5). Но в конечном итоге я получаю "недопустимую структуру PDF", когда пытаюсь запустить к нему функцию getDocument. Я не верю, что структура PDF на самом деле недействительна. Я загрузил свой HTML-шаблон в онлайн-конвертер PDF, и он работал нормально.

Вот что я получаю от серверной части:

Изображение


Это мой код pdfjs:

Код: Выделить всё

class MyDocumentsProvider{
downloadPdf():any{
return this.http.get(environment.webappServer+"/get1098E", {responseType:'arraybuffer'}).map(
(res) =>{
return res;
}
)
}
}
this.myDocumentsProvider.downloadPdf().subscribe((res)=>{
PDFJS.disableWorker = true; //{
this.showLoader = false;
this.pdf = pdf;
this.pagesTotal = pdf.numPages;
pdf.getPage(this.pageNum).then((page) => {
this.handlePages(page);
this.writeFile();
})
}).catch((err)=>{
this.showError = true;
console.error(err);
})
},((err)=>{
this.showError = true;
console.error(err);
}))
}
Я тоже пробовал

Код: Выделить всё

    PDFJS.getDocument(new Uint8Array(res))then((pdf)...
Я протестировал этот код с прямым URL-адресом PDF-файла, и он работает.

Это Java-код:

Код: Выделить всё

@RequestMapping(value="/testPdf",  headers="Accept=*/*", method = RequestMethod.GET)
public ResponseEntity testPdf() throws IOException{

HttpHeaders responseHeaders = new HttpHeaders();
responseHeaders.add("Content-Type","application/octet-stream;charset=UTF-8"); //

Подробнее здесь: [url]https://stackoverflow.com/questions/49849122/pdf-js-giving-back-invalidpdfexception-invalid-pdf-structure[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»