【问题标题】:Start process from stream从流开始进程
【发布时间】:2010-01-29 05:04:50
【问题描述】:

我有一个包含 PDF 文件的内存流。

是否可以在不保存到硬盘的情况下查看 PDF? Process.Start() 只接受路径而不接受流。

谢谢

【问题讨论】:

标签: c# process stream


【解决方案1】:

仅通过在 C# 中实现您自己的伪文件系统,以某种方式将其安装为 Windows 中的磁盘,并让它拦截打开的文件并流式传输 MemoryStream 的内容。绝对 100% 肯定不值得付出努力。

【讨论】:

    【解决方案2】:

    您可以创建一个RAM drive 并将流写入其中,这样您仍然可以将其全部保存在内存中(假设您担心磁盘操作)。

    【讨论】:

      【解决方案3】:

      当然,这当然是可能的。只是不是通过 Process Start 和 Adob​​e Reader(我假设您正在调用 Adob​​e 或类似的东西)

      如果您使用 .NET 或 Java,您只需要找到一个 PDF 查看器组件,有很多可供选择,google 会给您很多链接,Gnostice 有一个很好的,但它很贵。找到合适的控件后,直接从您的应用中查看 PDF。

      【讨论】:

      • 我正要提出这样的建议。找到一个 PDF 查看组件(如果您可以自动化 Reader 本身,那就更好了)并查看它是否可以从 IStream 加载。
      【解决方案4】:

      如果有, process.Start 不会是正确的方法,但我可能会猜测没有。 除非有特定的 PDF API 允许以某种方式(我怀疑)我会将其保存到磁盘。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-01-26
        • 1970-01-01
        • 2018-01-02
        相关资源
        最近更新 更多