2010-01-28 51 views
7

Tôi có luồng bộ nhớ chứa tệp PDF.Quá trình bắt đầu từ luồng

Có thể xem tệp PDF mà không lưu tệp đó vào đĩa cứng không? Process.Start() chỉ mất một đường dẫn chứ không phải một luồng.

Cảm ơn bạn

+0

Xem bài đăng liên quan này từ hôm qua: http://stackoverflow.com/questions/2144744/open-in-memory-xml-string-as-an-excel-workbook-with-out-saving-uisng-windows- cho/2144775 # 2144775 – Jay

Trả lời

9

Chỉ bằng cách thực hiện hệ thống giả tập tin riêng của bạn trong C#, bằng cách nào đó gắn này như một đĩa trong Windows, và có nó chặn tệp đang mở và dòng nội dung của MemoryStream của bạn. Hoàn toàn 100% chắc chắn không đáng để nỗ lực.

1

Nếu có, process.Start sẽ không phải là cách, nhưng tôi có thể đoán rằng không có. Trừ khi có một API PDF cụ thể cho phép bằng cách nào đó (tôi nghi ngờ) tôi sẽ lưu nó vào đĩa.

3

Bạn có thể tạo một RAM drive và ghi luồng vào nó, theo cách này bạn vẫn giữ tất cả trong ram (giả sử các hoạt động đĩa là những gì bạn lo lắng).

2

Chắc chắn, điều này chắc chắn có thể xảy ra. Chỉ cần không thông qua quá trình bắt đầu và Adobe Reader (tôi giả sử bạn đang gọi Adobe hoặc một cái gì đó tương tự)

Nếu bạn đang sử dụng .NET hoặc Java bạn chỉ cần tìm một thành phần xem PDF, có rất nhiều lựa chọn, Google sẽ cung cấp cho bạn nhiều liên kết, Gnostice có một liên kết tốt nhưng đắt tiền. Khi bạn tìm thấy một điều khiển phù hợp, hãy xem tệp PDF trực tiếp từ ứng dụng của bạn.

+0

tôi sắp đề xuất một cái gì đó như thế này. Tìm một thành phần xem PDF (nếu bạn có thể tự động đọc Reader, tất cả sẽ tốt hơn) và xem liệu nó có thể tải từ một IStream hay không. –

Các vấn đề liên quan