在PHPSpreadsheet中从excel转换为pdf而不会破坏设计/样式

问题描述 投票:1回答:1

我尝试将我的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中的原创:

enter image description here

如果我直接从excel本身保存为PDF,这个导出很好。但是,当我尝试使用我的代码时,这似乎是结果:

enter image description here

你可以看到它变得非常混乱。这是否意味着我必须以另一种方式为PDF编程?我认为在那些之间进行改变很容易。

PS:不要介意图片之间的名称差异。我在DB中测试了一些内容,看看当名字很长时它是如何缩放的。它不漂亮,让我告诉你。

php excel pdf-generation spreadsheet phpspreadsheet
1个回答
0
投票

这不是一个很好的答案,但如果你阅读the documentation,你会看到一个注释:

请注意,PDF文件格式对样式单元格,数字格式,...有一些限制。

尝试mPDF以外的库可能会更好。从同一页面:

不同的图书馆有不同的优点和缺点。有些生成比其他更好的格式化输出,有些比其他更快或使用更少的内存,而有些生成更小的.pdf文件

© www.soinside.com 2019 - 2024. All rights reserved.