C # Word Interop - открыть .pdf без запроса на конвертацию - PullRequest
2 голосов
/ 17 октября 2019

Я использую 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);

Однако при открытии я получаю следующее приглашение:

enter image description here

Word version 2016.

Кто-нибудь знает, как это обойти? Если я нажму OK, остальная часть программы выполнится так, как я ожидаю, успешно.

Я знаю и не хочу использовать какие-либо другие сторонние инструменты.

Спасибо 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);

Получается конвертер, нопо-прежнему отображает подсказку. :(


Дальнейшее редактирование благодаря комментариям Сидни. Похоже, что это приглашение является параметром реестра пользователей, поскольку обойти его во взаимодействии невозможно. Для меня это похоже на ошибку в взаимодействии. Open XML SDK не поддерживает сохранение в формате XPS, так что это тоже недоступно. Похоже, мне сначала придется манипулировать реестром пользователей, чтобы добиться этого (приводит к проблемам с правами на запись) или проверить, ожидает ли Word ввода данных от пользователя и отправки ключей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...