Как открыть pdf-файл в браузере

#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");
 

См. Схему URI файла (Википедия)

Комментарии:

1. Я попробовал это. Тем не менее он открылся в программе чтения PDF. «файл://C:\Программные файлы (x86)\Папка тестов\Примечания к выпуску.pdf»

2. @StackUser Это потому, что программа чтения PDF — файлов используется по умолчанию для файлов PDF. Абсолютно ли необходимо, чтобы он открывался в браузере, и открывается ли он в браузере, когда у пользователя нет программы чтения PDF?

3. Вам необходимо использовать сторонние библиотеки, если вы хотите пропустить установку программы чтения PDF. radpdf.com является одним из них.

4. @NullPointDev: На компьютере, на котором не установлен считыватель pdf, отображается всплывающее окно «Как вы хотите открыть этот файл» и список приложений. Поэтому было бы хорошо, если бы он всегда открывал файлы с помощью браузера.

5. @StackUser Тогда не имело бы смысла для пользователя выбирать свой браузер по умолчанию во всплывающем окне? Это устраняет необходимость в дополнительном коде (и, следовательно, в дополнительном времени обработки) при попытке определить браузер пользователя по умолчанию.