为了账号安全,请及时绑定邮箱和手机立即绑定

在 C# 中使用 QPDF

在 C# 中使用 QPDF

C#
猛跑小猪 2021-06-04 22:21:29
我正在尝试翻译这个 qpdf 命令:qpdf --qdf --object-streams=disable input.pdf editable.pdf进入使用 qpdf dll 时所需的等效方法调用(可从此处获得:https ://sourceforge.net/projects/qpdf/ )。我通过 dumpbin 运行 qpdf dll 以获取函数名称,通过查看包含在 c++ 项目中的头文件,我可以看到函数的参数。例如,传递上面的 --object-streams 选项所需的函数(据我所知)是这个函数:void setObjectStreamMode(qpdf_object_stream_e);从 C++ 头文件变成:[DllImport("qpdf21.dll")]static extern void _ZN10QPDFWriter19setObjectStreamModeE20qpdf_object_stream_e(int stateEnum);在 C# 文件中。问题是当我使用上述功能时,我得到一个AccessViolationException: 试图读取或写入受保护的内存错误,这让我觉得我需要以某种方式创建一个 QPDF 对象,但我从未使用过面向对象的 pinvokes,所以我不知道如何在 c# 中访问该对象。如果有人已经熟悉在 C# 中使用 dll,甚至在 C++ 中,并且可以告诉我调用以复制命令的正确函数,我将不胜感激!
查看完整描述

2 回答

  • 2 回答
  • 0 关注
  • 237 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信