OpenOffice.org 是一套跨平台的办公室软件套件,能在Windows、Linux、MacOS X (X11)和 Solaris 等操作系统上执行。它与各个主要的办公室软件套件兼容。OpenOffice.org 是免费软件,任何人都可以免费下载、使用及推广它。

一、Openoffice下载

目前最新版本为:4.1.14

下载链接:https://www.openoffice.org/download/index.html

二、windows下启动OpenOffice

■设置权限

1.cmd 运行Dcomcnfg.exe->组件服务->计算机->我的电脑->DCOM配置->OpenOffice Service Manager
2.鼠标右击->属性,选择安全 ,和标识这2个配置。标识配置=>交互式用户,安全=>自定义,全部添加Everyone权限。
点击编辑->添加Everyone权限就行了
3.启动OpenOffice服务命令:
cd C:\Program Files (x86)\OpenOffice 4\program
soffice -headless -accept=”socket,host=127.0.0.1,port=8100;urp;” -nofirststartwizard

■配置php.ini

php.ini 开启 com.allow_dcom = true
php.ini 添加 extension=php_com_dotnet.dll

三、php实现excel转pdf

public function printPdf($input_url1,$output_url1,$output_url2 = null){
	if(strtoupper(substr(PHP_OS,0,3))==='WIN'){
		//windows
		require_once './application/controllers/pdf.php';
		$pdf = new office2pdf();
		$pdf->run($input_url1,$output_url1);
	}else{
		//linux
		if(!empty($output_url2)){
			$command = '/usr/java/jdk1.8.0_271/bin/java -jar /usr/local/src/openoffice/jodconverter-2.2.2/lib/jodconverter-cli-2.2.2.jar ' . $input_url1 . ' ' . $output_url1 . ' ;mv ' . $output_url1 . ' "' . $output_url2 . '"  > /dev/null 2>&1';
			// $return_var返回值0或1,如果返回0则执行成功,返回1则执行失败
			exec($command, $output, $return_var);
			if ($return_var != 0) {
				throw new \Exception("PDFファイルを作成しない");
			}
		}else{
			$command = "/usr/java/jdk1.8.0_271/bin/java -jar /usr/local/src/openoffice/jodconverter-2.2.2/lib/jodconverter-cli-2.2.2.jar $input_url1 $output_url1";
			// $return_var返回值0或1,如果返回0则执行成功,返回1则执行失败
			try{
				exec($command, $output, $return_var);
				if ($return_var != 0) {
					throw new \Exception("生成PDF失败");
				}
			}catch(Exception $e){

			}
		   
		}
	}
}

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注