很多站长朋友们都不太清楚php读取docx字数,今天小编就来给大家整理php读取docx字数,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 office2016如何把docx文件的字数统计信息提取出来? 2、 PHP怎样读取word文档实现在线预览,并且不受操作系统的限制,利用COM组件的话太受限了 3、 如何使用python或R或c或dos命令,获取docx或doc格式文档的字数信息? 4、 利用python将docx文件转为txt 5、 word图片和文字文混排内容怎么用python读取写入 6、 用php 读取word 文档内容 比如:word文档为试题等等 office2016如何把docx文件的字数统计信息提取出来?百度了下就找到了:
这是行数:
其它你想要的值:
字符数:
代码,方便你复制测试:
ActiveDocument.ComputeStatistics(wdStatisticCharacters)
百度这样搜索,限定在club.excelhome.net网站内搜索,这个是国内最历史悠久的VBA论坛,几乎没有找不到的代码:
OK,授人以鱼并授之以渔,Over。
PHP怎样读取word文档实现在线预览,并且不受操作系统的限制,利用COM组件的话太受限了你可以尝试一下PHPWord,用它可以把任意word文件转换为html网页,这样任何人都可以在浏览器里查看你的word文件了。
PHPWord
尽管目前只是测试版但是功能还是很强劲!完美兼容MF Word并且支持打开.doc or.docx。可以插入文本,文本符,分页,页眉/页脚,表格,列表中的元素,超链接等等。
地址:
如何使用python或R或c或dos命令,获取docx或doc格式文档的字数信息?在windows下你可以调用win32com.client来读取doc文件,然后导出text到变量,用count来统计字数。但结果肯定跟Word统计的字数不一样。
利用python将docx文件转为txt背景:工作中需要将文件夹下的若干word文件docx转换为对应txt文本格式
因此需要将docx中文本读取出来,然后保存为txt格式即可
需要的python模块为 python-docx : , 导入模块时候导入docx
(只能读取.docx文件,不能读取.doc文件)
注意,在PyPi里还有一个叫docx的库,已经停止更新,不建议使用)
上面的方法只能读取docx文件,如果读取doc会报错
结果报错:docx.opc.exceptions.PackageNotFoundError: Package not found。还是无法识别doc
“改变拓展名并没有改变其编码方式,因此无法读取文本内容,需将doc文件用word另存为docx后再用python-docx读取其内容”
对于要转换的doc文件,网上的资料都是使用win32,需要安装 pypiwin32
通过上面的方法,有时可以直接将doc转换为txt文件,有时候会报错。
这里我们可以考虑将doc文件直接转换为docx然后再通过上面的方法读取为txt,如果手动将doc修改为txt或者docx,打开文件会显示乱码,但是可以用其提供的SaveAs方法将.doc文档利用手动的方式“另存为”.docx文档,就能够成功打开转化后的.docx文档,
doc.SaveAs(tmp +'.docx', 16)
其中16的含义如下:
利用win32com接口直接调用office API,好处是简单、兼容性好,只要office能处理的,python都可以处理,处理出来的结果和office word里面“另存为”一致。
下面是office 2007支持的全部文件格式对应表:
wdFormatDocument = 0
wdFormatDocument97 = 0
wdFormatDocumentDefault = 16
wdFormatDOSText = 4
wdFormatDOSTextLineBreaks = 5
wdFormatEncodedText = 7
wdFormatFilteredHTML = 10
wdFormatFlatXML = 19
wdFormatFlatXMLMacroEnabled = 20
wdFormatFlatXMLTemplate = 21
wdFormatFlatXMLTemplateMacroEnabled = 22
wdFormatHTML = 8
wdFormatPDF = 17
wdFormatRTF = 6
wdFormatTemplate = 1
wdFormatTemplate97 = 1
wdFormatText = 2
wdFormatTextLineBreaks = 3
wdFormatUnicodeText = 7
wdFormatWebArchive = 9
wdFormatXML = 11
wdFormatXMLDocument = 12
wdFormatXMLDocumentMacroEnabled = 13
wdFormatXMLTemplate = 14
wdFormatXMLTemplateMacroEnabled = 15
wdFormatXPS = 18
照着字面意思应该能对应到相应的文件格式。
1、新建或打开文件。这个比较简单用docx的Document类,若指定路径则是打开文档;若没有指定路径则是新建文档
2、保存文件。有打开,就有保存。用Document类的save方法,其中参数是保存的文件路径,或者要保存的文件流。一般指定路径即可。
doc.save(path_or_stream)
3、对象集合。python-docx包含了word文档的相关对象集合。
4、插入段落。段落是word最基本的对象之一。
5、新增样式。这个帮助文档里面说得不仔细,而且还是英文的。我手头上的项目用到这个,就自己琢磨出怎么使用,如下。
6、应用字符样式。字符自然是在段落里面的,可以采用下面方法给段落追加文字和设置字符样式。
#插入一个空白段落
p = doc.add_paragraph('')
p.add_run('123', style="Heading 1 Char")
p.add_run('456')
p.add_run('789', style="Heading 2 Char")
#这样一个段落就应用了两个字符样式,中间“456”就没应用样式
printp.text#输出结果是u'123456789' 也还是连续的
7、设置字体。当然可以不用通过设置样式对某些字进行设置,也可以直接设置。
p = doc.add_paragraph('')
r = p.add_run('123')
r.font.bold =True#加粗
r.font.italic =True#倾斜 等等...
8、表格操作。表格也是经常用到的一种对象类型。
word图片和文字文混排内容怎么用python读取写入Python可以利用python-docx模块处理word文档,处理方式是面向对象的。也就是说python-docx模块会把word文档,文档中的段落、文本、字体等都看做对象,对对象进行处理就是对word文档的内容处理。
二,相关概念
如果需要读取word文档中的文字(一般来说,程序也只需要认识word文档中的文字信息),需要先了解python-docx模块的几个概念。
1,Document对象,表示一个word文档。
2,Paragraph对象,表示word文档中的一个段落
3,Paragraph对象的text属性,表示段落中的文本内容。
三,模块的安装和导入
需要注意,python-docx模块安装需要在cmd命令行中输入pip install python-docx,如下图表示安装成功(最后那句英文Successfully installed,成功地安装完成,十分考验英文水平。)
注意在导入模块时,用的是import docx。
也真是奇了怪了,怎么安装和导入模块时,很多都不用一个名字,看来是很有必要出一个python版本的模块管理程序python-maven了,本段纯属PS。
四,读取word文本
在了解了上面的信息之后,就很简单了,下面先创建一个D:\temp\word.docx文件,并在其中输入如下内容。
然后写一段程序,代码及输出结果如下:
#读取docx中的文本代码示例
import docx
#获取文档对象
file=docx.Document("D:\\temp\\word.docx")
print("段落数:"+str(len(file.paragraphs)))#段落数为13,每个回车隔离一段
#输出每一段的内容
for para in file.paragraphs:
print(para.text)
#输出段落编号及段落内容
for i in range(len(file.paragraphs)):
print("第"+str(i)+"段的内容是:"+file.paragraphs[i].text)
运行结果:
================ RESTART: F:/360data/重要数据/桌面/学习笔记/readWord.py ================
段落数:13
啊
我看见一座山
雄伟的大山
真高啊
啊
这座山是!
真的很高!
第0段的内容是:啊
第1段的内容是:
第2段的内容是:我看见一座山
第3段的内容是:
第4段的内容是:雄伟的大山
第5段的内容是:
第6段的内容是:真高啊
第7段的内容是:
第8段的内容是:啊
第9段的内容是:
第10段的内容是:这座山是!
第11段的内容是:
第12段的内容是:真的很高!
>>>
总结
以上就是本文关于Python读取word文本操作详解的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!
用php 读取word 文档内容 比如:word文档为试题等等这个是通过调用com组件的方式操作word的
<?
// 建立一个指向新COM组件的索引
$word = new COM("word.application") or die("Can't start Word!");
// 显示目前正在使用的Word的版本号
//echo “Loading Word, v. {$word->Version}<br>”;
// 把它的可见性设置为0(假),如果要使它在最前端打开,使用1(真)
// to open the application in the forefront, use 1 (true)
//$word->Visible = 0;
//打?一个文档
$word->Documents->OPen("d:\myweb\muban.doc");
//读取文档内容
$test= $word->ActiveDocument->content->Text;
echo $test;
echo "<br>";
//将文档中需要换的变量更换一下
$test=str_replace("<{变量}>","这是变量",$test);
echo $test;
$word->Documents->Add();
// 在新文档中添加文字
$word->Selection->TypeText("$test");
//把文档保存在目录中
$word->Documents[1]->SaveAs("d:/myweb/comtest.doc");
// 关闭与COM组件之间的连接
$word->Quit();
?>
关于php读取docx字数的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php读取docx字数 phpword 读取word的详细内容...