GhostscriptRasterizer 对象返回 0 作为 PageCount 值

2023-11-24

            txtStatus.Text = "";
            if (!File.Exists(txtOpenLocation.Text))
            {
                txtStatus.Text = "File Not Found";
                return;
            }

            txtStatus.Text = "File Found";



            const string DLL_32BITS = "gsdll32.dll";
            const string DLL_64BITS = "gsdll64.dll";

            //select DLL based on arch
            string NomeGhostscriptDLL;
            if (Environment.Is64BitProcess)
            {
                NomeGhostscriptDLL = DLL_64BITS;
            }
            else
            {
                NomeGhostscriptDLL = DLL_32BITS;
            }




            GhostscriptVersionInfo gvi = new GhostscriptVersionInfo(NomeGhostscriptDLL);
            var rasterizer = new GhostscriptRasterizer();
            try
            {              
                rasterizer.Open(txtOpenLocation.Text, gvi, true);

                Console.WriteLine(rasterizer.PageCount); //This line always prints 0
            } catch(Exception er)
            {
                txtStatus.AppendText("\r\nUnable to Load the File: "+ er.ToString());
                return;
            }

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

The 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 文件。


我昨天也遇到了同样的问题,我从这里下载了9.26版本https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs926/gs926aw32.exe,并且有效!

我认为这是 Ghostscript 9.27 版本的一个错误。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

GhostscriptRasterizer 对象返回 0 作为 PageCount 值 的相关文章

  • EF Core Group By 翻译支持条件总和

    听说 EF Core 2 1 将支持翻译小组 我感到非常兴奋 我下载了预览版并开始测试它 但发现我在很多地方仍然没有得到翻译分组 在下面的代码片段中 对 TotalFlagCases 的查询将阻止翻译分组工作 无论如何 我可以重写这个以便我
  • 如何使用 C# 中的参数将用户重定向到 paypal

    如果我有像下面这样的简单表格 我可以用它来将用户重定向到 PayPal 以完成付款
  • “构建”构建我的项目,“构建解决方案”则不构建

    我刚刚开始使用VS2010 我有一个较大的解决方案 已从 VS2008 成功迁移 我已将一个名为 Test 的控制台应用程序项目添加到解决方案中 选择构建 gt 构建解决方案不编译新项目 选择构建 gt 构建测试确实构建了项目 在失败的情况
  • 为什么 C# Array.BinarySearch 这么快?

    我已经实施了一个很简单用于在整数数组中查找整数的 C 中的 binarySearch 实现 二分查找 static int binarySearch int arr int i int low 0 high arr Length 1 mid
  • GLKit的GLKMatrix“列专业”如何?

    前提A 当谈论线性存储器中的 列主 矩阵时 列被一个接一个地指定 使得存储器中的前 4 个条目对应于矩阵中的第一列 另一方面 行主 矩阵被理解为依次指定行 以便内存中的前 4 个条目指定矩阵的第一行 A GLKMatrix4看起来像这样 u
  • 从Web API同步调用外部api

    我需要从我的 Web API 2 控制器调用外部 api 类似于此处的要求 使用 HttpClient 从 Web API 操作调用外部 HTTP 服务 https stackoverflow com questions 13222998
  • 用于登录 .NET 的堆栈跟踪

    我编写了一个 logger exceptionfactory 模块 它使用 System Diagnostics StackTrace 从调用方法及其声明类型中获取属性 但我注意到 如果我在 Visual Studio 之外以发布模式运行代
  • 不同枚举类型的范围和可转换性

    在什么条件下可以从一种枚举类型转换为另一种枚举类型 让我们考虑以下代码 include
  • C#中如何移动PictureBox?

    我已经使用此代码来移动图片框pictureBox MouseMove event pictureBox Location new System Drawing Point e Location 但是当我尝试执行时 图片框闪烁并且无法识别确切
  • C++ OpenSSL 导出私钥

    到目前为止 我成功地使用了 SSL 但遇到了令人困惑的障碍 我生成了 RSA 密钥对 之前使用 PEM write bio RSAPrivateKey 来导出它们 然而 手册页声称该格式已经过时 实际上它看起来与通常的 PEM 格式不同 相
  • 重载<<的返回值

    include
  • 显示UnityWebRequest的进度

    我正在尝试使用下载 assetbundle统一网络请求 https docs unity3d com ScriptReference Networking UnityWebRequest GetAssetBundle html并显示进度 根
  • 如何设计以 char* 指针作为类成员变量的类?

    首先我想介绍一下我的情况 我写了一些类 将 char 指针作为私有类成员 而且这个项目有 GUI 所以当单击按钮时 某些函数可能会执行多次 这些类是设计的单班在项目中 但是其中的某些函数可以执行多次 然后我发现我的项目存在内存泄漏 所以我想
  • SolrNet连接说明

    为什么 SolrNet 连接的容器保持静态 这是一个非常大的错误 因为当我们在应用程序中向应用程序发送异步请求时 SolrNet 会表现异常 在 SolrNet 中如何避免这个问题 class P static void M string
  • 覆盖子类中的字段或属性

    我有一个抽象基类 我想声明一个字段或属性 该字段或属性在从该父类继承的每个类中具有不同的值 我想在基类中定义它 以便我可以在基类方法中引用它 例如覆盖 ToString 来表示 此对象的类型为 property field 我有三种方法可以
  • 链接器错误:已定义

    我尝试在 Microsoft Visual Studio 2012 中编译我的 Visual C 项目 使用 MFC 但出现以下错误 error LNK2005 void cdecl operator new unsigned int 2
  • 向现有 TCP 和 UDP 代码添加 SSL 支持?

    这是我的问题 现在我有一个 Linux 服务器应用程序 使用 C gcc 编写 它与 Windows C 客户端应用程序 Visual Studio 9 Qt 4 5 进行通信 是什么very在不完全破坏现有协议的情况下向双方添加 SSL
  • 测试用例执行完成后,无论是否通过,如何将测试用例结果保存在变量中?

    我正在使用 NUNIT 在 Visual Studio 中使用 Selenium WebDriver 测试用例的代码是 我想在执行测试用例后立即在变量中记录测试用例通过或失败的情况 我怎样才能实现这一点 NUnit 假设您使用 NUnit
  • C# 模拟VolumeMute按下

    我得到以下代码来模拟音量静音按键 DllImport coredll dll SetLastError true static extern void keybd event byte bVk byte bScan int dwFlags
  • Windows 和 Linux 上的线程

    我在互联网上看到过在 Windows 上使用 C 制作多线程应用程序的教程 以及在 Linux 上执行相同操作的其他教程 但不能同时用于两者 是否存在即使在 Linux 或 Windows 上编译也能工作的函数 您需要使用一个包含两者的实现

随机推荐

  • 如何在 32 位平台上调用 GetWindowLongPtr 和 SetWindowLongPtr?

    我想 P 调用获取窗口长指针 and 设置窗口长指针 并且我看到有关它们的相互矛盾的信息 有消息称 在 32 位平台上 GetWindowLongPtr 只是一个调用 GetWindowLong 的预处理器宏 并且 GetWindowLon
  • Java:如何设置 htmlunit

    我对 Java 是个菜鸟 但我想尝试一下 htmlunit 我使用 netbeans 作为 IDE 并创建了一个项目文件夹 hu1 以下是该文件夹的结构 hu1 gt nbproject gt src gt hu1 gt test 现在 我
  • 带有共享 ID 的 JPA @OneToOne —— 我可以做得更好吗?

    我正在使用一个我不想更改的现有架构 该架构在表 Person 和 VitalStats 之间具有一对一的关系 其中 Person 有一个主键 VitalStats 使用相同的字段作为 Person 的主键和外键 这意味着它的值是相应 PK
  • 如何处理 FirebaseAuthUserCollisionException

    我开始得到FirebaseAuthUserCollisionException当我尝试登录时出现异常Facebook in my Android应用 com google firebase auth FirebaseAuthUserColl
  • 如何将形状文件导入MySQL

    我需要将 shape 文件中的空间数据导入 MySQL 表中 我能够导入到 PostGreSQL 中 MySQL 的任何指针 我需要MySQL表中的数据 安装 FWtool 后尝试此操作 ogr2ogr f MySQL MySQL data
  • 为什么存在这些替代运算符表示

    考虑这些替代运算符表示 取自here Primary Alternative and and eq bitand bitor compl not not eq or or eq xor xor eq 为什么存在这些替代运算符表示 我喜欢它们
  • dplyr:在 mutate 命令中使用过滤器、group_by [重复]

    这个问题在这里已经有答案了 我想在数据表中添加一列 其中包含 y 的每个值除以 x 1 或 2 中相应条件的平均值 其中 x2 1 对于以下数据 其中 x 1 y 应除以 1 4其中 x 2 y 应除以 1 dt1 lt data tabl
  • Python:Rabin-Karp 算法哈希

    我为了好玩而实现 Rabin Karp 算法 我遇到了这个伪代码 RABIN KARP MATCHER T P d q 1 n T length 2 m P length 3 h d m 1 mod q 4 p 0 5 t 0 6 for
  • 测试rxjs的正确方法

    我把书带来了 rxjs 在行动 并完成测试部分 测试 rxjs 代码与通常的测试不同 因为一切都是延迟加载 在书中 他们提到了两种测试方法 要么传递完成 我正在使用 QUnit 完成信号异步代码已完成 要么传递大理石图 我的问题是 我应该选
  • 在 PHP Web 应用程序中使用时区

    我已经花了几个小时寻找在 PHP MySQL Web 应用程序中使用时区的最佳方法 但很难找到明确的答案 根据我到目前为止所学到的 最好将每个人的资料存储在 UTC 的数据库中 如果我错了 请纠正我 当用户注册时 我会询问他们所在的时区 然
  • 如何使用变量名称引用工作表上的控件对象?

    我已将列表框添加到工作表 而不是 用户表单 我用鼠标做到了这一点 我单击了小锤子和扳手图标 使用如下代码似乎可以轻松引用此列表框 ListBox1 Clear or ListBox1 AddItem An option 但是 我有三个这样的
  • 将活动标题椭圆设置为中间?

    我有一个活动 其标题不断变化 但有时它很长 最后会出现省略号 我可以将椭圆设置为中间吗 你可以这样做 final int actionBarTitle Resources getSystem getIdentifier action bar
  • 将字节数组输出转换为 Blob 会损坏文件

    我正在使用 Office Javascript API 来使用 Angular 编写 Word 插件 我想通过 API 检索 Word 文档 然后将其转换为文件并通过 POST 上传到服务器 我使用的代码与 Microsoft 为此用例提供
  • 如何向 Linq 结果添加索引字段

    假设我有一个像这样的数组 string Filelist 我想创建一个 Linq 结果 其中每个条目都有其在数组中的位置 如下所示 var list from f in Filelist select new Index something
  • Javascript 反向引用后跟数字

    如果我有一个包含 13 个捕获组的正则表达式 我将如何指定包含第一个反向引用后跟文字 3 的替换字符串 var regex one 2 3 4 5 6 7 8 9 10 11 12 13 one2345678910111213 replac
  • 如何分解
    标签上的字符串

    我有一个像下面这样的字符串 Overall Queen Poster br Queen Poster Headboard br Queen Poster br Queen Footboard br Queen Poster Rails 62
  • 确定单列中的最后一行

    我有一张包含列数据的工作表A通过H 我需要确定列中的最后一行A包含数据 都是连续的 数据 行中没有间隙 其他列中也有数据more数据行数多于列数A 所以我只需要隔离列A 和 或只是 col 内的一个范围A 我可以使用电子表格级别执行此操作
  • 显示使用 imagecreatefromstring 创建的图像

    假设我的代码如下所示 我该用什么替换 这里放什么 这样我的图像数据就会显示 谢谢 我该用什么替换 这里放什么 这样我的图像数据就会显示 The location you highlighted is the so called src at
  • 在 SVN 子目录上提交和合并被认为是有害的?

    我们的主 SVN 项目根目录中有几个大型子项目 在使用我们的发布分支时 我只提交和合并我的子项目 主要是因为它更快 不过 有同事指出 参考合并子目录使用 Subversion 进行版本控制 又名 SVN 书 对于长期发布分支 如中所述 常见
  • GhostscriptRasterizer 对象返回 0 作为 PageCount 值

    txtStatus Text if File Exists txtOpenLocation Text txtStatus Text File Not Found return txtStatus Text File Found const