1

我正在与 recurly 合作为我的客户开具账单。但是我怎样才能得到发票pdf?
到目前为止,我有一张带有发票的表格。我显示发票的状态、计划、开始日期、结束日期。然后我也有这样的链接:

/user/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 显示了这一点

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

4

2 回答 2

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 提交支持票,因为他们为其所有客户端库提供支持。

于 2013-10-04T18:00:57.870 回答
3

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

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

于 2013-10-04T17:59:32.517 回答