问题标签 [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.

0 投票
1 回答
940 浏览

c# - IIS 中 Ghostscript.NET.dll 中的“Ghostscript.NET.GhostscriptLibraryNotInstalledException”

我在我的机器(使用 Windows 10)上安装了 Ghostscript,它与 Visual Studio IIS Express 一起正常工作,但是在同一台机器本地 IIS 上托管应用程序后,它抛出异常GhostscriptLibraryNotInstalledException。请帮助我找到问题,在此先感谢。

0 投票
1 回答
672 浏览

c# - 使用 Ghostscript 快速栅格化部分 PDF

在我的 C# 应用程序中,我试图在带有缩放、平移等选项的可导航窗口中显示 PDF 文档。我使用的是 Ghostscript.NET。例如,从速度来看,Adobe Acrobat Reader 似乎只能渲染页面的给定部分。我只找到了光栅化整个页面的方法,这不太实用,尤其是在高缩放级别时。是否可以先裁剪出一个矩形(基于计算的角坐标),然后在没有页面其余部分的情况下快速栅格化它?

我尝试了以下命令:

从技术上讲,哪个有效,但据我了解,必须在没有自己的裁剪框的情况下定义文档,否则它将无法工作。

0 投票
1 回答
734 浏览

ghostscript - Ghostscript - EPS(带有透明背景的嵌入式 TIFF)到 PNG 转换

我正在尝试使用 GhostScript 将具有透明背景的嵌入式 TIFF 的 EPS 文件转换为 PNG。我遇到的问题是 TIFF 图像的背景在 PNG 中变为白色。它如下所示:

不正确的PNG

当我从 Adob​​e Illustrator 导出时,结果是正确的:

正确PNG

我读到EPS没有透明度,只有标记和未标记的区域。我想知道是否有一个我错过的调用可以通过类似于 Illustrator 的 Ghostscript 创建 PNG?或者,如果有任何其他选择不只是通过 ImageMagick 用透明度替换白色?

我正在使用 Windows 并安装了 Ghostscript 9.25。这是我尝试过的命令(其中之一):


如果需要,我可以将 EPS 文件发给您。任何帮助将不胜感激,谢谢!

更新:这是 EPS 文件(希望此链接有效):

https://drive.google.com/open?id=1m4HHGLoPe0jdWkx1Oghe7ttiXPldZnJs

另外,我应该提到我上传的图像只是在图像编辑器中打开的 PNG 的屏幕截图。方格部分确实是完全透明的 Alpha 通道。我试图轻松地强调差异。

0 投票
1 回答
373 浏览

c# - 可以用ghostscript显示渲染PS文件的进度吗?

我正在使用 GhostScript.NET for C# 将 PDF 转换为 PostScript(ps2write 设备),我想显示渲染进度(processor.StartProcessing()),因为大文件需要很长时间

我知道 mswinpr2 显示渲染进度,但 ps2write 没有。

可以用 ps2write 做到这一点吗?

0 投票
0 回答
686 浏览

c# - 如何解决“调用'gsapi_init_with_args'时发生错误:-100”将PDF转换为PDF/A时的问题-Ghostscript

当我尝试使用 GhostScript.NET 将 PDF 转换为 PDF/A 并开始调试项目时,会出现以下异常:

“附加信息:调用‘gsapi_init_with_args’时出错:-100”

我的代码是:

如果我运行代码通过 CMD 将 PDF 转换为 PDF/A,它就可以完美运行。

但是,使用上述代码运行会带来此错误。

如果我更改参数以将 PDF 转换为图像,它适用于下面的代码。

所以看起来参数有问题,同时通过CMD这些参数工作正常。

使代码工作的任何建议?

直接运行 CMD 的问题是它会打开一个 GhostScript 弹出窗口。

0 投票
1 回答
370 浏览

pdf - 使用 Ghost 脚本打印时更改文档名称

我需要将 PDF 文件打印到一些基于硬件的打印机和一些虚拟 PDF 打印机。我正在使用 Ghostscript 来完成这项任务,编程语言是 C#。

硬件打印机在每个文档之后打印一个 PrintJob 页面,其中包含一些信息,例如日期/时间和文档名称。

虚拟打印机打印文档,但名称不同。(Ghostscript 文档)

使用 Ghost 脚本时我无法更改/或设置文档名称,感谢您的帮助。

开关 'sDocumentName' 不起作用,我仍然看到使用默认名称打印文档 - “Ghostscript Document”

0 投票
6 回答
3698 浏览

c# - GhostscriptRasterizer 对象返回 0 作为 PageCount 值

我用谷歌搜索了它,但没有找到解决方案,也没有关于 rasterizer.Open() 函数的有用文档。

Console.WriteLine(rasterizer.PageCount);总是打印, 0无论我加载哪个 pdf 文件。

txtStatus是 UI 中的多行文本框。txtOpenLocation是 UI 中的另一个 TextBox,用户不可编辑,其值由OpenFileDialog.

我正在使用 Visual Studio 2019 社区版。

我觉得值得一提的另一个观察结果——对于我机器上的每个 pdf 文件,当我尝试使用 Adob​​e Acrobat DC 或 Foxit Reader 打开任何 pdf 文件时,首先阅读器崩溃,变得“无响应”大约 10 到 15 秒,然后它打开pdf文件。

0 投票
0 回答
148 浏览

ghostscript - 相同的脚本在 cmd 命令中有效,但在 GhostScript.net 中失败

我的环境是 Windows10 64 位,VS2015,GhostScript9.27,语言是 C# 我使用 GhostScript.net 来调用 GhostScript

这是我的代码

我通过 windows CMD Window 尝试脚本

“gswin64.exe -o D:\output.pdf -dNoOutputFonts -sDEVICE=pdfwrite D:\112.pdf”

有用,

但是当我通过 GhostScript.net 在 C# 中运行它时,它总是给出错误

“调用 'gsapi_init_with_args' 时发生错误:-100”

有人知道吗?非常感谢你的帮助

0 投票
1 回答
492 浏览

path - GhostScript.net 无法识别文件名中的特殊字符

'gsapi_init_with_args' 是:-100"

但是如果将文件路径更改为同伴

字符串 inputFile = "D:\%1.pdf"; (包含 %) 字符串 outputFile = "D:\output.pdf"; (不包含 %)

它有效,没问题

如果将文件路径更改为同伴

字符串 inputFile = "D:\你.pdf"; 字符串 outputFile = "D:\output.pdf";

inputFile="D:\你.pdf" "你" 是汉字

这也行不通

我做了更多的测试,如果文件路径包含中文字符,则不起作用。

任何人都可以提供一些建议吗?非常感谢。

我做了一些更改以将文件名转换为 UTF8 作为研究员

UTF8Encoding utf8 = new UTF8Encoding();

字符串 inputFile = "D:\你.pdf"; 字符串输出文件 = "D:\%91.pdf";

字节[] inputFileEncodedBytes = utf8.GetBytes(inputFile);

字节[] outPutFileEncodedBytes = utf8.GetBytes(outputFile);

字符串 strInput = System.Text.Encoding.UTF8.GetString(inputFileEncodedBytes);
字符串 strOutPut =System.Text.Encoding.UTF8.GetString(outPutFileEncodedBytes);

ghostscript.Process(GetArgs(strInput, strOutPut));

结果是一样的

0 投票
1 回答
166 浏览

ghostscript - 多线程运行 GhostScript.net 时出错

我运行两个therad,每个线程处理它的pdf,每个线程线程都有它自己的GhostscriptProcessor,如果我只启动一个线程没有问题,但是如果我启动两个线程,gohstScript.net会给出错误“调用时发生错误” 'gsapi_new_instance' 是:-100" 我尝试版本 gs64bit 和版本 gs32bit ,结果是一样的

我作为研究员的代码有人可以帮助我吗?多谢。