Heim > Backend-Entwicklung > PHP-Tutorial > php调用openoffice将office转pdf

php调用openoffice将office转pdf

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Freigeben: 2016-06-06 20:44:31
Original
1533 Leute haben es durchsucht

系统环境为wamp+win7,安装好了openoffice,已将openoffice service manneger启动和激活权限设置为everyone 全部允许。然后使用以下代码将doc转为pdf

<code>set_time_limit(0);
function MakePropertyValue($name, $value, $osm)
{
    $oStruct        = $osm->Bridge_GetStruct
            ("com.sun.star.beans.PropertyValue");
    $oStruct->Name  = $name;
    $oStruct->Value = $value;
    return $oStruct;
}

function word2pdf($doc_url, $output_url)
{
    $osm         = new COM("com.sun.star.ServiceManager")
            or die("Please be sure that OpenOffice.org 
is installed.n");
    $args        = array(MakePropertyValue("Hidden", true, $osm));
    $oDesktop    = $osm->createInstance("com.sun.star
.frame.Desktop");
    $oWriterDoc  = $oDesktop->loadComponentFromURL
            ($doc_url, "_blank", 0, $args);
    $export_args = array(MakePropertyValue
                ("FilterName", "writer_pdf_Export", $osm));
    $oWriterDoc->storeToURL($output_url, $export_args);
    $oWriterDoc->close(true);
}

$output_dir  = "D:/wamp/www/output/";
$doc_file    = "D:/wamp/www/test.doc";
$pdf_file    = "test.pdf";
$output_file = $output_dir . $pdf_file;
$doc_file    = "file:///" . $doc_file;
$output_file = "file:///" . $output_file;
word2pdf($doc_file, $output_file);
</code>
Nach dem Login kopieren
Nach dem Login kopieren

测试报错:

Fatal error: Uncaught exception 'com_exception' with message 'Failed to >create COM object `com.sun.star.ServiceManager' in >E:\wamp\www\openoffice.php on line 12

找了很多相关的解决方案,要么是用java写的,要么资料不全。希望得到详细的解决方案,包括详细设置。

回复内容:

系统环境为wamp+win7,安装好了openoffice,已将openoffice service manneger启动和激活权限设置为everyone 全部允许。然后使用以下代码将doc转为pdf

<code>set_time_limit(0);
function MakePropertyValue($name, $value, $osm)
{
    $oStruct        = $osm->Bridge_GetStruct
            ("com.sun.star.beans.PropertyValue");
    $oStruct->Name  = $name;
    $oStruct->Value = $value;
    return $oStruct;
}

function word2pdf($doc_url, $output_url)
{
    $osm         = new COM("com.sun.star.ServiceManager")
            or die("Please be sure that OpenOffice.org 
is installed.n");
    $args        = array(MakePropertyValue("Hidden", true, $osm));
    $oDesktop    = $osm->createInstance("com.sun.star
.frame.Desktop");
    $oWriterDoc  = $oDesktop->loadComponentFromURL
            ($doc_url, "_blank", 0, $args);
    $export_args = array(MakePropertyValue
                ("FilterName", "writer_pdf_Export", $osm));
    $oWriterDoc->storeToURL($output_url, $export_args);
    $oWriterDoc->close(true);
}

$output_dir  = "D:/wamp/www/output/";
$doc_file    = "D:/wamp/www/test.doc";
$pdf_file    = "test.pdf";
$output_file = $output_dir . $pdf_file;
$doc_file    = "file:///" . $doc_file;
$output_file = "file:///" . $output_file;
word2pdf($doc_file, $output_file);
</code>
Nach dem Login kopieren
Nach dem Login kopieren

测试报错:

Fatal error: Uncaught exception 'com_exception' with message 'Failed to >create COM object `com.sun.star.ServiceManager' in >E:\wamp\www\openoffice.php on line 12

找了很多相关的解决方案,要么是用java写的,要么资料不全。希望得到详细的解决方案,包括详细设置。

Verwandte Etiketten:
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Aktuelle Ausgaben
PHP-Datenerfassung?
Aus 1970-01-01 08:00:00
0
0
0
PHP-Erweiterung intl
Aus 1970-01-01 08:00:00
0
0
0
Wie man PHP gut lernt
Aus 1970-01-01 08:00:00
0
0
0
Mehrere PHP-Versionen
Aus 1970-01-01 08:00:00
0
0
0
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage