2010-01-28 14 views
7

PDF dosyası içeren bir bellek akışım var.Akıştan işlem başlat

PDF'yi sabit diske kaydetmeden görüntülemek mümkün mü? Process.Start() yalnızca bir yol alır ve bir akışa sahip değildir.

teşekkür ederiz

+0

Bu ilgili yayına dünden bakın: http://stackoverflow.com/questions/2144744/open-in-memory-xml-string-as-an-excel-workbook-with-out-saving-uisng-windows- for/2144775 # 2144775 – Jay

cevap

9

Sadece nasılsa, C# kendi sözde dosya sistemini uygulayan Windows disk olarak bu montaj ve açık dosyayı önünü ve MemoryStream içeriğini akışı sağlayarak. Kesinlikle% 100 kesinlikle çabaya değmez.

1

Varsa, process.Start bu şekilde olmayacak, ancak olmadığını tahmin etme riskini taşıyorum. Belirli bir PDF API'sı olmadığı sürece, bir şekilde diske kaydetmem gerektiğine inanıyorum.

3

RAM drive kodunu oluşturabilir ve akışını ona yazabilirsiniz, bu şekilde her şeyi hala koruyun (disk işlemlerinin sizi endişelendiren olduğunu varsayarak).

2

Elbette, bu kesinlikle mümkündür. Sadece Proses Başlangıcı ve Adobe Reader ile değil (Adobe'yi veya benzer bir şeyi çağırdığınızı varsayalım)

Eğer .NET veya Java kullanıyorsanız sadece bir PDF görüntüleyici bileşeni bulmanız gerekiyorsa, çok fazla seçeneğiniz var. Size bol miktarda bağlantı vermek, Gnostice iyi bir tane, ama pahalı. Uygun bir kontrol bulduktan sonra, PDF'yi doğrudan uygulamanızdan görüntüleyin.

+0

Böyle bir şey önermek üzereydim. Bir PDF görüntüleme bileşenini bulun (Reader'ın kendisini otomatik olarak daha iyi hale getirebilirseniz) ve bir IStream'den yüklenip yüklenemeyeceğini görün. –