保存TCPDF生成的文件

I'd like to generate and open PDF when user clicks on a button. Here is my code so far:

index.php:

</html>
<head>
<script>
$('.cmd_butt').click(function() {
    $.ajax({
    url: 'create_pdf.php',
    data: {id: $(this).attr('order_id'), name: $(this).attr('name')},
    type: 'post'
    });
}
</script>
</head>
<body>
<button class="cmd_butt" order_id="250" name="pdf_but">Download PDF</button>
</body>
</html>

create_pdf.php:

<?php

//header('Content-type: application/pdf')
header("Content-type: application-download");
//header("Content-Length: $size");
header("Content-Disposition: attachment; filename=MyPDF.pdf");
header("Content-Transfer-Encoding: binary");

require_once('tcpdf/config/lang/eng.php');
require_once('tcpdf/tcpdf.php');

// create new PDF document
// some code
// some code

//$pdf->Output('test.pdf', 'I');
//$pdf->Output('test.pdf', 'FD');
$pdf->Output();

?>

How can I open a new window with generated PDF? Or notify user with "save as" dialog to download this PDF? I've tried different Output() combinations but none of them worked.

Ajax can only fetch textual data, it can't show the PDF directly or in a new window (from response).

You need to either submit form instead of AJAX, or create a file from ajax call and in response, gets a response about creation of file. e.g. created file name, and than open a new window based on that.

Have you tried this

$pdf->Output('yourfilename.pdf','D');

This will prompt the user to choose where to save the PDF file.

Change

<button class="cmd_butt" order_id="250" name="pdf_but">Download PDF</button>

to

<a href="create_pdf.php?order_id=250" target="_blank">Download PDF</a>

Remove the java in index.php
Remove the headers in create_pdf.php