【发布时间】:2017-01-05 00:53:40
【问题描述】:
我希望能够让我的应用程序检查是否安装了 Adobe Reader。 如果是,我希望我的程序使用它来显示 PDF,如果不是,我想使用我的免费(有限)阅读器控件来显示 PDF。
任何建议
编辑: 我的问题似乎有点宽泛 所以基本上我正在尝试执行以下操作
Try
Dim AcroDisplay As New AxAcroPDFLib.AxAcroPDF
AcroDisplay.Left = 50
AcroDisplay.Top = 50
AcroDisplay.Width = 200
AcroDisplay.Height = 500
me.Controls.Add(AcroDisplay)
MsgBox("Acro Added")
Catch ex As Exception
MsgBox("Acro Not installed")
''Load Alternate PDF viewer (Spire.pdf Free)
End Try
但是,当未安装 Acrobat 而不是转到 catch 语句时,它只会显示错误“无法加载程序集”,然后退出子
我想要的是,如果没有安装 acrobat 控件,它不会显示和错误,而是只加载备用 pdf 查看器
有没有办法在尝试加载之前检查 AxAcroPDFLib.AxAcroPDF?
希望这能让事情更清楚
编辑 2: 在搜索和搞砸之后,我发现了两种可能的方法,我可以做到这一点 但是我都无法在 VB.net 中找到如何做到这一点
首先 在可用的命名空间中查找 AxAcroPDFLib.AxAcroPDF 找到 C# 示例,但我不知道如何将其更改为 Vb.net C# - How to check if namespace, class or method exists in C#??
第二 添加未处理的异常处理程序 还找到了一些示例,但似乎没有一个有效
任何人都可以将我引导到这些选项中的一个(或两个)的工作示例
【问题讨论】:
-
即使他们没有 Adobe Reader(通常不太可能),他们也很可能有一个可以显示
pdf的网络浏览器。你有没有想过那样做,my free (limited) reader control那里有很多,为什么要重新发明轮子?我也很好奇您是如何创建自己的 pdf 查看器控件... -
我曾考虑使用网络浏览器打开 pdf,但这不适合我的需要,我也没有自己制作,我使用的是 spire.pdf,有 10页数限制和一些 pdf 超过 10 页,我并不是真的在寻找替代方法来做到这一点,但如果可能的话。在最坏的情况下,我可以用我的程序重新编辑 adobe reader
标签: vb.net pdf adobe controls reader