热搜:NVER node 开发 php

phpexcel 导出pdf文件乱码

2024-08-17 20:40:02
phpexcel 导出pdf文件乱码

代码过程是,读取模板文件template.xls。写入对应内容,导出pdf文件。template.xls文件内容带有表格和日文。 个人认为是没有字体的原因,但是如何对应,望大虾告知!!!

require_once 'excel/PHPExcel.php';$objPHPExcel = PHPExcel_IOFactory::load( "template.xls" );$objPHPExcel->setActiveSheetIndex(0);$objWorksheet = $objPHPExcel->getActiveSheet();//写内容$objWorksheet->getCell("C1")->setValue("test");//假如图片$objDrawing = new PHPExcel_Worksheet_Drawing();$objDrawing->setName('stamp');$objDrawing->setDescription("aaaa");$objDrawing->setPath("images/p1.jpg");$objDrawing->setCoordinates('M1');$objDrawing->setOffsetX(25);$objDrawing->setRotation(36);$objDrawing->setHeight(73);$objDrawing->getShadow()->setVisible(true);$objDrawing->getShadow()->setDirection(45);$objDrawing->setWorksheet($objWorksheet);$objWorksheet->setTitle('Simple');ob_end_clean();header('Content-Type: application/pdf');header('Content-Disposition: attachment;filename="detail.pdf"');header('Cache-Control: max-age=0');$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'PDF');$objWriter->save('php://output');exit;


回复讨论(解决方案)

导出的pdf文件,边框很粗,日文内容是乱码

?定?容文字是UTF-8编码??如果不是就要用iconv????。

没有编码的问题,乱码问题解决了。
简体中文显示,字体设成arialunicid0-chinese-simplified
日文显示,字体设成arialunicid0-japanese

希望对大家有用。
不过为什么显示粗黑框的问题还没有解决方法~~~

?定?容文字是UTF-8编码??如果不是就要用iconv????。


没有编码的问题。
简体中文显示,字体设成arialunicid0-chinese-simplified
日文显示,字体设成arialunicid0-japanese   即可。

phpexcel生成pdf有一个重大的缺陷:excel中如果有图片,生成的pdf里不会保留,所以你用这个来生成pdf文件不是最好的方案!

phpexcel生成pdf有一个重大的缺陷:excel中如果有图片,生成的pdf里不会保留,所以你用这个来生成pdf文件不是最好的方案!


预定内容很多是不变的,并且格式要求复杂,所以把这些内容和格式做成模板xls文件。这个功能不会涉及到图片的。

有没有比较好的方案,不是写入所有的内容,而是先导入模板,在模板基础上修改内容,保存成pdf文件呢?大虾推荐一个方案吧~~


phpexcel生成pdf有一个重大的缺陷:excel中如果有图片,生成的pdf里不会保留,所以你用这个来生成pdf文件不是最好的方案!


预定内容很多是不变的,并且格式要求复杂,所以把这些内容和格式做成模板xls文件。这个功能不会涉及到图片的。

有没有比较好的方案,不是写入所有的内容,而是先导入模板,在模板基础上修改内容,保存成pdf文件呢?大虾推荐一个方案吧~~

按你上面的代码方案就可以了,动态写入单元格的图片可以保留到pdf里面



phpexcel生成pdf有一个重大的缺陷:excel中如果有图片,生成的pdf里不会保留,所以你用这个来生成pdf文件不是最好的方案!


预定内容很多是不变的,并且格式要求复杂,所以把这些内容和格式做成模板xls文件。这个功能不会涉及到图片的。

有没有比较好的方案,不是写入所有的内容,而是先导入模板,在模板基础上修改内容,保存成pdf文件呢?大虾推荐一个方案吧~~

按你上面的代码方案就可以了,动态写入单元格的图片可以保留到pdf里面

但是,显示格式的问题,不知道遇没遇到过,一会儿,我上传一张图片。

下图是excel模板文件


下面的图,是生成的pdf文件,为什么格式与excel模板文件不一致

我用2.1版本的做了一下测试,所生成的pdf里,对单元格边框的支持也不是很好,莫名其妙的会有一些加粗的边框,具体的代码层面的原因还没有好好分析;可能这就是它的一个缺陷之处吧。

个人感觉你用它来处理pdf,就好比你要用自行车开出汽车一样的时速来,毕竟这不是它的专业,它的专业就是对excel的操作

个人感觉你用它来处理pdf,就好比你要用自行车开出汽车一样的时速来,毕竟这不是它的专业,它的专业就是对excel的操作


谢谢高手解惑  ^_^