php 如何实现在线预览文件如:txt,doc,pdf等

php 如何实现在线预览文件如:txt,doc,pdf等,第1张

第一种 预览

$file = fopen($path,"r")// 打开文件

// 输入文件标签

Header("Content-type: application/pdf")

// Header("filename:" . $file_name)

// 输出文件内容

echo fread($file,filesize($path))

fclose($file)

第二种下载

Header("Content-type: application/pdf")// 文件将被称为 downloaded.pdf

header("Content-Disposition:attachmentfilename='downloaded.pdf'")readfile($path)

第三种预览

Header("Content-type: application/pdf")// 文件将被称为 downloaded.pdf

header("Content-Disposition:inlinefilename='downloaded.pdf'")readfile($path)

第四种下载

$file = fopen($path,"r")// 打开文件

// 输入文件标签

Header("Content-type: application/octet-stream")

Header("Accept-Ranges: bytes")

Header("Accept-Length: ".filesize($path))

Header("Content-Disposition: attachmentfilename=" . $file_name)

// 输出文件内容

echo fread($file,filesize($path))

fclose($file)

目前程序编译语言有很多种,其中php是最为常见的一种编程语言。php读取word文档是很多朋友都想了解的,下面就由达内的老师为大家介绍一下。

?php

/*

*

必须将

php.ini

中的

com.allow_dcom

设为

true

*/

function

php_word($wordname,$htmlname,$content)

{

//获取链接地址

$url

=

$_server['http_host']

$url

=

"

$url

=

$url.$_server['php_self']

$url

=

dirname($url)."/"

//建立一个指向新com组件的索引

$word

=

new

com("word.application")

or

die("unable

to

instanciate

word")

//显示目前正在使用的word的版本号

echo

"loading

word,

v.

{$word-

version}"

//把它的可见性设置为0(假),如果要使它在最前端打开,使用1(真)

$word->visible

=

1

//---------------------------------读取word内容 *** 作

start-----------------------------------------

//打开一个word文档

$word->documents->open($url.$wordname)

//将filename.doc转换为html格式,并保存为html文件

$word->documents[1]->saveas(dirname(__file__)."/".$htmlname,8)

//获取htm文件内容并输出到页面

(文本的样式不会丢失)

$content

=

file_get_contents($url.$htmlname)

echo

$content

//获取word文档内容并输出到页面(文本的原样式已丢失)

$content=

$word->activedocument->content->text

echo

$content

//关闭与com组件之间的连接

$word->documents->close(true)

$word->quit()

$word

=

null

unset($word)

//---------------------------------新建立word文档 *** 作

start--------------------------------------

//建立一个空的word文档

$word->documents->add()

//写入内容到新建word

$word->selection->typetext("$content")

//保存新建的word文档

$word->documents[1]->saveas(dirname(__file__)."/".$wordname)

//关闭与com组件之间的连接

$word->quit()

}

php_word("tesw.doc","filename.html","写入word的内容")

?>

思路

这种类似百度文库的flash预览文档的东东,其主要思路如下:

将word/excel/ppt格式的文档,即office支持的主要文档格式通过OpenOffice转成pdf的插件,将文档先转成pdf格式。

通过swftools(http://www.swftools.org/)这个软件将pdf转成flash格式。

最后flash的显示,可以使用flexpaper,亦可以自己写一个显示flash格式的东东,然后成功显示多种格式的文档,即类似百度文库的实现。

pdf的预览是将pdf的每一页转为图片,对应的放大、缩小均是对图片直接进行 *** 作,此时放大、缩小会有失真的情况出现。

其他例如work/excel/ppt等文档,均是转为了html页面,是的在线预览时可以选中文字,图片等。

具体 很麻烦 需要 详细 请 私信!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12025236.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存