Mi aplicación web envía datos a través de ajax al servidor para descargar una pantalla en HTML o una pantalla en PDF generada usando TCPDF para imprimir y guardar. Mi código php es:
$pdf->Output($file_name, 'I');Mi código JS es:
$.post(server, data, function(result, status, xhr) { if (!show_pdf) { // display html } else { var blob = new Blob([xhr.responseText], { type: 'application/pdf' }); var fileURL = URL.createObjectURL(blob); var newWin = window.open(fileURL); newWin.focus(); }El resultado comienza así...
%PDF-1.7 %���� 9 0 obj << /Tipo /Página /Principal 1 0 R /Última modificación (D:20220129175433+11'00') /Recursos 2 0 R /MediaBox [0.000000 0.000000 595.276000 841.890000] /CropBox [0.000000 0.000000 595.276000 841.890000] /Bleedbox [0.000000 0.000000 595.276000 841.890000] /trimbox [0.000000 0.00000000 595.276000 841.890000] /ArtBox [0.00000000 0.000000 595.276000 841.8900 /CS /DeviceRGB >> /Annots [ 5 0 R ] /PZ 1 >> endobj 10 0 obj <</Filter /FlateDecode /Length 38835>> stream x���KקYq��S�M� +��� �U��Ȁ����FJ��*!k�4vs
... y tiene unos 160k de largo.
El resultado de la pantalla siempre está en blanco. ¿Qué estoy haciendo mal?