2010-01-28 17 views
7

Ho un flusso di memoria che contiene un file PDF.Avvia il processo dallo stream

È possibile visualizzare il PDF senza salvarlo sul disco rigido? Process.Start() accetta solo un percorso e non uno stream.

Grazie

+0

Vedere questo post correlato di ieri: http://stackoverflow.com/questions/2144744/open-in-memory-xml-string-as-an-excel-workbook-with-out-saving-uisng-windows- per/2144775 # 2144775 – Jay

risposta

9

solo implementando il proprio pseudo-file system in C#, in qualche modo il montaggio questo come un disco in Windows, e di averlo intercettare il file aperto e streaming il contenuto della MemoryStream. Assolutamente 100% certamente non vale la pena.

1

Se c'è, process.Start non sarà il modo, ma rischierei di indovinare che non c'è. A meno che non ci sia una specifica API PDF che consente in qualche modo (ne dubito) di salvarla su disco.

3

È possibile creare un RAM drive e scrivere lo stream su di esso, in questo modo si sta ancora tenendo tutto in ram (presumendo che le operazioni del disco siano ciò che ti preoccupa).

2

Certo, questo è certamente possibile. Non solo tramite Process Start e Adobe Reader (presumo che tu stia invocando Adobe o qualcosa di simile)

Se stai usando .NET o Java hai semplicemente bisogno di trovare un componente visualizzatore PDF, ci sono molti tra cui scegliere, google Ti do tantissimi link, Gnostice ne ha uno buono, ma è costoso. Una volta trovato il controllo adatto, visualizza il PDF direttamente dalla tua app.

+0

stavo per suggerire qualcosa del genere. Trova un componente di visualizzazione PDF (se puoi automatizzare Reader in sé, tanto meglio) e vedi se può caricare da un IStream. –

Problemi correlati