我尝试将我的PHPSpreadsheet导出为PDF。我做的是设置标题如:
header("Content-Disposition: attachment;filename=hello world.pdf");
和$writer
像这样:
$writer = new \PhpOffice\PhpSpreadsheet\Writer\Pdf\Mpdf($spreadsheet);
$writer->save("php://output");
我的其余代码与导出为XLSX的代码保持一致。它似乎不像样式命令,也导入没有文本的单元格。我如何在Excel的单元格中创建信息的示例如下所示:
$sheet->setCellValue('A16', $activitiesCount)->getStyle('A16');
$sheet->getStyle('A16')->getFill()->setFillType(Fill::FILL_SOLID);
$sheet->getStyle('A16')->getFill()->getStartColor()->setARGB('d9e6fc');
这是excel中的原创:
如果我直接从excel本身保存为PDF,这个导出很好。但是,当我尝试使用我的代码时,这似乎是结果:
你可以看到它变得非常混乱。这是否意味着我必须以另一种方式为PDF编程?我认为在那些之间进行改变很容易。
PS:不要介意图片之间的名称差异。我在DB中测试了一些内容,看看当名字很长时它是如何缩放的。它不漂亮,让我告诉你。
这不是一个很好的答案,但如果你阅读the documentation,你会看到一个注释:
请注意,PDF文件格式对样式单元格,数字格式,...有一些限制。
尝试mPDF以外的库可能会更好。从同一页面:
不同的图书馆有不同的优点和缺点。有些生成比其他更好的格式化输出,有些比其他更快或使用更少的内存,而有些生成更小的.pdf文件