读取word文档内容

word文档结构
Document:文档
Paragraph:段落
Run:文字块
例:只是第二段,(Run1)加粗 (Run2),(Run3)斜体(Run4) 共有4各Run

python-docx获取段落Paragraph
from docx import Document
doc=Document(‘XXX.docx’)
print(doc.paragraphs)
#doc.paragraphs得到一个列表,包含了每个段落实例
for paragraph in doc.paragraphs:
print(paragraphs.text)
#paragraphs.text得到该段落的文字内容
paragraph=doc.paragraphs[1]
runs=paragraph.runs
#paragraph.runs得到一个列表,包含每个文字块
print(runs)
for run in runs:
print(run.text)
#run.text得到该文字的文字内容
学习链接:https://www.bilibili.com/video/BV197411f7Rp

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在C++中读取Word文档内容,可以使用Microsoft Office自带的COM接口,通过COM接口调用Word应用程序的API来实现。具体步骤如下: 1. 引用Word应用程序库文件 在Visual Studio中,可以通过添加引用来引用Word应用程序库文件。在Solution Explorer中右键点击项目名称,选择"Add Reference",在COM中找到"Microsoft Word xx.x Object Library",选择后点击"Add"添加引用。 2. 创建Word应用程序对象 通过COM接口创建Word应用程序对象,并打开指定的Word文档。 ``` #include <windows.h> #include <ole2.h> #include <oleauto.h> #include <atlbase.h> #include <atlcom.h> #include <atlctl.h> #include <atlwin.h> #include <atlstr.h> #include <comutil.h> #include <msword.olb> using namespace Word; _ApplicationPtr pApp; // Word应用程序对象指针 DocumentsPtr pDocs; // Word文档对象指针 _DocumentPtr pDoc; // 操作的Word文档对象指针 // 初始化COM库 HRESULT hr = CoInitialize(NULL); // 创建Word应用程序对象 hr = pApp.CreateInstance(__uuidof(Application)); // 打开Word文档 hr = pApp->Documents->Open(_bstr_t("C:\\test.docx"), vtMissing, vtMissing, vtMissing, vtMissing, vtMissing, vtMissing, vtMissing, vtMissing, vtMissing, vtMissing, vtMissing, vtMissing, vtMissing, vtMissing, vtMissing); ``` 3. 读取Word文档内容 通过Word文档对象的API读取文档内容,例如,可以获取文档的段落、表格、图片等信息。 ``` // 获取文档段落数 long paraCount = pDoc->Paragraphs->Count; // 读取文档某个段落的文本内容 ParagraphPtr pPara = pDoc->Paragraphs->Item(1); _bstr_t paraText = pPara->Range->Text; // 获取文档表格数 long tableCount = pDoc->Tables->Count; // 读取文档某个表格的内容 TablePtr pTable = pDoc->Tables->Item(1); int rowCount = pTable->Rows->Count; int colCount = pTable->Columns->Count; for (int i = 1; i <= rowCount; i++) { for (int j = 1; j <= colCount; j++) { CellPtr pCell = pTable->Cell(i, j); _bstr_t cellText = pCell->Range->Text; } } // 获取文档图片数 long shapeCount = pDoc->Shapes->Count; for (int i = 1; i <= shapeCount; i++) { ShapePtr pShape = pDoc->Shapes->Item(i); if (pShape->Type == msoPicture) { // 处理图片 } } ``` 4. 释放资源 完成操作后,需要及时释放资源。 ``` // 关闭文档 pDoc->Close(vtMissing, vtMissing, vtMissing); // 退出Word应用程序 pApp->Quit(); // 释放COM对象 pDoc.Release(); pDocs.Release(); pApp.Release(); CoUninitialize(); ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值