2017-08-12 11 views
1

FPDFライブラリを使用して動的PDFを開発しました。すべてがコンピュータで正常に動作しますが、モバイルでは、PHPファイルのダウンロードが開始され、ダウンロードも自動的にキャンセルされます。FPDF:.php拡張子のモバイルブラウザでPDFを自動的にダウンロードします(サポート対象外)

これは

<?php 
require('fpdf/fpdf.php'); 

$pdf = new FPDF(); 
$pdf->AddPage(); 
$pdf->SetFont('Arial','B',16); 
$pdf->Cell(40,10,'Hello World!'); 
$pdf->Output(); 
?> 

をコーディングするサンプルである私が「をsample.php」とコンピュータのビューとしてこのファイルを保存する場合は、PDF出力の「Hello World」とエラーなしで開かれています。しかし、アンドロイドブラウザ(Google Chrome、Android用Firefox、Androidブラウザ)でページを見ると、PDFファイルを表示する代わりに "sample.php"というファイルがダウンロードされます。

+0

私は、最新のアンドロイドデバイスがFPDFでうまく動作することを確認しましたが、Kitkatのような初期のアンドロイド版には問題があります。これを修正する可能性はありますか? 実際には、PHPファイルをダウンロードする代わりに、PDFをブラウザで開く必要があります。 –

答えて

1

問題は、このブラウザが送信するヘッダーが非常に厄介であることです。各要素間のContent-Typeヘッダーに空白がある場合、Androidはそれらを無視します。

<?php 
require('fpdf/fpdf.php'); 

header('Content-type: application/download;filename="example.pdf"'); 
header('Cache-Control: private, max-age=0, must-revalidate'); 
header('Pragma: public'); 

$pdf = new FPDF(); 
$pdf->AddPage(); 
$pdf->SetFont('Arial','B',16); 
$pdf->Cell(40,10,'Hello World!'); 
echo $pdf->Output('S'); 
関連する問題