Vygenerování a stažení PDF přes AJAX
- n.u.r.v.
- Člen | 485
Ahoj, v mém projektu generuji PDF přes mpdf (funguje) a teď bych potřeboval vygenerovat PDF přes ajax a nevím jak na to…
Potřebuji:
1)user v tabulce nakliká položky pro export do pdf – mám
2)po kliku se pošle ajaxem json seznamem vybraných položek – mám
3)handle metoda v prezenteru obdrží data, načte položky z db a spustí
generování mpdf – mám (php script pro generování končí
$mpdf->Output(‚Seznam vybraných položek.pdf‘, ‚D‘);)
4)a teď nevím jak to poslat zpět do browseru tak, aby se vygenerovaný PDF
nabídl ke stažení
PDF nechci ukládat na disk…
Takto posílám ajax požadavek:
$(document).on('click', '#gen_pdf', function (ev) {
ev.preventDefault();
if (jsonString != '') {
$.getJSON(this.href, {
json: jsonString
})
.done(function (payload) {
if (payload.snippets) {
for (var id in payload.snippets) {
$('#' + id).html(payload.snippets[id]);
}
}
});
} else {
alert("Musíte vybrat alespoň jednu položku v tabulce!");
}
});
Díky za radu…
poznámka: PDF generuji v repository, ne v presenteru
- David Matějka
- Moderator | 6445
neres to AJAXem, ale uzivatele primo nasmeruj na ten signal, pripadne to naklikavani a tlacitko na export udelej jako formular
- n.u.r.v.
- Člen | 485
@Šaman : Ahoj, koukám do historie a zjistil jsem, že se to nakonec předělalo na to ukládání souboru, takže teď to mám tak že si user nakliká co a jak chce exportovat, já z toho udělám nějaký json formát a ajaxem pošlu. Na serveru se vygeneruje a uloží soubor a já pak ajaxu pošlu cestu pro stažení souboru.. JS pak jen usera přesměruje do nového tabu kde se mu spustí stahování souboru…
Musel jsem to tak udělat, protože vznikl požadavek na historii vygenerovaných souborů…
Co mě tak v rychlosti napadá jak to udělat u tebe, tak že ajaxem odešleš formulář, po odeslání si z toho vytáhneš data a uložíš do session a pak jen pomocí js otevřeš url pro generování souboru a podle dat v session vygeneruješ PDF a klasicky pošleš přes output…
Ale možná někdo poradí lepší řešení…