У меня есть поток памяти, содержащий файл PDF.
Можно ли просмотреть PDF без сохранения на жесткий диск? Process.Start() принимает только путь, а не поток.
Спасибо
У меня есть поток памяти, содержащий файл PDF.
Можно ли просмотреть PDF без сохранения на жесткий диск? Process.Start() принимает только путь, а не поток.
Спасибо
Только реализовав свою собственную псевдофайловую систему на С#, каким-то образом смонтировав ее как диск в Windows и заставив ее перехватить открытый файл и передать содержимое вашего MemoryStream. Абсолютно 100% конечно не стоит усилий.
Вы можете создать RAM-диск и записать на него поток, таким образом, вы все еще сохраняете его все в оперативной памяти (при условии, что вас беспокоят дисковые операции).
Конечно, это, безусловно, возможно. Только не через Process Start и Adobe Reader (я предполагаю, что вы вызываете Adobe или что-то подобное)
Если вы используете .NET или Java, вам просто нужно найти компонент для просмотра PDF, есть из чего выбрать, Google даст вам много ссылок, у Gnostice есть хороший, но дорогой. Как только вы найдете подходящий элемент управления, просмотрите PDF-файл прямо из своего приложения.
Если есть, то process.Start не подойдет, но рискну предположить, что его нет. Если не существует специального API PDF, который позволяет (я сомневаюсь) каким-то образом сохранить его на диск.