我有一个Laravel应用程序使用maatwebsite/excel
包生成excel文件。我还允许用户下载excel文件作为PDF。问题是,当PDF生成时,分页是垂直的,内容被剪切。
我将excel文件设置为横向,但分页仍然是垂直的。我在文档中找不到设置pdf方向的方法
public function registerEvents(): array
{
return [
AfterSheet::class => function (AfterSheet $event) {
// Landscope orientation
$event->sheet->getDelegate()->getPageSetup()->setOrientation(PageSetup::ORIENTATION_LANDSCAPE);
}
];
}
我正在使用TCPDF库导出PDF文件。我在文档中看到一个参数设置为landscape,但我不知道如何使用maatwebsite/excel API将该参数传递给TCPDF构造函数。语法如下:
return (new GanttExport)->download('gantt_' . time() . '.pdf', Excel::TCPDF);
2条答案
按热度按时间wwtsj6pe1#
你试过使用BeforeSheet事件吗?它在我的代码中确实有效。不要忘记在类中实现Maatwebsite\Excel\Concerns\WithEvents接口。
e5njpo682#
我是这样做的,与其他答案非常相似,以防万一对某人有帮助
我不得不在afterSheet中写这段代码,因为在beforeSheet中写这段代码对我不起作用。我还为A4页面添加了这段代码: