问题标签 [ghostscriptsharp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1539 浏览

c# - Azure 上的 GhostScriptSharp

我认为同一个问题有两种症状。

我已经使用 Nuget 安装了 GhostScriptSharp,并在 Azure Development Fabric 中的 32 位机器上本地运行它。一切都运转良好。

当我部署到 64 位 Azure 时,我收到以下错误消息。

无法加载 DLL 'gsdll32.dll':找不到指定的模块。(来自 HRESULT 的异常:0x8007007E)

我可以说这里有两个问题

  • 该项目不是使用 64 位 GhostScriptSharp.cs 构建的
  • 无论构建如何,gsdll32.dll 或 gsdll64.dll 都没有被复制到正确的文件夹中。

是否有任何建议可以在 Azure 部署中发挥作用?

0 投票
2 回答
4919 浏览

c# - 在 C# 中从 PDF 文件页面创建图像

我想从 PDF 文件页面获取图像。我知道一个好的解决方案是使用 ghostscriptsharp。它有一种特殊的方法来获取单页或多页。

这是我的完整代码:

但是当我使用这种方法时,我有例外。

ExternalException
Ghostscript 转换错误

在此处输入图像描述

0 投票
1 回答
393 浏览

ghostscript - API 删除/退出后 gsdll32.dll 保持锁定状态

我使用 GhostScriptSharp 构建了一个转换器,以通过网站生成 PDF 文件的整页图像,每当我调用 GenerateOutput() 时,gsdll32.dll 似乎保持锁定状态(以及它生成/工作的文件)。

我的代码片段:

调用此命令后,我立即将生成的字节保存到 Azure 上的 blob。完成后,我尝试致电:

这会引发异常,因为文件仍处于锁定状态。

然后,当我尝试再次构建(通过 F5 甚至在实时情况下)时,我收到一条错误消息,指出它无法将 gsdll32.dll 复制到我的 bin 文件夹,因为它已被锁定。

我对照Ghostscript API检查了 GhostScriptSharp ,似乎一切都以正确的顺序调用。不过,我无法解释为什么 IIS 会锁定 gsdll32.dll。

有人遇到过这个吗?我似乎找不到任何有类似问题的人。

更新:我尝试在上面的 catch 中第二次调用 ExitAPI/DeleteAPI,以防由于某种原因它没有第一次调用,并且它抛出了一个AccessViolationException. 所以看起来API正在正确退出,我猜只是IIS没有正确释放锁?

0 投票
1 回答
2636 浏览

pdf - Ghostscript将pdf转换为文本并保持PDF文件表格格式

我有将 PDF 转换为文本文件的代码:

它几乎可以正常工作,唯一没有保留 PDF 表格格式的东西。

例子:

在 PDF 文件中:

将其转换为文本文件后,文本将像这样包装:

我需要它来保持其格式。知道如何保持格式吗?

Ghostscript gswin32c在 Windows 7 机器上使用,版本是 9.16。

此外,我愿意接受其他方式归档它的建议。

干杯

0 投票
0 回答
230 浏览

c# - ghostscipt 本机代码适用于控制台应用程序,但不适用于 mvc webapp

我正在处理 PDF 到图像的转换。我找到了 ghostscriptsharp,它是为 ghostscript 编写的 ac# 包装器。我使用它并开发了我的应用程序。当我使用控制台应用程序进行测试时,如果不是所有的事情都可以正常工作。

在我将它集成到 webapp 之后它就不起作用了。在互联网上的快速搜索将我指向权限问题和框架不兼容。但我已经排除了他们。

gs32dll(ghostscript dll)在我的 webapplications bin 文件夹中。所以那里也没有问题。

web应用程序是一个项目(webappLive)ghostscriptsharp也是一个单独的项目(GhostscriptSharp) - 这有所有的DLLImport和东西一个项目将消耗GhostscriptSharp(GHInterface) - 只需调用GhostscriptSharp

任何帮助建议将不胜感激。

PS:我已经浏览了所有在 SO 上标记了 ghostscriptsharp 的帖子,但没有一个有任何帮助

添加代码:

结果得到-100(根据ghostscript这意味着致命错误)

0 投票
4 回答
2570 浏览

c# - TeamCity:GhostscriptSharp:试图加载格式不正确的程序。(来自 HRESULT 的异常:0x8007000B)

在 CI 上运行测试时 PDF 转换失败。我正在使用 GhostscriptsSharp 库进行转换。

在本地运行我的测试时我没有遇到这个问题,PDF 文件被正确转换为图像。

我一直在互联网上寻找解决方案,但到目前为止,我发现的每一件事都没有帮助我找到解决方案。

试图加载格式不正确的程序。(来自 HRESULT 的异常:0x8007000B)

System.BadImageFormatException:试图加载格式不正确的程序。(HRESULT 异常:0x8007000B)在 GhostscriptSharp.GhostscriptWrapper.CreateAPIInstance(IntPtr& pintance, IntPtr caller_handle) 在 GhostscriptSharp.GhostscriptWrapper.CallAPI(String[] args) 在 GhostscriptSharp.GhostscriptWrapper.GeneratePageThumbs(String inputPath, String outputPath, Int32 firstPage, Int32 lastPage , Int32 宽度, Int32 高度) 在 Framework.Utils.FileUtils.ConvertPdfToImages(String pdfPath, String imagesPath, Int32 pageCount) 在 c:\TeamCity\buildAgent\work\8e7aa88e702dfaf7\Framework\Utils\FileUtils.cs:第 90 行在 StepDefinitions。 C 中的 General.Search.SearchTableSteps.ThenImagesAreCorrectInDownloadedDocumentFromSearchGrid(Table table):

0 投票
1 回答
444 浏览

c# - GhostScript 路径输出/输入错误

我将 GS 32bits 与 C# 的包装器一起使用。

这条线有效:

但是这条线不起作用

GS 如何处理输入/输出路径?

0 投票
1 回答
650 浏览

c# - 使用语句中的图像时 C# .NET“参数无效”

Windows 8.1 专业版、Visual Studio 2015 更新 3、C#、.NET Framework 4.5。Ghostscript.NET(最新),GhostScript 9.20。

我正在将 PDF 转换为 PDF。哈。好吧,我正在制作无法编辑且质量较低的“可编辑”PDF“硬”PDF。过程是我获取可编辑的 PDF,将其保存为 x 页的 PNG 文件,将这些 PNG 文件转换为多页 TIFF,然后将多页 TIFF 转换为我需要的 PDF。

这与 Visual Studio 2012(GhostScript .NET 和 GS 9.10 的一个早期版本)配合得很好。

现在这行失败了:

处理第二页时。第一页工作正常。

我下载了 GhostScript.NET 的源代码,将其添加到我的解决方案中,进行了调试等,并花了很长时间试图弄清楚这一点。

然后我决定分离出这些功能,并让我在一个简单的控制台应用程序中进一步检查最低限度的功能:

瞧,没问题。不同之处在于我没有在声明中声明我的图像using

我总是努力成为一个优秀的男孩开发人员,并在类实现时使用 using 语句IDisposable

因此,我删除了 using 并获得了我一直想要的低质量 PDF。我现在的生活很好。

请注意,如果我img.Dispose()for循环结束时调用,我会再次收到相同的错误!

我最好的猜测是我的问题不是 GhostScript 或 GhostScript.NET 问题。如果类实现,我是否坚持盲目使用“使用”语句IDisposable?我一直明白,最好的做法是IDisposableusing声明来包装任何实现以放弃泄漏等。

因此,我的问题是:任何想法为什么我System.Drawing.Image在语句中初始化类时得到“参数无效”异常,但在我不初始化类using时却没有?我很想了解更多。

更好的是,如果有人知道我如何获得此功能并确保我正确处理我的对象,那将是最好的。

当我搜索信息时,我没有找到太多关于这个特定主题的信息。我确实找到了另一篇关于有人在 using 语句中使用图形对象的StackOverflow 帖子,但出现了相同的错误。我想知道有没有关系。我还注意到我应该使用 Dispose(),但这似乎是导致问题的原因,我需要它来工作。

仅供参考,对于任何感兴趣的人,实际错误发生在 GhostScript.NET 代码中的 GhostscriptInterprester.cs 中:

方法:public void Run(string str) str是“页面pdfshowpage_init pdfshowpage_finish”

0 投票
2 回答
732 浏览

ghostscript - 鬼脚本许可证

作为我客户网站的开发人员,我想使用 Ghostscript sharp 从 PDF 生成特定功能的图像。谁能告诉我是否需要购买许可证才能使用 Ghostscript?提前致谢..

0 投票
0 回答
563 浏览

c# - 无法处理某些 PDF 文件的 GhostScript 命令错误

我正在使用带有 C# 的 GhostScript,它工作正常,但不知道为什么对于某些特定的 PDF 文件它不起作用。我查看了 GhostScript api,发现这个 PDF 文件的最后一页出现的唯一问题 Click here to Download

GhostScript 运行时版本:v4.0.30319

GhostScript 版本:1.2.0.0

Ghostscript API 中的错误点如下几行。

总是得到 -100 作为错误代码。和错误图像如下。

在此处输入图像描述