通过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

相关文章

Java实战之利用POI生成Excel图表

《Java实战之利用POI生成Excel图表》ApachePOI是Java生态中处理Office文档的核心工具,这篇文章主要为大家详细介绍了如何在Excel中创建折线图,柱状图,饼图等常见图表,需要的... 目录一、环境配置与依赖管理二、数据源准备与工作表构建三、图表生成核心步骤1. 折线图(Line Ch

Python3脚本实现Excel与TXT的智能转换

《Python3脚本实现Excel与TXT的智能转换》在数据处理的日常工作中,我们经常需要将Excel中的结构化数据转换为其他格式,本文将使用Python3实现Excel与TXT的智能转换,需要的可以... 目录场景应用:为什么需要这种转换技术解析:代码实现详解核心代码展示改进点说明实战演练:从Excel到

Python自动化办公之合并多个Excel

《Python自动化办公之合并多个Excel》在日常的办公自动化工作中,尤其是处理大量数据时,合并多个Excel表格是一个常见且繁琐的任务,下面小编就来为大家介绍一下如何使用Python轻松实现合... 目录为什么选择 python 自动化目标使用 Python 合并多个 Excel 文件安装所需库示例代码

Python如何实现PDF隐私信息检测

《Python如何实现PDF隐私信息检测》随着越来越多的个人信息以电子形式存储和传输,确保这些信息的安全至关重要,本文将介绍如何使用Python检测PDF文件中的隐私信息,需要的可以参考下... 目录项目背景技术栈代码解析功能说明运行结php果在当今,数据隐私保护变得尤为重要。随着越来越多的个人信息以电子形

使用Python快速实现链接转word文档

《使用Python快速实现链接转word文档》这篇文章主要为大家详细介绍了如何使用Python快速实现链接转word文档功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 演示代码展示from newspaper import Articlefrom docx import

Python创建Excel的4种方式小结

《Python创建Excel的4种方式小结》这篇文章主要为大家详细介绍了Python中创建Excel的4种常见方式,文中的示例代码简洁易懂,具有一定的参考价值,感兴趣的小伙伴可以学习一下... 目录库的安装代码1——pandas代码2——openpyxl代码3——xlsxwriterwww.cppcns.c

Python给Excel写入数据的四种方法小结

《Python给Excel写入数据的四种方法小结》本文主要介绍了Python给Excel写入数据的四种方法小结,包含openpyxl库、xlsxwriter库、pandas库和win32com库,具有... 目录1. 使用 openpyxl 库2. 使用 xlsxwriter 库3. 使用 pandas 库

使用Python实现批量分割PDF文件

《使用Python实现批量分割PDF文件》这篇文章主要为大家详细介绍了如何使用Python进行批量分割PDF文件功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、架构设计二、代码实现三、批量分割PDF文件四、总结本文将介绍如何使用python进js行批量分割PDF文件的方法

使用Python在Excel中创建和取消数据分组

《使用Python在Excel中创建和取消数据分组》Excel中的分组是一种通过添加层级结构将相邻行或列组织在一起的功能,当分组完成后,用户可以通过折叠或展开数据组来简化数据视图,这篇博客将介绍如何使... 目录引言使用工具python在Excel中创建行和列分组Python在Excel中创建嵌套分组Pyt

Java使用POI-TL和JFreeChart动态生成Word报告

《Java使用POI-TL和JFreeChart动态生成Word报告》本文介绍了使用POI-TL和JFreeChart生成包含动态数据和图表的Word报告的方法,并分享了实际开发中的踩坑经验,通过代码... 目录前言一、需求背景二、方案分析三、 POI-TL + JFreeChart 实现3.1 Maven