Начать процесс из потока - PullRequest
8 голосов
/ 28 января 2010

У меня есть поток памяти, который содержит файл PDF.

Можно ли просматривать PDF, не сохраняя его на жестком диске? Process.Start () принимает только путь, а не поток.

Спасибо

Ответы [ 4 ]

10 голосов
/ 28 января 2010

Только путем реализации вашей собственной псевдофайловой системы в C #, каким-либо образом монтируя ее как диск в Windows, и позволяя ей перехватывать открытый файл и передавать содержимое вашего MemoryStream. Абсолютно 100%, безусловно, не стоит усилий.

3 голосов
/ 28 января 2010

Вы можете создать RAM-диск и записать на него поток, таким образом, вы все еще сохраняете все это в оперативной памяти (при условии, что операции с диском вас беспокоят).

2 голосов
/ 29 января 2010

Конечно, это возможно. Только не через Process Start и Adobe Reader (я полагаю, вы вызываете Adobe или что-то подобное)

Если вы используете .NET или Java, вам просто нужно найти компонент для просмотра PDF, есть из чего выбирать, Google даст вам много ссылок, у Gnostice хорошая, но дорогая. Найдя подходящий элемент управления, просмотрите PDF-файл прямо из приложения.

1 голос
/ 28 января 2010

Если есть, process.Start не будет таким, но я рискну догадаться, что его нет. Если нет специального API-интерфейса PDF, который позволяет каким-либо образом (я сомневаюсь) сохранить его на диск.

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