我正在努力为我的客户收费。但是如何才能获得发票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? (或直接下载)
答案 0 :(得分: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";
}
您可以随时向support@recurly.com提交支持服务单,因为它们为所有客户端库提供支持。
答案 1 :(得分:3)
应该是二进制PDF文件。您是否尝试将其保存到磁盘中,并在Acrobat或Preview中打开它?
我不确定Zend会如何退货,但您应该能够将内容回馈给用户。