Chr*_*and 6 php jpeg ms-office
我正在构建一个应用程序,人们可以上传文件并与其他人共享.我们要做的部分工作是允许人们在线预览文件.
是否有一种直接的方法来为文档中的前X个页面生成jpgs?然后我们可以将这些jpgs放在网页中,允许用户预览.
我已经看过在服务器上安装开放式办公室,但希望有一个PHP库可以做同样的工作.
有人可以帮忙吗?
干杯
顺便说一句,不一定是jpg,任何图像文件都可以(实际上甚至pdf都可以)
尝试使用 com 类:
您可以使用 com 类将 Office 文件转换为 jpg
COM 类参考:-
https://www.php.net/manual/en/class.com.php
或者下面的代码是将 ppt 转换为 jpg 格式
<html>
<head>
<title>ShotDev.Com Tutorial</title>
</head>
<body>
<?
$ppApp = new COM("PowerPoint.Application");
$ppApp->Visible = True;
$strPath = realpath(basename(getenv($_SERVER["SCRIPT_NAME"]))); // C:/AppServ/www/myphp
$ppName = "MySlides.ppt";
$FileName = "MyPP";
//*** Open Document ***//
$ppApp->Presentations->Open(realpath($ppName));
//*** Save Document ***//
$ppApp->ActivePresentation->SaveAs($strPath."/".$FileName,17); //'*** 18=PNG, 19=BMP **'
//$ppApp->ActivePresentation->SaveAs(realpath($FileName),17);
$ppApp->Quit;
$ppApp = null;
?>
PowerPoint Created to Folder <b><?=$FileName?></b>
</body>
</html>
---------------------------
Or try this :-
$powerpnt = new COM("powerpoint.application") or die("Unable to instantiate Powerpoint");
$presentation = $powerpnt->Presentations->Open(realpath($file), false, false, false) or die("Unable to open presentation");
foreach($presentation->Slides as $slide)
{
$slideName = "Slide_" . $slide->SlideNumber;
$exportFolder = realpath($uploadsFolder);
$slide->Export($exportFolder."\\".$slideName.".jpg", "jpg", "600", "400");
}
$powerpnt->quit();
Run Code Online (Sandbox Code Playgroud)
?>
或将word转换为jpg
<?php
// starting word
$word = new COM("word.application") or die("Unable to instantiate Word");
echo "Loaded Word, version {$word->Version}\n";
//bring it to front
$word->Visible = 1;
//open an empty document
$word->Documents->Add();
//do some weird stuff
$word->Selection->TypeText("This is a test...");
$word->Documents[1]->SaveAs("Useless test.doc");
//closing word
$word->Quit();
//free the object
$word = null;
?>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15522 次 |
| 最近记录: |