zend_pdfを使用してmagento 1.7でpdfを生成していますが、次のようなことを試しました
public function getpdf()
{
$pdf = new Zend_Pdf();
$font = Zend_Pdf_Font::fontWithName(Zend_Pdf_Font::FONT_HELVETICA);
$page = new Zend_Pdf_Page(Zend_Pdf_Page::SIZE_A4);
$page->setFont($font, 24) ->drawText('Hello World', 72, 720);
$pdf->pages[] = $page;
$pdfString = $pdf->render();
header("Content-Disposition: attachment; filename=helloworld.pdf");
header("Content-type: application/x-pdf");
echo $pdfString;
}
問題は、Windows 7 で Pdf が生成されたときに開かず、「サポートされているファイル タイプではないか、ファイルが破損しているため、Adobe Reader で helloworld.pdf を開けませんでした」というエラー メッセージが表示されることです。このエラーは、pdf ドキュメントに html コンテンツが存在するために発生することに気付きました。リンクhttps://dl.dropbox.com/u/45895040/helloworld.pdfとして PDF ドキュメントをお送りします。
PDF が Mac OS X で生成された場合、そこで正常に開きます
理解を深めるために、Zend_pdf document throws error in magento due to present of html contents に記載されている手順に従ってください。
オペレーティング システムに関係なく、生成された pdf を任意のブラウザで開くことができるように、ヘッダーを適切に設定する方法を教えてもらえますか。