首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GhostScript不可恢复错误:未定义的文件名

GhostScript不可恢复错误:未定义的文件名
EN

Stack Overflow用户
提问于 2017-02-06 20:40:39
回答 2查看 1.9K关注 0票数 0

试图找出如何采取一个memoryStream和返回图像使用幽灵脚本。下面是执行rasterizer.Open时所得到的代码和错误:

代码语言:javascript
复制
 public static System.Drawing.Image PDFToImage(MemoryStream inputMS)
    {
        GhostscriptRasterizer rasterizer = null;
        GhostscriptVersionInfo version = null;
        if (Environment.Is64BitProcess)
           version = new GhostscriptVersionInfo(
                new Version(0, 0, 0), @"C:\Program Files\gs\gs9.20\bin\gswin64.exe",
                string.Empty, GhostscriptLicense.GPL);
        else
            version = new GhostscriptVersionInfo( 
                new Version(0, 0, 0), @"C:\Program Files (x86)\gs\gs9.20\bin\gswin32.exe",
                string.Empty, GhostscriptLicense.GPL);

        int dpi = 96;
        System.Drawing.Image img = null;

        using (rasterizer = new GhostscriptRasterizer())
        {
            rasterizer.Open(inputMS, version, true);

            for (int i = 1; i <= rasterizer.PageCount; i++)
            {

                using (MemoryStream ms = new MemoryStream())
                {
                    img = rasterizer.GetPage(dpi, dpi, i);
                    img.Save(ms, ImageFormat.Jpeg);
                    ms.Close();
                }

            }
            rasterizer.Close();
        }
        return img;
    }

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-02-08 09:45:29

问题是您所指向的是exe文件而不是dll。当您将'gswin64.exe‘替换为'gsdll64.dll’( 32位verion相同)时,您的代码应该可以工作。

票数 1
EN

Stack Overflow用户

发布于 2017-02-06 21:14:08

好吧,Ghostscript告诉您它不能打开文件'/config:C:\Users\Sean.McNary\ApexRemington.vs\config\applicationhosts.config‘,因为(使用这样一个乱码的文件名并不令人惊讶),它找不到文件。

我猜想您正在使用Ghostscript的某种包装器(这是用C编写的DLL ),因为显然您使用的是C#,如果您要说明在那里使用的是什么,那会有帮助的。

无论您使用什么包装器,它都希望得到一个输入文件名,并将其简单地传递给Ghostscript。虽然可以将数据从内存传递到Ghostscript,并在内存中返回呈现的结果,但您应该知道,如果输入是PDF文件,则不会保存任何内容,因为Ghostscript将在处理临时文件之前将整个输入假脱机到临时文件,因此您需要对PDF文件进行随机访问,因此需要将其写入文件。

您将不得不调试到您的包装程序中,看看它在做什么。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42076888

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档