Jtti广告广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >php怎么将work转为pdf
  • 227
分享到

php怎么将work转为pdf

phpworkpdf 2017-06-01 23:06:09 227人浏览 无得
摘要

本教程操作环境:windows7系统、PHP7.1版,DELL G3电脑一、配置php扩展如果是 PHP5.4 以前的版本,需要在 php.ini 里把 com.allow_dcom = true 打开(即去掉前面的分号)。如果是 PHP5

教程操作环境:windows7系统、PHP7.1版,DELL G3电脑

一、配置php扩展

如果是 PHP5.4 以前的版本,需要在 php.ini 里把 com.allow_dcom = true 打开(即去掉前面的分号)。

如果是 PHP5.4 之后的版本,则要在 php.ini 里增加一行扩展 extension = php_com_dotnet.dll

重启 Apache 或 IIS 服务器,打印 phpinfo() 信息,检查 com_dotnet 扩展是开启。

↑ 检查 php 的 ext 目录中 是否存在 com_dotnet.dll 文件,如果没有请自行下载对应版本的 dll

二、配置office支持

OpenOffice 是一套开源跨平台的办公软件,由许多自由软件人士共同来维持,让大家能在 Microsoft Office 之外,还能有免费的 Office 可以使用。

OpenOffice 与微软的办公软件套件兼容,能将 doc、xls、ppt 等文件转换为 pdf 格式,其功能绝对不比 Microsoft Office 差。

OpenOffice 官网:Http://www.openoffice.org/

OpenOffice 下载:http://www.openoffice.org/download/index.html

OpenOffice 需要 java 支持,请确认安装了 JDK,并配置了 JRE 环境变量。

1. 配置组件服务

OpenOffice 安装完成之后,按 win+R 快捷键进入运行菜单,输入 Dcomcnfg 打开组件服务。

[组件服务] >> [计算机] >> [我的电脑] >> [DCOM配置] >> [OpenOffice Service Manager]

右键打开属性面板,选择安全选项卡,分别在 启动和激活权限访问权限 上勾选自定义,添加 Everyone 的权限。

↑ 启动和激活权限 和 访问权限 都使用自定义配置

↑ 添加 Everyone 用户组,记得确认前先检查名称

↑ 两个自定义配置相同,允许 Everyone 拥有所有权限

再选择标识选项卡,勾选 交互式用户,保存设置后退出。

2. 后台运行软件

安装完 OpenOffice 后,需要启动一次确认软件可以正常运行,然后再打开命令行运行以下命令:

切换到安装目录: cd C:\Program Files\OpenOffice 4\program

后台运行该软件: soffice -headless-accept="Socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard

PS:该命令只需要执行一次,就可以使软件一直在后台运行,即使重启服务器也不受影响。

三、实现文件转换

PDF 转换工具(支持 doc, docx, xls, xlsx, ppt, pptx 等格式)

class PDFConverter
{    private $com;    
    public function __construct()
    {        try {            $this->com = new COM('com.sun.star.ServiceManager');
        } catch (Exception $e) {            die('Please be sure that OpenOffice.org is installed.');
        }
    }    
    public function execute($source, $export)
    {        $source = 'file:///' . str_replace('\\', '/', $source);        $export = 'file:///' . str_replace('\\', '/', $export);        $this->convertProcess($source, $export);
    }    
    public function getPages($pdf_path)
    {        if (!file_exists($pdf_path)) return 0;        if (!is_readable($pdf_path)) return 0;        if ($fp = fopen($pdf_path, 'r')) {            $page = 0;            while (!feof($fp)) {                $line = fgets($fp, 255);                if (preg_match('/\/Count [0-9]+/', $line, $matches)) {                    preg_match('/[0-9]+/', $matches[0], $matches2);                    $page = ($page < $matches2[0]) ? $matches2[0] : $page;
                }
            }            fclose($fp);            return $page;
        }        return 0;
    }    private function setProperty($name, $value)
    {        $struct = $this->com->Bridge_GetStruct('com.sun.star.beans.PropertyValue');        $struct->Name = $name;        $struct->Value = $value;        return $struct;
    }    private function convertProcess($source, $export)
    {        $desktop_args = array($this->setProperty('Hidden', true));        $desktop = $this->com->createInstance('com.sun.star.frame.Desktop');        $export_args = array($this->setProperty('FilterName', 'writer_pdf_Export'));        $program = $desktop->loadComponentFromURL($source, '_blank', 0, $desktop_args);        $program->storeToURL($export, $export_args);        $program->close(true);
    }
}

使用 PDFConverter(必须传入绝对路径)

$arr = array('doc', 'docx', 'xls', 'xlsx', 'ppt', 'pptx');

$converter = new PDFConverter();

foreach ($arr as $ext) {
    $source = __DIR__ . '/office/test.' . $ext;
    $export = __DIR__ . '/pdf/test.' . $ext . '.pdf';
    $converter->execute($source, $export);
    echo '<p>' . $ext . ' Done</p>';
}

--结束END--

本文标题: php怎么将work转为pdf

