2013-10-04 42 views
1

我正在反复使用为我的客户开票。但我怎样才能得到一张发票​​pdf?
我到目前为止是带发票的表格。我显示发票的状态,计划,开始日期,结束日期。然后我也有一个像这样的链接:反复 - 获取发票PDF(pdf从pdf字符串)

/用户/ invoicepdf/invoicenr/1502

的链接去我invoicepdfaction并发送invoicenr参数。

在我invoicepdfaction我有这样的:

public function invoicepdfAction() { 
    header('Content-Type:', 'application/pdf'); 
    header('Content-Disposition:', 'inline;'); 

    $request = $this->getRequest(); 
    $invoice_number = $request->getParam('invoicenr'); 

    try { 
     $pdf = Recurly_Invoice::getInvoicePdf($invoice_number, 'en-US'); 
     var_dump($pdf); 
    } catch (Recurly_NotFoundError $e) { 
     print "Invoice not found.\n"; 
    } 
} 

我的var_dump显示this

但是,如何在浏览器中显示pdf? (或直接下载)

回答

7

这通常为我工作:

$request = $this->getRequest(); 
$invoice_number = $request->getParam('invoicenr'); 

try { 
    header('Content-type: application/pdf'); 
    header('Accept-Language: en-US'); 
    header('Content-Disposition: attachment; filename="downloaded.pdf"'); 

    $pdf = Recurly_Invoice::getInvoicePdf($invoice_number, 'en-US'); 
    print($pdf); 
} catch (Recurly_NotFoundError $e) { 
    print "Invoice not found.\n"; 
}  

您可以随时提交支持票[email protected]为他们提供他们所有的客户端库支持。

+0

谢谢,工作! – nielsv

3

应该是二进制PDF文件。您是否尝试将其保存到磁盘并在Acrobat或Preview中打开它?

我不确定Zend如何返回它,但您应该能够将内容回显给用户。