C# Word Interop - 在没有转换提示的情况下打开 .pdf

2024-01-08

我正在使用 Word Interop,希望打开 .pdf 文件并让 Word 自动进行转换。

我设置了以下属性。

var wordApp = new Word.Application();
wordApp.DisplayAlerts = Word.WdAlertLevel.wdAlertsNone;
wordApp.Options.DoNotPromptForConvert = true;
wordApp.Options.ConfirmConversions = false;
var doc = wordApp.Documents.OpenNoRepairDialog(ExternalFilePath, false, true);

但是,当它打开时,我仍然收到以下提示:

2016年Word版本。

有谁知道如何绕过这个?如果我单击“确定”,程序的其余部分将按我的预期成功执行。

我知道并且不希望使用任何其他第三方工具。


感谢 BugFinder 建议使用 Format 参数,但仍然没有成功。

以下是对代码的补充:

Word.FileConverters converters = wordApp.FileConverters;
var wordPdfConverter = converters.OfType<Word.FileConverter>().Where(c => c.CanOpen == true && c.Extensions == "pdf").First();
var doc = wordApp.Documents.OpenNoRepairDialog(ExternalFilePath, false, true, false, Format: wordPdfConverter.OpenFormat, NoEncodingDialog: true);

这会得到一个转换器,但仍然显示提示。 :(


感谢 Cidney 的评论,进一步编辑。该提示似乎是用户注册表设置,因为在互操作中绕过它是不可能的。对我来说,这似乎是互操作性的一个缺陷。 Open XML SDK 不支持另存为 XPS,因此该功能也不可用。看来我必须首先操作用户注册表才能实现此目的(带来写入权限问题)或检查 Word 是否正在等待用户输入并发送密钥。


None

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

C# Word Interop - 在没有转换提示的情况下打开 .pdf 的相关文章

随机推荐