在不启动 MSWord 的情况下读取 .doc 文件

2023-11-25

我正在尝试打开 .doc 文件并读取其内容。但我找不到任何方法可以在不启动 MSWord 的情况下执行此操作。

现在我有以下代码:

Microsoft.Office.Interop.Word.Application app = new Microsoft.Office.Interop.Word.Application();
object nullObject = System.Reflection.Missing.Value;
object file = @"C:\doc.doc";
Microsoft.Office.Interop.Word.Document doc = app.Documents.Open(ref file, ref nullObject, ref nullObject,
         ref nullObject, ref nullObject, ref nullObject, ref nullObject, ref nullObject, ref nullObject,
         ref nullObject, ref nullObject, ref nullObject, ref nullObject, ref nullObject, ref nullObject,
         ref nullObject);
doc.ActiveWindow.Selection.WholeStory();
doc.ActiveWindow.Selection.Copy();
IDataObject data = Clipboard.GetDataObject();
string text = data.GetData(DataFormats.Text).ToString();
doc.Close(ref nullObject, ref nullObject, ref nullObject);
app.Quit(ref nullObject, ref nullObject, ref nullObject);

但是它启动了MSWord,有什么解决方案可以在不启动的情况下完成它吗?


两种可能性:要么使用微软的规范为 .doc 格式编写自己的解析器,或使用现有的库(例如,来自Aspose)。除非你有几年的空闲时间来完成这项任务,否则后者显然是正确的选择。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在不启动 MSWord 的情况下读取 .doc 文件 的相关文章

  • 迭代变量并查找特定类型实例的技术

    我想迭代进程中内存中的变量 通过插件动态加载 并查找特定类型的实例 以前我可以找到特定类型 或内存中的所有类型 我可以创建类型的实例 我可以获取作为不同类型的字段包含的实例 但我无论如何都不知道只是 搜索 特定类型的实例 一种方法是使用 W
  • 以编程方式检查页面是否需要基于 web.config 设置进行身份验证

    我想知道是否有一种方法可以检查页面是否需要基于 web config 设置进行身份验证 基本上如果有这样的节点
  • Clang 编译器 (x86):80 位长双精度

    我正在尝试在 x86 Windows 平台上使用本机 80 位长双精度 海湾合作委员会选项 mlong double 80 https gcc gnu org onlinedocs gcc x86 Options html似乎不适用于 cl
  • 构造函数中显式关键字的使用

    我试图了解 C 中显式关键字的用法 并查看了这个问题C 中的explicit关键字是什么意思 https stackoverflow com questions 121162 但是 那里列出的示例 实际上是前两个答案 对于用法并不是很清楚
  • 对齐 GridView 中的行值

    我需要在 asp net 3 5 中右对齐 gridview 列中的值 我怎样才能做到这一点
  • JSON 数组到 C# 列表

    如何将这个简单的 JSON 字符串反序列化为 C 中的列表 on4ThnU7 n71YZYVKD CVfSpM2W 10kQotV 这样 List
  • 从多个类访问串行端口

    我正在尝试使用串行端口在 arduino 和 C 程序之间进行通信 我对 C 编程有点陌生 该程序有多种用户控制形式 每一个都需要访问串口来发送数据 我需要做的就是从每个类的主窗体中写入串行端口 我了解如何设置和写入串行端口 这是我的 Fo
  • 检查算术运算中的溢出情况[重复]

    这个问题在这里已经有答案了 可能的重复 检测 C C 中整数溢出的最佳方法 https stackoverflow com questions 199333 best way to detect integer overflow in c
  • 当前的 c++ 工作草案与当前标准有何不同

    通过搜索该标准的 PDF 版本 我最终找到了这个链接C 标准措辞草案 http www open std org jtc1 sc22 wg21 docs papers 2012 n3376 pdf从 2011 年开始 我意识到我可以购买最终
  • C 语言中 =+(等于加)是什么意思?

    我碰到 与标准相反 今天在一些 C 代码中 我不太确定这里发生了什么 我在文档中也找不到它 In ancientC 版本 相当于 它的残余物与最早的恐龙骨头一起被发现 例如 B 引入了广义赋值运算符 使用x y to add y to x
  • Azure 事件中心 - 按顺序接收事件

    我使用下面的代码从 Azure Event Hub 接收事件 https learn microsoft com en us azure event hubs event hubs dotnet framework getstarted s
  • 无法将类型“System.IO.Stream”隐式转换为“Java.IO.InputStream”

    我提到了一些类似的问题 但没有一个涉及IO 当我使用时 我在java中使用了相同的代码Eclipse 那次就成功了 但现在我尝试在中使用这段代码Mono for Android C 它不起作用 我正在尝试运行此代码来创建一个InputStr
  • 如何重置捕获像素的值

    我正在尝试创建一个 C 函数 该函数返回屏幕截图位图中每四个像素的 R G 和 B 值 这是我的代码的一部分 for int ix 4 ix lt 1366 ix ix 4 x x 4 for int iy 3 iy lt 768 iy i
  • 生产代码中的 LRU 实现

    我有一些 C 代码 需要使用 LRU 技术实现缓存替换 目前我知道两种实现LRU缓存替换的方法 每次访问缓存数据时使用时间戳 最后比较替换时的时间戳 使用缓存项的堆栈 如果最近访问过它们 则将它们移动到顶部 因此最后底部将包含 LRU 候选
  • 在 C 中使用 GNU automake 中的解析器

    我是 GNU autotools 的新手 在我的项目中使用了 lex 和 yacc 解析器 将它们作为 makefile am 中的源代码会产生以下错误 配置 in AC CHECK PROGS YACC bison yacc none i
  • 如何一步步遍历目录树?

    我发现了很多关于遍历目录树的示例 但我需要一些不同的东西 我需要一个带有某种方法的类 每次调用都会从目录返回一个文件 并逐渐遍历目录树 请问我该怎么做 我正在使用函数 FindFirstFile FindNextFile 和 FindClo
  • 将代码拆分为标头/源文件

    我从 Asio 的示例页面中获取了以下代码 class tcp connection public boost enable shared from this
  • 是否可以有一个 out ParameterExpression?

    我想定义一个 Lambda 表达式out范围 有可能做到吗 下面是我尝试过的 C Net 4 0 控制台应用程序的代码片段 正如您在 procedure25 中看到的 我可以使用 lambda 表达式来定义具有输出参数的委托 但是 当我想使
  • 剪贴板在 .NET 3.5 和 4 中的行为有所不同,但为什么呢?

    我们最近将一个非常大的项目从 NET Framework 3 5 升级到 4 最初一切似乎都工作正常 但现在复制粘贴操作开始出现错误 我已经成功制作了一个小型的可复制应用程序 它显示了 NET 3 5 和 4 中的不同行为 我还找到了一种解
  • 转到定义:“无法导航到插入符号下的符号。”

    这个问题的答案是社区努力 help privileges edit community wiki 编辑现有答案以改进这篇文章 目前不接受新的答案或互动 我今天突然开始在我的项目中遇到一个问题 单击 转到定义 会出现一个奇怪的错误 无法导航到

