nềnViết dòng nhị phân để trình duyệt sử dụng PHP
Đang cố gắng để dòng một báo cáo PDF được viết bằng iReport qua PHP để trình duyệt. Vấn đề chung là: làm thế nào để bạn viết dữ liệu nhị phân cho trình duyệt bằng cách sử dụng PHP?
Mã Working
header('Cache-Control: no-cache private');
header('Content-Description: File Transfer');
header('Content-Disposition: attachment, filename=climate-report.pdf');
header('Content-Type: application/pdf');
header('Content-Transfer-Encoding: binary');
$path = realpath(".") . "/output.pdf";
$em = java('net.sf.jasperreports.engine.JasperExportManager');
$result = $em->exportReportToPdf($pm);
header('Content-Length: ' . strlen($result));
$fh = fopen($path, 'w');
fwrite($fh, $result);
fclose($fh);
readfile($path);
không làm việc Mã
header('Cache-Control: no-cache private');
header('Content-Description: File Transfer');
header('Content-Disposition: attachment, filename=climate-report.pdf');
header('Content-Type: application/pdf');
header('Content-Transfer-Encoding: binary');
$path = realpath(".") . "/output.pdf";
$em = java('net.sf.jasperreports.engine.JasperExportManager');
$result = $em->exportReportToPdf($pm);
header('Content-Length: ' . strlen($result));
echo $result;
Câu hỏi
Làm thế nào tôi có thể đưa ra các bước giữa văn bản cho các tập tin và viết trực tiếp đến trình duyệt để PDF không bị hỏng?
Cập nhật
PDF tập tin kích thước:
- làm việc: 594.778 byte
- không làm việc: 1.059.365 byte
Cảm ơn bạn!
Có thêm tất cả các tiêu đề bạn đã cắt ra khỏi tác phẩm đầu tiên không? –
@Casey: Tiêu đề luôn giống nhau trong cả hai trường hợp. Xem vấn đề đã sửa đổi. –
Ahh đó là báo cáo khí hậu! Đừng lo, điều đó bình thường. Chúng luôn luôn * buggy *;) –