Chrome default pdf view fájlnév

Chrome default pdf view fájlnév
2020-04-16T20:29:08+02:00
2020-04-16T21:20:54+02:00
2022-10-15T21:25:27+02:00
pch
Üdv!

Mpdf-el generálok egy pdf-et. Ehhez kell pár paraméter így ajax-al adom át neki a paramétereket.
Amit kapok streame-t az base64-es kódolással visszakapom.

Bootstrap dialog-ot használok hogy egy moddal ablakba megjelenjen a pdf.
Azaz a visszakapott base64 cuccot egy div-be töltöm be innerHTML-el.

Szépen meg is jelenik ahogy kell, viszont a beépített pdf viewnek van egy mentés gombja.
Mivel nem adok át fájlnevet itt jelen esetbe letöltés.pdf lesz a fájlnév.

Hogy lehetne azt megoldani, hogy meg is jelenjen a pdf, de legyen fájlnév is?

mutatom a forrást:

$.ajax({ url: url, type: 'post', data: {'id':id,'pld':pld,'token':token}, success: function(json) { BootstrapDialog.show({ type:BootstrapDialog.TYPE_WARNING, cssClass: 'login-dialog', draggable: true, title: 'Print', message: $('<div></div>').innerHTML=('<object type="application/pdf" data="'+json+'" width="100%" height="800px"></object>'), }); }, error: function(xhr, ajaxOptions, thrownError) { alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText) } });
Az mpdf-be meg így megy ki az adat:

header("Content-type: application/json", true); $pdfString=$mpdf->Output('','S'); $pdfBase64 = base64_encode($pdfString); $data='data:application/pdf;base64,' . $pdfBase64; echo json_encode($data); exit;
Az mpdf ilyenkor nem ad át fájlnevet.
Lehet a kimenetet úgy is beállítani, hogy direkt pdf-et ad ki, az I-vel.
Akkor viszont a pdf-et nem tudom megjelentetni a div-be.
(pedig akkor kapna fájlnevet)

Hogy lehetne megoldani vagy azt, hogy a object-be kapott pdf-nek legyen fájlneve, vagy hogy egy generált pdf megjelenjen a div-be?

Köszi!
Mutasd a teljes hozzászólást!
Ahogy nézem a doksit, az S kapcsolóval ignorálja file nevet - jogosan, hiszen azt stringként kapod meg és megjeleníted.

\Mpdf\Output\Destination::STRING_RETURN
, or 
"S"
return the document as a string. $filename is ignored.

Szerintem azt tudod tenni, hogy elrejted az eredeti mentés gombot és beteszel egy saját mentés gombot, ami a te kiszolgálásodra mutat és ott már a D vagy F kapcsolóval kiszolgálod.
Mutasd a teljes hozzászólást!

Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd