问题标签 [ghostscript.net]
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.
windows-10 - 与 Windows 10 兼容的最早版本的 GhostScript 是什么?
兼容在 Windows 10 上运行的最早版本的 Ghostscript 是什么?
c# - GhostscriptRasterizer.PageCount 始终返回零
这个问题已经在这里讨论过:GhostscriptRasterizer Objects Returns 0 as PageCount value 但是这个问题的答案并没有帮助我解决问题。
就我而言,从 kat 到旧版本的 Ghostscript 没有帮助。26 和 25。我的 PageCount = 0,如果版本低于 27,我收到错误“未找到本机 Ghostscript 库”。
c# - Ghostscript 会导出 PNG,但会减少横向页面的一半
我正在尝试使用 Ghostscript 将 pdf 转换为图片。我有一个横向 A3 PDF,但无论我做什么,我只能得到每页的左半部分。我尝试添加-dPDFFitPage
、-dFIXEDMEDIA
和其他参数,但它似乎没有改变任何东西。
我的代码没有额外的自定义开关(C#):
我正在使用 Ghostscript 8.64 32 位。
c# - ghostscript.net 可以将 PDF 文件分成多个部分吗?
我有一个很长的 PDF 文件(58x500 英寸)。目标是将一个大型矢量 pdf 文件划分为一定百分比。例如 %25 = 125 英寸高,而宽度保持不变。所以一个大的pdf将被分成4页。
ImageMagick 能够做到这一点,但如果我将 dpi 更改为 300,它会崩溃。是否可以使用 Ghostscript 做到这一点?我正在使用 Ghostscipt.net 和 C#。
有人可以指出我正确的方向吗?
c# - Ghostscript.NET.Rasterizer 设置分辨率 (Dpi) 不起作用
我有这段代码可以将 pdf 转换为 tif,它比 ImageMagick 库更快,所以我必须使用它。每件事都很好,但是当我设置x 和 y dpi时,它总是被忽略。我尝试了不同版本的 NuGet GhostScript,我也尝试了不同版本的 ghostscript.exe 仍然是同样的问题
这是我的代码:
也试过:
也试过:
在这种情况下,我手动将 gsdll32.dll 添加到此环境路径 ..\bin\debug 但我收到此错误: Ghostscript.NET.GhostscriptException:'无法为符号'gsapi_revision'创建导出函数的委托''
知道为什么忽略 x 和 y dpi 以及在属性中将其设置为 96 或 120 作为垂直/水平分辨率。我很感激任何帮助。
c# - 如何使用 Ghostscript 用 c# 裁剪和旋转 Postscript 页面
我想从 C# 中剪下 postscript 页面的一部分,旋转结果并将其保存为新的 postscript 页面。
我的源文件是 A4 的 Postscript 页面,纵向格式。页面由四个象限组成,每个象限是纵向格式的 A6。我想切掉左上象限。这将产生一个 A6 格式的页面。最后我想把这张 A6 页面顺时针旋转 90° 并再次输出为 postscript 文件。
我想从 Windows 下的 C# 应用程序调用这个过程,为此我想为 Ghostscript 使用 .Net-wrapper。
我可以使用以下代码从命令行执行任务:
(我也尝试过使用 PageOffset 和 Orientation 的变体,但在 Windows 下这对我不起作用。)
为了从 C# 中完成任务,我尝试了 Ghostscript.Net 和 GhostscriptSharp。不幸的是,两者都没有成功。
我在 Ghostscript.net 上尝试了这段代码,灵感来自于包含的示例:
这是我用 GhostscriptSharp 尝试的代码:
使用此调用:
我在公共类 GhostscriptWrapper 中添加了另一个函数
使用这两种方法,我都可以成功地从 A4 页面中剪切出 A6 页面,但是平移和旋转都没有完成。剪切在坐标原点的左下角完成。
在我看来,“-c”命令不能作为参数传递给 DLL 函数 gsapi_init_with_args,但我不确定。
Ghostscrip.Net 中的一个示例表明可以使用函数 gsapi_run_string 代替 init_with_args。在查看器示例中,字符串包含在 %%BeginPageSetup 和 %%EndPageSetup 中。但是,我无法结合 gsapi_run_string 构建 gsapi_init_with_args 的工作调用。
对于两个包装器之一或什至另一个包装器的任何提示将不胜感激。
c# - 使用 Ghostscript 更改 DocumentName
我需要更改正在打印的 DocumentName。此文档名称将显示在打印机假脱机中。我正在使用 Ghostscript c# 包装器打印 PDF。它在打印机假脱机列表中显示“Ghostscript 输出”。Ghostscript 文档提供了一种方法,但我没有设法使其工作。
他们在 10.2 节中对其进行了描述。 https://www.ghostscript.com/doc/9.26/Devices.htm#Win
这是我尝试使用 CLI 运行的内容:
安装程序.ps
结果:
谢谢
c# - 如何使用 Ghostscript 和 Ghostscript .NET 通过嵌入 IIC 配置文件生成正确的 PDF/A
当前情景:
我正在尝试根据普通的 PDF 文档生成正确且一致的 PDF/A,经过几个小时的调查,我们决定使用 Ghostscript 功能。这个业务需求是为我正在从事的一个更大的 C# 项目设置的,但首先我开始在 Windows 上下文中使用Ghostscript 命令进行一些测试,另一方面创建了一个使用 Ghostscript .NET 的隔离控制台应用程序,以测试此功能的可行性。
我们在第一次测试中集中精力使用PFD/A-1B格式,并利用VeraPDF和PDF-Tools来检查生成文件的一致性。
以下测试已使用几个不同的 PDF 文件完成,其中一些是我们的项目应用程序实际生成的文件。为简单起见,如果有人想检查,我提供了一个简单的 PDF(只有几行文本),它已经以相同的方式使用和测试,并且重现了相同的行为。
Ghostscript 命令测试
执行
使用 GhostScript v 9.52,我尝试了以下命令:
*注意:即使我读到不推荐使用-dNOSAFER参数,如果没有它,我也无法为/invalidfileaccess错误生成 PDF。我怀疑访问权限是原因,正如在 Stackoverflow 上搜索的那样(GhostScript: Error: /invalidfileaccess in --file--),但仍然没有找到任何适合我的解决方案。
还尝试了以下命令,但错误相同(将所需的 ICC 配置文件与 .ps 模板文件位于同一文件中):
对于 PDFA 配置文件,我尝试在 Ghostscript 安装目录中的/lib上提供默认 PDFA_def.ps模板。之后,尝试使用 PDFA_def.ps 模板文件,更新行:
和
结果和验证
结果:下载命令行生成的 PDF
VeraPDF 说:
PDF 文件符合验证配置文件要求
PDF 工具 说:
该文档确实符合 PDF/A-1b 标准。
此外,当使用 Adobe Reader DC 打开时,一致性选项卡显示所选格式 (PFD/A-1B) 的所有详细信息,但不显示OutputIntent ,甚至 PDFA_def.ps模板被设置为参数,并且 sRGB ICC 配置文件显示在里面模板文件。 Adobe 一致性状态丢失 OutputIntend 捕获
Ghostscript .NET 控制台应用程序:
执行
我尝试根据 Ghostscript 测试期间使用的相同参数编写代码:
*注意:请注意,这次没有使用 -dNOSAFER 参数。如果包含,结果是相同的,没有附加信息或详细错误。如果包含注释行(switches.Add("c:/GS_PDFA/PDFA_def.ps");),则应用程序会引发错误:
调用“gsapi_init_with_args”时发生错误:-100
我试图防止错误使用模板文件的另一个位置,但没有成功。还在顶部添加了代码行:switches.Add("-Ic:/GS_PDFA/"); 但同样的错误。
结果和验证
VeraPDF 说:
如果未设置 PDFA_def.ps 模板文件,则生成的文件不会通过验证检查。
PDF 文件不符合验证配置文件要求
PDF 工具 说:
该文档确实符合 PDF/A-1b 标准。
此外,当使用 Adobe Reader DC 打开时,一致性选项卡会显示所选格式 (PFD/A-1B) 的所有详细信息,现在OutputIntent 存在,但详细信息不完整,因为未显示 Identifier 和 Info 值。Adobe 一致性状态 OutputIntend 不完整捕获
问题
- 根据 Ghostscript 命令,有没有办法使用正确的 ICC 信息生成 PDF/A?对于我所看到的,没有一个结果真的令人满意,那么我应该怎么做才能成功地将这些信息嵌入到 PDF/A 生成的文件中?
- 猜测 Ghostscript 命令可以实现包含正确 ICC 配置文件的符合 PDF/A 文件的技巧,并且由于我们计划使用 Ghostscript .NET,我如何将 PDF/A 模板文件作为参数包含在 C# 代码中?
提前非常感谢。
[编辑]
我无法使用 --permit-file-read 更改权限。我通常在 C:\GS_PDFA 中有 ps 和 icc 文件,但在 GS 本地安装文件夹中尝试使用它们,但总是出现相同的错误:
错误:/invalidfileaccess in --file-- 操作数堆栈:--nostringval-- --nostringval-- (C:/GS_PDFA/srgb.icc) (r) 执行堆栈:%interp_exit .runexec2 --nostringval-- nostringval-- --nostringval-- 2 %stopped_push --nostringval-- --nostringval-- --nostringval-- false 1 %stopped_push 1990 1 3 %oparray_pop 1989 1 3 %oparray_pop 1977 1 3 %oparray_pop 1833 1 3 %oparray_pop --nostringval-- %errorexec_pop .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval-- 字典堆栈:--dict:741/1123(ro)(G)-- --dict:0/20(G)-- --dict:76/200(L)-- 当前分配模式是本地 最后操作系统错误:权限被拒绝 当前文件位置是 2118
使用 Ghostscript .NET 对控制台应用程序进行了大量测试,甚至将 PDFA_def.ps 和 srgb.icc 文件放在解决方案文件夹中,同样的错误。尝试在 C:\GS_PDFA 中找到主要的 GS 安装文件,包括 ICC 配置文件 (srgb.icc),打开命令提示符并再次使用 Ghostscript 命令进行测试,但均不成功。
以下是我尝试过的一些命令示例:
我尝试移动文件、更改位置、文件夹等。我尝试更改文件夹安装,即使使用 Ghostscriptx64 也是如此...安装时我错过了什么吗?
请问,有人有可以帮助我的windows工作示例吗?
vb.net - 使用 Ghostscript.NET 包装器打印 PDF - 空白页
我正在使用 Ghostscript.NET 包装器打印 PDF 文件。打印工作正常,但实际打印前出现 2 个空白页。请问有人可以帮我吗?我对以下代码做错了吗?顺便说一句,我们的打印机很小,它是用来打印条形码的。
c# - .net 上的 Ghostscript 安装问题
为了在我的 MVC C# 应用程序中安装 Ghostscript,我遵循了大量的 SO 指南,但我无法识别下面的代码。它一直说“找不到 GhostscriptRasterizer(您是否缺少 using 指令或程序集引用?)”
我正在使用 Visual Studio,这是我已经尝试过的:
- 从https://www.ghostscript.com/download.html获取 .exe 文件并安装它。然后在我的项目中手动将 gsdll32.dll 包含为“内容”(菜单:添加现有项);
- 在 Visual Studio 上,转到“工具>NuGet 包管理器>管理 NuGet 包以获取解决方案”,然后由 Josip Habjan 安装 Ghostscript.NET。
- 同样在 NuGet 包管理器上尝试安装 Matthieu 的 Ghostscript dll - 出现错误“无法添加对 'gsdll32' 的引用。请确保该文件是可访问的,并且它是一个有效的程序集或 COM 组件。”
- 在包管理器控制台上做了“Install-Package Ghostscript -Version 9.2.0”,也得到了上面的错误