0

我尝试按照该站点http://culttt.com/2015/10/26/generating-pdfs-from-html-and-phantomjs的指南进行操作,您可以在其中使用 PhantomJS 生成 PDF。

但是,作者的代码包括创建一个 PDFWriter 类,该类在其构造函数中接受Filesystem $storage.

因此,当我想使用此类生成 PDF 时,我不确定该给作者提供什么?

$pdf = new PDFWriter( /* ?? */ );
$pdf->write('template.file', ['data']);

有什么线索吗?我应该在 Laravel 4.2 安装上实现这一点。

4

1 回答 1

0

作者正在Illuminate\Filesystem\Filesystem使用新的 Laravel 5 合约进行注入。app()你可以使用Laravel 4中的方法解析同一个实例:

$filesystem = app('Illuminate\Filesystem\Filesystem');

$pdf = new PDFWriter($filesystem);

虽然如果您在控制器中使用此方法,我建议将其插入到您的构造函数中。

use Illuminate\Filesystem\Filesystem;

class PdfController extends Controller
{
    /**
     * @var Filesystem
     */
    protected $filesystem;

    /**
     * Constructor.
     *
     * @param Filesystem $filesystem
     */
    public function __construct(Filesystem $filesystem)
    {
        $this->filesystem = $filesystem;
    }

    public function create()
    {
        $pdf = new PDFWriter($this->filesystem);
        $pdf->write('template.file', ['data']);
    }
}
于 2016-01-08T14:58:32.233 回答