本文链接: https://www.lsjlt.com/news/241.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • php怎么将Excel文件转为PDF格式
    随着互联网的飞速发展,越来越多的企业和个人开始使用网络来处理和存储各种数据。在这个背景下,各种数据格式的转换变得越来越重要,其中将Excel文件转换为PDF格式的需求也日益增加。作为一种流行的编程语言,PHP不仅可以处理网页开发和服务器端编...
    654
    2023-09-29
  • Java怎么将PDF转为Word
    这篇文章主要介绍“Java怎么将PDF转为Word”,在日常操作中,相信很多人在Java怎么将PDF转为Word问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java怎么将PDF转为Word”的疑惑有所帮助!...
    280
    2023-09-29
  • Java 将PDF转为Word
    众所周知,PDF文档除了具有较强稳定性和兼容性外, 还具有较强的安全性,在工作中可以有效避免别人无意中对文档内容进行修改。但与此同时,也妨碍了对文档的正常修改。这时我们可以将PDF转为Word文档进行修改或再编辑。使用软件将 PDF 文档转...
    166
    2023-09-29
    pdf 格式转换 word java
  • java将excel转为pdf
    在Java中,可以使用Apache POI库处理Excel文件,以及使用iText库将Excel文件转换为PDF格式。 Apache POI是一个Java库,它允许Java开发人员处理Microsoft Office格式的文件,包...
    935
    2023-09-29
    java excel pdf
  • Java中怎么将html转为pdf
    近年来,随着数字化进程的不断推进,电子化文件的需求也越来越高。在实际工作中,我们常常需要将 HTML 文件转换为 PDF 文件,在此过程中需要使用到 Java 编程技术。本文将从以下三个方面介绍 HTML 转 PDF 的 Java 实现方法...
    426
    2023-09-29
  • Java怎么将Excel转为PDF格式
    本篇内容主要讲解“Java怎么将Excel转为PDF格式”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java怎么将Excel转为PDF格式”吧!本文将介绍在程序中如何将Excel工作簿转为PD...
    297
    2023-09-29
  • Python中怎么将Office文件转为PDF
    这篇文章将为大家详细讲解有关Python中怎么将Office文件转为PDF,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。安装 win32com在实战之前,需要安装 Python 的 win3...
    379
    2023-09-29
  • 将Word转为带书签的PDF
    要将Word转为带书签的PDF,可以按照以下步骤操作:1. 打开Word文档,确保文档中有适当的标题和书签,以便后续生成PDF时可以...
    237
    2023-09-29
    Word
  • C#怎么将PDF转为其他格式
    本篇内容介绍了“C#怎么将PDF转为其他格式”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!必要步骤:步骤一:dll文件获取及导入。方法1.通...
    789
    2023-09-29
  • html怎么转为pdf
    随着互联网时代的到来,人们已经开始习惯使用网络进行信息传输和数据交换。在网络文档的阅读和传输中,HTML(Hypertext Markup Language)已经成为一种常用的标记语言。但有时候我们需要将HTML文档转换为PDF(Porta...
    678
    2023-09-29
  • php怎么将毫秒转为分钟
    PHP是一种非常流行的编程语言,常用于Web开发和服务器端编程。在编写Web应用程序时,时间是一个非常重要的因素。经常需要从数据库中检索或记录时间戳,或者计算时间差等等。在PHP中,处理时间戳的操作非常方便。本文将讨论如何将毫秒转换为分钟。...
    903
    2023-09-29
    php
  • Java怎么实现PDF转为线性PDF
    这篇文章主要介绍“Java怎么实现PDF转为线性PDF”,在日常操作中,相信很多人在Java怎么实现PDF转为线性PDF问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java怎么实现PDF转为线性PDF”的疑...
    416
    2023-09-29
  • 使用Java语言将XML转为PDF的方法
    可扩展标记语言(XML)文件是一种标准的文本文件,它使用特定的标记来描述文档的结构以及其他特性。通过将XML转换为PDF,能够便于文件传输及共享。本文,将介绍通过Java代码来实现该...
    205
    2023-09-29
    Java   XML转 PDF
  • 如何使用Java语言将XML转为PDF
    这篇文章主要介绍了如何使用Java语言将XML转为PDF的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇如何使用Java语言将XML转为PDF文章都会有所收获,下面我们一起来看看吧。可扩展标记语言(XML)文件是...
    844
    2023-09-29
  • 如何利用python将pdf文档转为word?
    1.前言 有些时候,我们需要将pdf文档转换为word文档进行处理,但市面上的一些pdf软件往往需要付费才能使用。那么作为一名技术人员,如何才能实现pdf转word自由? 2.准备工作 提前安装好py...
    733
    2023-09-29
    word python pdf
  • Python怎么将pdf转为图片?Python如何实现pdf文件转图片
    而pdf则是用来保存一些内容已经确定好的数据,因为pdf是无法直接修改内容的,所以也会经常将pdf转为图片来保存。本文就将会来介绍一下pdf转图片的方法,往下看看吧。 1.pdf转图片的话主要实现所需要的模块叫做PyMuPDF,它就是用来...
    712
    2023-09-29
    python Powered by 金山文档
  • php怎么将数组转为索引数组
    两种转换方法:1、使用array_values()函数将数组转为索引数组,会将原键名转为从0开始且以1递增的数字键名,语法“array_values($arr)”。2、定义一个空数组,利用foreach语句循环遍历原数组,在循环体中将原数组...
    918
    2023-09-29
    php数组 php
  • php怎么将数组转为json数据
    在php中,可以使用json_encode()函数来将数组转化为json格式数据,语法为“json_encode(数组变量,$options)”。json_encode()函数能对PHP变量进行JSON编码,如果转化成功则返回JSON格式数...
    447
    2023-09-29
    php php数组
  • php 怎么将数值转为日期格式
    php将数值转为日期格式的方法:1、创建一个php示例文件;2、通过“$time = (40847 – 25569) * 24*60*60;”方法获得秒数;3、通过“echo date('Y-m-d H:i:s', $tim...
    557
    2023-09-29
    日期 php 数值
  • php怎么将日期转为天数
    在PHP开发中,经常需要将日期转换为天数,以便进行日期的计算和处理。在这篇文章中,我们将介绍如何在PHP中使用不同的函数来实现日期到天数的转换。一、使用时间戳计算天数时间戳是指从1970年1月1日0时0分0秒起至现在所经过的秒数,通常用于处...
    785
    2023-09-29
    php php日期时间
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作