PHP-有什么方法可以直接在页面中显示上传的word文档,可以不要完全一致

PHP-有什么方法可以直接在页面中显示上传的word文档,可以不要完全一致

瑾兮 发布于 2017-04-05 字数 68 浏览 1243 回复 4

php是否有办法直接显示,或者是否可以通过c#转换后能在网页中显示

如果你对这篇文章有疑问,欢迎到本站 社区 发帖提问或使用手Q扫描下方二维码加群参与讨论,获取更多帮助。

扫码加入群聊

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

甜柠檬 2017-08-15 4 楼

之前接触过类似的项目可行性分析,提到过一种技术,FlashPaper。可以将很多类型的文档转成SWF格式然后在浏览器中通过FLASH插件浏览。

晚风撩人 2017-07-22 3 楼

1.如果真的是Office程序嵌入在页面中,你可以使用Office Web Apps
http://office.microsoft.com/zh-cn/web-apps/

也可以使用Word插件,如DsoFramer(开源),不过可能不能支持所有浏览器。

2.如果只是想要显示word的内容,可以像QQMail那样简单转换成HTML之后显示。线下的word文档也可以使用word程序转换。这里提供一段之前用过的代码,仅供参考,原作者不详。

/*****************************************************************
This approach uses detection of NUL (chr(00)) and end line (chr(13))
to decide where the text is:
- divide the file contents up by chr(13)
- reject any slices containing a NUL
- stitch the rest together again
- clean up with a regular expression
*****************************************************************/

function parseWord($userDoc)
{
$fileHandle = fopen($userDoc, "r");
$line = @fread($fileHandle, filesize($userDoc));
$lines = explode(chr(0x0D),$line);
$outtext = "";
foreach($lines as $thisline)
{
$pos = strpos($thisline, chr(0x00));
if (($pos !== FALSE)||(strlen($thisline)==0))
{
} else {
$outtext .= $thisline." ";
}
}
$outtext = preg_replace("/[^a-zA-Z0-9s,.-nrt@/_()]/","",$outtext);
return $outtext;
}

$userDoc = "cv.doc";

$text = parseWord($userDoc);
echo $text;

?>

偏爱自由 2017-04-17 2 楼

不考虑和谐的问题,最简单的办法是用Google Docs直接嵌入,只需要输入Word文档网址即可。这里有嵌入生成工具:https://docs.google.com/viewer?pli=1

晚风撩人 2017-04-12 1 楼

可以直接把doc转化成html,然后输出这个html就可以了。

doc到html:调用poi是wordToHtmlConverter类,可以很简单的实现
参考

docx到html:docx4j具体实现也是很方便的。

说明:因为poi对于docx的支持还不是太完善,所以用doc4j代替。

一个通用方法,可以把doc/docx/xls/xlsx等直接转化成html,然后再页面中显示。
使用libreoffice 或 openoffice的 headless模式,实现如下:

libreoffice3.6 --headless --convert-to html 123.doc