#c# #process.start
Вопрос:
В конце установки нашего программного обеспечения, если пользователь включил флажок и нажал кнопку Готово, откроется файл pdf. Он открывается с помощью приведенного ниже кода,
Process.Start(<pdf file path>)
Если файл pdf установлен на компьютере, он успешно открывается. Но для машины, на которой нет pdf-файла, это просто показывает всплывающее окно, сообщающее, как вы хотите открыть файл, и в течение нескольких секунд всплывающее окно исчезает, и, наконец, ничего не открывается.
Поэтому по умолчанию планируется открывать файл через браузер, а не через программу чтения PDF. Как этого добиться? У пользователя может быть любой браузер (например,/Edge/Chrome/…), поэтому как открыть файл pdf через браузер, а не с помощью программы чтения PDF?
Комментарии:
1. Встроить pdf-файл в html и вместо этого открыть html?
2. да, это должно быть хорошим вариантом. Но в нашем программном обеспечении примечания к выпуску представлены в формате pdf. Я могу попросить команду документирования предоставить вместо этого формат html. но не уверен, смогут ли они изменить этот процесс. Тем временем я также буду искать возможность открыть pdf-файл через браузер.
3. Я имел в виду следующее: оставьте pdf как pdf, а затем создайте простой html-файл с iframe, указывающим на pdf.
Ответ №1:
Самым простым способом, вероятно, было бы использовать file://
URI. Это, по умолчанию, должно обрабатываться браузером по умолчанию.
Process.Start("file://path/to/the.pdf");
Комментарии:
1. Я попробовал это. Тем не менее он открылся в программе чтения PDF. «файл://C:\Программные файлы (x86)\Папка тестов\Примечания к выпуску.pdf»
2. @StackUser Это потому, что программа чтения PDF — файлов используется по умолчанию для файлов PDF. Абсолютно ли необходимо, чтобы он открывался в браузере, и открывается ли он в браузере, когда у пользователя нет программы чтения PDF?
3. Вам необходимо использовать сторонние библиотеки, если вы хотите пропустить установку программы чтения PDF. radpdf.com является одним из них.
4. @NullPointDev: На компьютере, на котором не установлен считыватель pdf, отображается всплывающее окно «Как вы хотите открыть этот файл» и список приложений. Поэтому было бы хорошо, если бы он всегда открывал файлы с помощью браузера.
5. @StackUser Тогда не имело бы смысла для пользователя выбирать свой браузер по умолчанию во всплывающем окне? Это устраняет необходимость в дополнительном коде (и, следовательно, в дополнительном времени обработки) при попытке определить браузер пользователя по умолчанию.