PHP将上传word文件,转化为Html格式,(多种转换方式)
1、通过PHPOffice
1:composerrequirephpoffice/phpword
/*通过composer安装PHPOffice
需要科学上网
或者用中国镜像:https://www.phpcomposer.com/
*/
2:安装成功可看到vendor文件夹
3:使用方法:
require'vendor/autoload.php';
$phpWord=\PhpOffice\PhpWord\IOFactory::load('./4.docx');
$xmlWriter=\PhpOffice\PhpWord\IOFactory::createWriter($phpWord,"HTML");
$xmlWriter->save('./ceshi.htm');
4:官方
/*
官方案例:https://phpword.readthedocs.io/en/latest/general.html
github:https://github.com/PHPOffice/PhpSpreadsheet
*/
2、通过python
fromwin32comimportclientaswc
importsys
defsaveHtm():
#print(wordPath)
#print(htmPath)
wordPath='E:/1.doc'
htmPath='E:/1.htm'
word=wc.Dispatch('Word.Application')
print(word)
doc=word.Documents.Open('E:/1.doc')
doc.SaveAs("E:/1.htm",8)//转化为htm格式
doc.SvaeAs("E:/1.fpt",17)
doc.Close()
word.Quit()
if__name__=='__main__':
saveHtm()
3、同时OfficAPI直接在网页显示word文档。
src="http://view.officeapps.live.com/op/view.aspx?src=公网上能访问的word文档地址">
例
src="http://view.officeapps.live.com/op/view.aspxsrc=newteach.pbworks.com%2Ff%2Fele%2Bnewsletter.docx"
4、通过com组件
需要所在宿主机,有offic的环境,Linxu下不能使用
实例扩展:
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=gb2312"/>
<title>接收上传文件</title>
<?php
$conn=@newCOM("ADODB.Connection");
$connstr="DRIVER={MicrosoftAccessDriver(*.mdb)};DBQ=".realpath("person.mdb");
$conn->Open($connstr);
$uploaddir='uploads/';
if(!is_dir($uploaddir)){
mkdir($uploaddir);
}
$filename=$_FILES['filename']['name'];
$filename=substr($_FILES['filename']["name"],0,strpos($_FILES['filename']["name"],"."));
echo$filename;
echo"<br>";
$uploadfile=$uploaddir.$filename.substr($_FILES['filename']["name"],strpos($_FILES['filename']["name"],"."));
//目录名.文件名.后缀名
echo$uploadfile;
echo"<br>";
$temploadfile=$_FILES['filename']['tmp_name'];
echo$temploadfile;
echo"<br>";
move_uploaded_file($temploadfile,$uploadfile);//移动文件
$path=$_SERVER['SCRIPT_FILENAME'];
$filepath=$_SERVER["PHP_SELF"];
$path=substr($path,0,strpos($path,$filepath));
echo$path;
echo"<br>";
echo$filepath;
$htmlpath=$path."/shiyan4/".$uploadfile;
echo"<br>";
echo$htmlpath;
word2html($htmlpath);
//$query=@mysql_query("Insertinto$username(fname,file)values('$filename','$uploadfile')")ordie("error");
?>
<?php
//http://tieba.baidu.com/f?kz=13975389
functionword2html($wfilepath)
{
$word=newCOM("Word.Application")ordie("无法打开MSWord");
$word->visible=1;
$word->Documents->Open($wfilepath)ordie("无法打开这个文件");
$htmlpath=substr($wfilepath,0,-4);
$word->ActiveDocument->SaveAs($htmlpath,8);
$word->quit(0);
}
print("Word转html完成!");
?>
</head>
<body>
</body>
</html>
|