通过phpoffice将word与excel文件转成PDF文件

2024-03-10 11:52
文章标签 excel pdf 转成 word phpoffice

本文主要是介绍通过phpoffice将word与excel文件转成PDF文件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.首先需要对应的库

composer require phpoffice/phpword
composer require phpoffice/phpspreadsheet
composer require mpdf/mpdf

2.相关代码如下

<?phpnamespace common;use PhpOffice\PhpWord\PhpWord;
use PhpOffice\PhpWord\IOFactory;
use PhpOffice\PhpWord\Settings;
use PhpOffice\PhpSpreadsheet\IOFactory as SpreadIoFactory;
use PhpOffice\PhpPresentation\IOFactory as PowerpointIoFactory;
use common\PDF;/*** 提供Office管理服务* @name Office.php* @package jypp* @category model* @link http://www.chanekeji.com* @author mengchen* @version 1.0* @copyright CHANGE INC* @since 2023-02-15*/
class Office
{   /*** word转pdf* @param string $wordPath * @param string $fileName*/public function wordToPdf($wordPath = '',$fileName = 'output'){   // 设置具体存放路径$basePath = sprintf('%spublic/upload/pdf/%s',ROOT_PATH,date('Ymd'));$path = sprintf('%s/%s.pdf',$basePath,$fileName);if (!file_exists($basePath)) {mkdir($basePath, 0755, true); //创建目录}// 创建一个新的 PHPWord 实例$phpWord = new PhpWord();Settings::setPdfRendererPath(sprintf('%svendor/mpdf/mpdf',ROOT_PATH));//设置转换pdf的类库名(DomPDF、MPDF、TCPDF)需要下载对应的类库Settings::setPdfRendererName('MPDF');// 从 Word 文档中加载内容$wordReader = IOFactory::createReader('Word2007');$phpWord = $wordReader->load($wordPath);// 用 PHPWord 创建 PDF 文件$xmlWriter = IOFactory::createWriter($phpWord, 'PDF');$xmlWriter->save($path);if(file_exists($path)){$pdf = new PDF();$pngs = $pdf->pdfToPng($path);if(count($pngs) > 0){unlink($path);return $pngs;}return [];}else{return [];}}/*** excel转pdf* @param string $wordPath * @param string $fileName*/public function excelToPdf($excelPath = '',$fileName = 'output'){   // 设置具体存放路径$basePath = sprintf('%spublic/upload/pdf/%s',ROOT_PATH,date('Ymd'));$path = sprintf('%s/%s.pdf',$basePath,$fileName);if (!file_exists($basePath)) {mkdir($basePath, 0755, true); //创建目录}/*第一步:打开excel文件*/$Excelreader = SpreadIoFactory::createReaderForFile($excelPath);$ExcelObj= $Excelreader ->load($excelPath);//打开后的excel对象/*第二步:另存为pdf文件*/$PDFWriter = SpreadIoFactory::createWriter($ExcelObj,'Mpdf');$PDFWriter ->save($path);if(file_exists($path)){$pdf = new PDF();$pngs = $pdf->pdfToPng($path);if(count($pngs) > 0){unlink($path);return $pngs;}return [];}else{return [];}}
}

这篇关于通过phpoffice将word与excel文件转成PDF文件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/794162

相关文章

【专题】2024飞行汽车技术全景报告合集PDF分享(附原数据表)

原文链接: https://tecdat.cn/?p=37628 6月16日,小鹏汇天旅航者X2在北京大兴国际机场临空经济区完成首飞,这也是小鹏汇天的产品在京津冀地区进行的首次飞行。小鹏汇天方面还表示,公司准备量产,并计划今年四季度开启预售小鹏汇天分体式飞行汽车,探索分体式飞行汽车城际通勤。阅读原文,获取专题报告合集全文,解锁文末271份飞行汽车相关行业研究报告。 据悉,业内人士对飞行汽车行业

pdfmake生成pdf的使用

实际项目中有时会有根据填写的表单数据或者其他格式的数据,将数据自动填充到pdf文件中根据固定模板生成pdf文件的需求 文章目录 利用pdfmake生成pdf文件1.下载安装pdfmake第三方包2.封装生成pdf文件的共用配置3.生成pdf文件的文件模板内容4.调用方法生成pdf 利用pdfmake生成pdf文件 1.下载安装pdfmake第三方包 npm i pdfma

C - Word Ladder题解

C - Word Ladder 题解 解题思路: 先输入两个字符串S 和t 然后在S和T中寻找有多少个字符不同的个数(也就是需要变换多少次) 开始替换时: tips: 字符串下标以0开始 我们定义两个变量a和b,用于记录当前遍历到的字符 首先是判断:如果这时a已经==b了,那么就跳过,不用管; 如果a大于b的话:那么我们就让s中的第i项替换成b,接着就直接输出S就行了。 这样

PDF 软件如何帮助您编辑、转换和保护文件。

如何找到最好的 PDF 编辑器。 无论您是在为您的企业寻找更高效的 PDF 解决方案,还是尝试组织和编辑主文档,PDF 编辑器都可以在一个地方提供您需要的所有工具。市面上有很多 PDF 编辑器 — 在决定哪个最适合您时,请考虑这些因素。 1. 确定您的 PDF 文档软件需求。 不同的 PDF 文档软件程序可以具有不同的功能,因此在决定哪个是最适合您的 PDF 软件之前,请花点时间评估您的

C#关闭指定时间段的Excel进程的方法

private DateTime beforeTime;            //Excel启动之前时间          private DateTime afterTime;               //Excel启动之后时间          //举例          beforeTime = DateTime.Now;          Excel.Applicat

解决Office Word不能切换中文输入

我们在使用WORD的时可能会经常碰到WORD中无法输入中文的情况。因为,虽然我们安装了搜狗输入法,但是到我们在WORD中使用搜狗的输入法的切换中英文的按键的时候会发现根本没有效果,无法将输入法切换成中文的。下面我就介绍一下如何在WORD中把搜狗输入法切换到中文。

excel翻译软件有哪些?如何高效提翻译?

你是否曾在面对满屏的英文Excel表格时感到头疼?项目报告、数据分析、财务报表... 当这些重要的信息被语言壁垒阻挡时,效率和理解度都会大打折扣。别担心,只需3分钟,我将带你轻松解锁excel翻译成中文的秘籍。 无论是职场新人还是老手,这一技巧都将是你的得力助手,让你在信息的海洋中畅游无阻。 方法一:使用同声传译王软件 同声传译王是一款专业的翻译软件,它支持多种语言翻译,可以excel

终于解决了excel操作及cspreadsheet.h问题

困扰多日的excel操作问题终于解决:利用cspreadsheet.h!在vs2005下,不能直接应用cspreadsheet.h,所以必须解决些问题先。 首先, 出现暴多错误。解决UNICODE问题,全部添加L。 [1] +++++++++++++++++++ 其次, 出现问题: error   C2664:   &apos;SQLGetInstalledDriversW &apos;

关于使用cspreadsheet读写EXCEL表格数据的问题

前几天项目有读写EXCEL表格的需求,我就找了大概有几种,大致分为:COM方法、ODBC方法、OLE方法、纯底层格式分析方法。由于COM方法要求必须安装有OFFICE的EXCEL组件,纯底层格式分析方法又很多功能需要自行去完善,所有最终选择了数据库的方法,用数据库的方法去存取xls格式的数据。网上有一个高手写的CSpreedSheet,看了一下提供的接口,感觉挺好用的。在使用的过程中发现几个

Excel和Word日常使用记录:

Excel使用总结 表格颜色填充: 合并单元格: 选中你要合并的单元格区域。按下快捷键 Alt + H,然后松开这些键。再按下 M,接着按 C。这个组合键执行的操作是:Alt + H:打开“主页”选项卡。M:选择“合并单元格”选项。C:执行“合并并居中”操作。 插入行: 在Excel中,插入一行的快捷键是:Windows:选择整行(可以点击行号)。按下 Ctrl + Sh