Silvio Peluffo Ответов: 1

Как открыть pdf - файл с помощью VB.NET


У меня есть проект, разработанный на vb.net и файл .pdf, сохраненный в ресурсах. Я попробовал следующий код, но он не читает файл .pdf. Пожалуйста, где ошибка ?.

Спасибо.

Тусклый агрегат как система.Отражение.сборочная система.Отражение.Собрание.GetExecutingAssembly()
Dim root As String = сборка.Метод getname().Название
Dim stream As System.IO.Stream = сборка.GetManifestResourceStream(root + "." + "CraneNuclear.pdf")
Тусклый буфер(Convert.ToInt32(трансляция.Длина) - 1) В Виде Байта
Stream.Read(buffer, 0, buffer.Длина)
Течение.Закрывать()
Тусклый f Как Новый IO.FileStream ("CraneNuclear.pdf", IO.FileMode.Создать ИО.Флагами fileaccess.Писать)
Ф.Записи(буфера, 0, буфер.Длина)
Ф.Рядом()

Процесс."Пуск" ("CraneNuclear.формат PDF")

Что я уже пробовал:

Dim assembly As System.Reflection.Assembly = System.Reflection.Assembly.GetExecutingAssembly()
 Dim root As String = assembly.GetName().Name
 Dim stream As System.IO.Stream = assembly.GetManifestResourceStream(root + "." + "CraneNuclear.pdf")
 Dim buffer(Convert.ToInt32(stream.Length) - 1) As Byte
 Stream.Read(buffer, 0, buffer.Length)
 Stream.Close()
 Dim f As New IO.FileStream("CraneNuclear.pdf", IO.FileMode.Create, IO.FileAccess.Write)
 f.Write(buffer, 0, buffer.Length)
 f.Close()

 Process.Start("CraneNuclear.pdf")

CHill60

Попробуйте поместить путь к вашему pdf-файлу, когда вы используете process.start

1 Ответов

Рейтинг:
1

MadMyche

Вот основы для этого: Процесс.Начать:

Dim ProcessApplication As String = "AcroRd32"
Dim ProcessArguement As String = "CraneNuclear.pdf"

Dim MyPDF As New ProcessStartInfo(ProcessApplication)
MyPDF.Arguments = ProcessArguement

Process.Start(MyPDF)


Я бы начал с этого POC, а затем работал бы над вашим возвращением в Отражение чтобы понять, что происходит не так, как ожидалось.

Обратите внимание, что вам, скорее всего, придется работать с путями для PDF-файлов


Silvio Peluffo

Спасибо Permalink, но не совсем понятно, как открыть файл из ресурсов проекта в VB.Net-да. С уважением.