gpt4 book ai didi

.net - 如何以统一的方式从 .NET 打印 Office 文档?

转载 作者:行者123 更新时间:2023-12-04 07:02:50 26 4
gpt4 key购买 nike

使用 Microsoft interOp 对象,我可以以编程方式打印 Word 或 Excel 文档。

有没有更简单和统一的方法来以编程方式打印所有类型的文档(.txt、.doc、.xls、.pdf 等)?

最佳答案

默认情况下,Microsoft 使用 DDE 从办公产品打印。
转到工具/文件夹选项/文件类型,然后查找 .XLS 例如并单击“高级”。
您将看到一个操作列表,其中之一是“打印”。
这里面是 Excel 用来打印然后关闭文档的 DDE 命令,Office 套件中的每个产品都存在这些命令之一。
不幸的是,DDE 使用了 SendMessage API,但是这里有一个库可以为您封装这些函数:

http://ndde.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=4828

它不再是更新,但如果您只想要打印文档的通用方式,它仍应满足您的要求。

如果您正在使用 Interop 并且已经打开了应用程序的实例,那么只需调用适当的 PrintOut 函数。例如对于 Word,它是:

object nullobj = Missing.Value;
doc.PrintOut(ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj);

显然,互操作和 DDE 都远非理想的解决方案,但 Office 仍然基于与 90 年代相同的 Win32 核心。

一旦他们在托管代码中重新编码,我们将拥有一组很好的通用界面,用于创建、打印和查看办公文档!

干杯,
杰森

关于.net - 如何以统一的方式从 .NET 打印 Office 文档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1559481/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com