如何在PhpSpreadsheet\Reader\Xlsx中设置编码?
How to set the encode in PhpSpreadsheet\Reader\Xlsx?
我想用PhpSpreadsheet把xlsx转成pdf,成功了。
但是xlsx中的中文单词是错误的。
并且找不到 setInputEncoding 方法。
我能做什么?请给我指导
$reader = new \PhpOffice\PhpSpreadsheet\Reader\Xlsx();
$spreadsheet = $reader->load($public['root'].'/' . $fileName);
$writer = \PhpOffice\PhpSpreadsheet\IOFactory::createWriter($spreadsheet, 'Mpdf');
$pdfName = str_replace($extension, 'pdf', $fileName);
$writer->save($public['root'].'/' . $pdfName);
您可以在文件 xlsx 中设置字体系列。
$reader = new \PhpOffice\PhpSpreadsheet\Reader\Xlsx();
$spreadsheet = $reader->load($public['root'].'/' . $fileName);
$styleArray = array(
'font' => array(
'name' => 'Verdana' // change your font
));
$spreadsheet->getDefaultStyle()->applyFromArray($styleArray);
问题已解决。
首先,我下载 yahei.ttf 并将其放入 mpdf/ttfonts。
然后在mpdf/src/Config/FontVariables.php中注册。
最后在 PhpSpreadsheet/Writer/Pdf/Mypdf.php 找到第 41 行,然后像这样更改代码
$pdf = $this->createExternalWriterInstance(array_merge($config, ['default_font' => 'yahei']));
$pdf->setDisplayMode('fullpage');
$pdf -> useAdobeCJK = TRUE;
$pdf ->autoScriptToLang = true;
$pdf -> autoLangToFont = true;
我想用PhpSpreadsheet把xlsx转成pdf,成功了。 但是xlsx中的中文单词是错误的。 并且找不到 setInputEncoding 方法。 我能做什么?请给我指导
$reader = new \PhpOffice\PhpSpreadsheet\Reader\Xlsx();
$spreadsheet = $reader->load($public['root'].'/' . $fileName);
$writer = \PhpOffice\PhpSpreadsheet\IOFactory::createWriter($spreadsheet, 'Mpdf');
$pdfName = str_replace($extension, 'pdf', $fileName);
$writer->save($public['root'].'/' . $pdfName);
您可以在文件 xlsx 中设置字体系列。
$reader = new \PhpOffice\PhpSpreadsheet\Reader\Xlsx();
$spreadsheet = $reader->load($public['root'].'/' . $fileName);
$styleArray = array(
'font' => array(
'name' => 'Verdana' // change your font
));
$spreadsheet->getDefaultStyle()->applyFromArray($styleArray);
问题已解决。 首先,我下载 yahei.ttf 并将其放入 mpdf/ttfonts。 然后在mpdf/src/Config/FontVariables.php中注册。 最后在 PhpSpreadsheet/Writer/Pdf/Mypdf.php 找到第 41 行,然后像这样更改代码
$pdf = $this->createExternalWriterInstance(array_merge($config, ['default_font' => 'yahei']));
$pdf->setDisplayMode('fullpage');
$pdf -> useAdobeCJK = TRUE;
$pdf ->autoScriptToLang = true;
$pdf -> autoLangToFont = true;