Опит за показване на PDF, върнат от ajax

Опитвам се да получа PDF отчет, създаден от jsreport, и да го покажа в нов прозорец/раздел.

Ajax отговорът съдържа данни, които изглеждат като PDF съдържание:

%PDF-1.4
1 0 obj
<<
/Title ...

Когато се опитам да покажа данните с

window.open('data:application/pdf;base64,' + data);

отваря се нов, празен раздел - нищо не се показва.

Когато опитам:

window.open('data:application/pdf,' + data);

отваря се нов раздел с PDF-плъгин, който казва, че съдържанието не е правилно. URL адресът се показва като:

data:application/pdf,%PDF-1.410obj<</Title(%EF%BF%BD%EF%BF%BD)/Creator(%EF%

какво правя грешно


person Valentin Heinitz    schedule 09.07.2015    source източник


Отговори (1)


От моя опит попадате в различни проблеми с различни браузъри с ajax и pdf. Ако приемем, че получавате pdf чрез публикуване на jsreport сървър, по-лесно и по-стабилно е да използвате просто публикуване на http формуляр в нов раздел за това.

<form method='POST' target='_blank' action='http://<jsreport>/api/report' id='jsrForm'>
        <input hidden='true' type='text'name='template[shortid]' value="xykdJcxR5"/>       
        <input hidden='true' type='text'name='data[foo]' value="1"/>
</form>

Изпращането на този формуляр трябва да отвори нов раздел с отчет

document.getElementById("jsrForm").submit();

Можете също да проверите тази документация за поддръжка и изобразяване на jsreport в браузъра.

person Jan Blaha    schedule 10.07.2015