当前位置:主页 > 软件编程 > PHP代码 >

php将word转换为html格式代码分析

时间:2021-12-24 11:07:32 | 栏目:PHP代码 | 点击:

PHP将上传word文件,转化为Html格式,(多种转换方式)

1、通过PHPOffice

1: composer require phpoffice/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

from win32com import client as wc
import sys
def saveHtm():
    # 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、同时Offic API直接在网页显示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下不能使用

实例扩展:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>接收上传文件</title>
<?php
  $conn = @new COM("ADODB.Connection");
  $connstr = "DRIVER={Microsoft Access Driver (*.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( "Insert into $username(fname,file)values('$filename','$uploadfile')")or die("error");
?>
<?php
 //http://tieba.baidu.com/f?kz=13975389
 function word2html($wfilepath)
 {
   $word=new COM("Word.Application") or die("无法打开 MS Word");
   $word->visible = 1 ; 
   $word->Documents->Open($wfilepath)or die("无法打开这个文件");
   $htmlpath=substr($wfilepath,0,-4);
   $word->ActiveDocument->SaveAs($htmlpath,8);
   $word->quit(0);
 }
 print( "Word转html完成!" );
?>
</head>
<body>
</body>
</html>

您可能感兴趣的文章:

相关文章