2010-01-28 9 views
7

Tengo una secuencia de memoria que contiene un archivo PDF.Proceso de inicio desde la secuencia

¿Es posible ver el PDF sin guardarlo en el disco duro? Process.Start() solo toma una ruta y no una secuencia.

Gracias

+0

Ver esta publicación relacionada desde ayer: http://stackoverflow.com/questions/2144744/open-in-memory-xml-string-as-an-excel-workbook-with-out-saving-uisng-windows- para/2144775 # 2144775 – Jay

Respuesta

9

Sólo mediante la aplicación de su propio pseudo sistema de archivos en C#, de alguna manera este montaje como un disco en Windows, y tener que interceptar el archivo abierto y transmitir los contenidos de su MemoryStream. Absolutamente 100% ciertamente no vale la pena el esfuerzo.

1

Si lo hay, proceso. Iniciar no será el camino, pero me arriesgaría a suponer que no. A menos que haya una API PDF específica que permita que de alguna manera (lo dudo) la guarde en el disco.

3

Puede crear un RAM drive y escribir la secuencia en él, de esta manera todavía lo mantiene todo en RAM (suponiendo que las operaciones del disco son las que le preocupan).

2

Claro, esto es ciertamente posible. Simplemente no a través de Process Start y Adobe Reader (supongo que está invocando Adobe o algo similar)

Si está utilizando .NET o Java simplemente necesita encontrar un componente de visor de PDF, hay mucho para elegir, Google lo hará le da muchos enlaces, Gnostice tiene uno bueno, pero es caro. Una vez que encuentre un control adecuado, vea el PDF directamente desde su aplicación.

+0

estaba a punto de sugerir algo como esto. Encuentre un componente de visualización de PDF (si puede automatizar el Reader por sí mismo, mucho mejor) y vea si puede cargar desde un IStream. –

Cuestiones relacionadas