随机推荐

  • app.UseErrorHandler() 可以访问错误详细信息吗?

    在我的 MVC4 应用程序中 我覆盖了 global asax csApplication Error object sender EventArgs e 我可以在哪里提取exception statusCode and requested
  • gcloud docker Push 403 禁止

    我正在尝试将 docker 映像推送到 eu gcr io 但收到 403 Forbidden gcloud docker push eu gcr io
  • Schema.org 中网页结构的隐含性

    在阅读了数千篇帖子 问题 博客文章和意见之后 我仍然对如何使用微数据标记网页感到有点困惑 如果微数据的主要目的是帮助搜索引擎更好地理解网页的内容 并且隐式假设网页 那么在 body 元素中从 itemtype Webpage 开始 然后继续
  • 模板类特化的模板方法

    这是我的代码 template
  • 泛型的 JSON 序列化

    我有一堂课 看起来像这样 public class MyData IList
  • Google Chrome 扩展程序的 Paypal 按钮

    我正在尝试向我的 google chrome 扩展添加一个捐赠按钮 因为我喜欢钱 我遇到了麻烦 因为 Chrome 扩展程序尝试在 popup html 窗口中打开 paypal 创建的捐赠按钮 当我单击该按钮时 我的扩展程序会重新启动 并
  • 不带逗号的 NumberFormat 文本字段

    我有一个JFormattedTextField我想接受 5 位数字范围内的数字 以下代码可以正确运行 myNumberBox new JFormattedTextField NumberFormat getIntegerInstance 但
  • Python:以 Value 作为字典获取前 n 个键

    我有一本字典 比如 data sachin score 15000 out 100 Dhoni score 8000 out 80 Shewag score 12000 out 150 我想要两名得分最高的球员 所以我尝试过 key key
  • 将工具提示与 link_to 结合使用 (Ruby on Rails 3.2.3)

    我已经成功使用类似于以下的代码创建了文本工具提示 a href title something text on page a 不过 我想使用 link to 命令为菜单中定义的链接提供工具提示 我已经包含了我希望出现工具提示的声明 li i
  • Perl 脚本可以修改自身吗?

    我想让我的脚本在内部跟踪最后一次修订日期作为评论 这可能吗 在我看来 它需要获取日期 然后打开其脚本文件进行追加 写入数据并保存文件 谢谢 Everone 非常好的答案 根据 GreenMatt 留下的代码片段 我将其放在一起 usr bi
  • 为 UIView 及其所有子视图着色

    有什么方法可以给 UIView 着色吗 不是背景颜色 而是整个 UIView 及其所有子视图 例如 带有星星旋转动画的 UIView 即 UIView 形状不断变化 最终我创建了一个 UIView 类别 可以对 UIView 进行着色 没有
  • Laravel 本地化以及来自 Jetstream / Fortify 的路线

    我有一个新的 Laravel 项目要处理 我们希望以多种语言提供它 我从 JetStream 开始了这个项目 身份验证等路由由 JetStream Fortify 自动处理 然后我添加了https github com mcamara la
  • 如何构建和使用 Google TensorFlow C++ api

    我真的很渴望开始在 C 中使用 Google 新的 Tensorflow 库 网站和文档对于如何构建项目的 C API 确实不清楚 我不知道从哪里开始 有更多经验的人可以通过发现和分享使用 TensorFlow 的 C API 的指南来提供
  • HoughCircles 无法检测到该图像上的圆圈

    我试图检测图像中包含圆点的圆圈 但不幸的是我无法这样做 我正在使用 opencv 霍夫变换 但找不到使其工作的参数 src imread encoded jpg 1 Convert it to gray cvtColor src src g
  • Wget:如果文件已存在,则跳过下载?

    答复如果 wget 中存在文件 则跳过下载 说使用 nc or no clobber but nc不会阻止发送 HTTP 请求以及随后下载文件 如果文件已被完全检索 则下载文件后它不会执行任何操作 如果文件已经存在 是否有办法阻止发出 HT
  • 如何获取 SSAS(或任何其他报告)中两个 TFS 工作项状态之间的时间?

    TFS 的报告中是否有一种方法可以获取工作项在状态之间转换所需的时间 查看中的数据Tfs Warehouse数据库我可以看到有一个工作项的每个修订的记录 并且使用 TSQL 我可以编写一个查询来获取ChangedDate每个状态的变化并区分
  • AngularJS 模块依赖关系 - 澄清?

    我一直在研究 AngularJs 网站上的教程示例 this one The 主要 html 很空 除了ng view and ng app phonecatApp The app js文件包括 var phonecatApp angula
  • GDI+ .NET:宽度超过 202 像素的 LinearGradientBrush 会导致颜色环绕

    如果我用 a 绘制一个宽度超过 202 像素的矩形LinearGradientBrush 我在左侧看到一条彩色条纹 给定一个代码202px宽矩形 private void MainForm Paint object sender Paint
  • 如何在 Windows 中调试(逐行)Rcpp 生成的代码?

    我正在尝试调试Rcpp运行时编译的代码 很长一段时间以来 我一直试图让它发挥作用 但没有成功 这里提出了一个非常相似的问题 Windows下Rcpp生成的DLL的调试 逐行 它问了同样的问题 但问题和答案都远远超出了我的理解 这是我所拥有的
  • 在不启动 MSWord 的情况下读取 .doc 文件

    我正在尝试打开 doc 文件并读取其内容 但我找不到任何方法可以在不启动 MSWord 的情况下执行此操作 现在我有以下代码 Microsoft Office Interop Word Application app new Microso