https://github.com/anhoder/office2pdf
office转换为pdf,计算office页数,基于COM
https://github.com/anhoder/office2pdf
excel office office-pdf pdf php ppt word wps
Last synced: 10 months ago
JSON representation
office转换为pdf,计算office页数,基于COM
- Host: GitHub
- URL: https://github.com/anhoder/office2pdf
- Owner: anhoder
- Created: 2018-07-26T05:05:35.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2020-04-23T03:15:53.000Z (about 6 years ago)
- Last Synced: 2025-06-22T21:04:10.906Z (12 months ago)
- Topics: excel, office, office-pdf, pdf, php, ppt, word, wps
- Language: PHP
- Size: 605 KB
- Stars: 12
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Office转PDF
> 该库基于Office(或WPS) COM组件,因此只支持Windows系统,其他系统可以考虑使用其他库,例如Open Office、PHPOffice。
## 安装
* Microsoft Office或WPS
* PHP配置开启`com.allow_dcom = true`
* PHP配置`extension=php_com_dotnet.dll`(PHP 5.4.5之前的版本自带,不需要开启)
## 使用
1. `composer require alanalbert/office2pdf`
2. 包含composer的自动加载文件`autoload.php`
3. 编写具体业务逻辑,如下(注意:Windows使用的中文编码为GBK,因此需要使用`iconv`函数进行编码转换):
```php
require '../vendor/autoload.php';
$source_path_utf8 = "E:/测试.doc"; // Word文件路径
$source_path = iconv('UTF-8', 'GBK', $source_path_utf8); // 转为GBK,防止中文乱码而找不到文件
$output_path = $source_path . '.pdf'; // PDF目标文件路径
$office = new Office\OfficeCOM();
$office->run('word');
var_dump($office->word2Pdf($source_path, $output_path));
$office->close('word');
```
## 方法
```php
/*
* @method boolean run($type = 'all') 运行应用, 参数: all|word|excel|ppt
* @method boolean close($type = 'all') 关闭应用, 参数: all|word|excel|ppt
* @method int|false getPageNumFromDoc($file) 获取Word文档页数
* @method int|false getPageNumFromPpt($file) 获取PPT文档页数
* @method int|false getPageNumFromExcel($file) 获取Excel文档页数
* @method int|false getPageNumFromPdf($file) 获取PDF文件页数
* @method boolean word2Pdf($source_file, $output_file) Word转PDF
* @method boolean excel2Pdf($source_file, $output_file) Excel转PDF
* @method boolean ppt2Pdf($source_file, $output_file) PPT转PDF
*/
```
## 更多
如果需要使用更多功能,请参考[微软office开发文档](https://msdn.microsoft.com/vba/office-vba-reference)
(适用于WPS)。