使用vb.net显示pdf

PDF文件有一个内部文档格式,需要一个“理解”该格式的软件对象。由于许多人可能在VB代码中使用了Office的功能,因此让我们简单地看一下Microsoft Word,作为处理格式化文档的示例,以确保我们理解这个概念。如果要使用Word文档,必须添加对Microsoft Word 12.0对象库(用于Word 2007)的引用,然后在代码中实例化Word应用程序对象。...

PDF文件有一个内部文档格式,需要一个“理解”该格式的软件对象。由于许多人可能在VB代码中使用了Office的功能,因此让我们简单地看一下Microsoft Word,作为处理格式化文档的示例,以确保我们理解这个概念。如果要使用Word文档,必须添加对Microsoft Word 12.0对象库(用于Word 2007)的引用,然后在代码中实例化Word应用程序对象。

pdf icon Dim myWord As Microsoft.Office.Interop.Word.ApplicationClass 'Start Word and open the document. myWord = CreateObject("Word.Application") myWord.Visible = True myWord.Documents.Open("C:\myWordDocument.docx")

(“”必须替换为文档的实际路径,才能使此代码在您的电脑上工作。)

Microsoft使用Word对象库提供其他方法和属性供您使用。阅读VisualBasic中的COM-.NET互操作性文章,以了解有关Office COM互操作性的更多信息。

但是PDF文件不是微软的技术。PDF-可移植文档格式-是Adobe Systems为文档交换创建的文件格式。多年来,它完全是私有的,你必须从Adobe获得可以处理PDF文件的软件。2008年7月1日,PDF最终确定为已发布的国际标准。现在,任何人都可以创建可以读写PDF文件的应用程序,而无需向Adobe系统支付版税。如果你打算出售你的软件,你可能仍然需要获得许可证,但Adobe为他们提供免版税的服务。(微软创建了一种称为XPS的不同格式,它基于XML。Adobe的PDF格式基于Postscript。XPS于2009年6月16日成为一种已发布的国际标准。)

pdf的用途

由于PDF格式是Microsoft技术的竞争对手,他们不提供很多支持,因此您必须立即从Microsoft以外的其他人处获得“理解”PDF格式的软件对象。Adobe回报了我们的帮助。他们也不太支持微软的技术。引用最新(2009年10月)Adobe Acrobat 9.1文档,“目前不支持使用托管语言(如C#或VB.NET)开发插件。”(插件是一种按需软件组件。Adobe的插件用于在浏览器中显示PDF。)

由于PDF是一种标准格式,一些公司已经开发了可供销售的软件,您可以将其添加到您的项目中来完成这项工作,包括Adobe。还有许多开源系统可用。您也可以使用Word(或Visio)对象库来读取和写入PDF文件,但仅为了这一点而使用这些大型系统将需要额外编程,还存在许可证问题,并将使您的程序比必须的更大。

正如你需要在使用Word之前购买Office一样,你也必须先购买Acrobat的完整版本,然后才能利用不仅仅是读者的优势。使用Acrobat产品的方式与使用其他对象库(如上面的Word 2007)的方式大致相同。我没有安装完整的Acrobat产品,因此我无法在此提供任何测试示例。

如何

但是,如果您只需要在程序中显示PDF文件,Adobe提供了一个ActiveX COM控件,您可以将其添加到VB.NET工具箱中。它将免费完成这项工作。不管怎么说,它可能就是你用来显示PDF文件的那个:免费的AdobeAcrobatPDF阅读器。

要使用Reader控件,首先确保您已从Adobe下载并安装了免费的Acrobat Reader。

第2步是将控件添加到VB.NET工具箱中。打开VB.NET并启动标准Windows应用程序。(Microsoft的“下一代”演示文稿WPF尚未使用此控件。很抱歉!)若要执行此操作,请右键单击任何选项卡(如“常用控件”),然后从弹出的关联菜单中选择“选择项…”。选择“COM组件”选项卡,单击“Adobe PDF Reader”旁边的复选框,然后单击确定。您应该能够向下滚动到工具箱中的“控件”选项卡,并在那里看到“AdobePDF阅读器”。

现在只需将控件拖动到设计窗口中的Windows窗体,并适当调整其大小。对于这个简单的例子,我不打算添加任何其他逻辑,但是控件具有很大的灵活性,稍后我将告诉您如何了解这些。对于这个例子,我将加载我在Word2007中创建的一个简单的PDF。为此,请将此代码添加到表单加载事件过程:

Console.WriteLine(AxAcroPDF1.LoadFile( _ "C:\Users\Temp\SamplePDF.pdf"))

在您自己的计算机上替换PDF文件的路径和文件名以运行此代码。我在输出窗口中显示了调用的结果,只是为了说明它是如何工作的。结果如下:

--------单击此处显示插图单击浏览器上的“上一步”按钮返回--------

如果要控制读取器,控件中也有相应的方法和属性。但是Adobe的好人比我做得更好。从他们的开发者中心下载AdobeAcrobatSDK(http://www.adobe.com/devnet/acrobat/). SDK的VBSamples目录中的AcrobatActiveXVB程序向您展示了如何在文档中导航,获取您正在使用的Adobe软件的版本号,以及更多内容。如果您没有安装完整的Acrobat系统(必须从Adobe购买),您将无法运行其他示例。

  • 发表于 2021-10-09 07:36
  • 阅读 ( 213 )
  • 分类:编程

你可能感兴趣的文章

功能(function)和vb程序(procedure in vb)的区别

...句块。因此,本文概述了函数和过程之间的主要区别。 使用 函数有助于执行包含任务,而过程有助于使代码可读、易于修改和调试。因此,这就是函数和过程的功能区别。 分类 此外,函数是一种特定类型的过程,而过程是一...

  • 发布于 2021-07-01 18:59
  • 阅读 ( 272 )

vb语言(vb)和运动模拟(vb.net)的区别

...VB发展而来的,但它与VB有着多方面的不同。例如,它不使用以前版本的visualbasic中使用的几种语法形式。与VB不同,VB.net完全符合公共语言规范(CLS)。 NET增加了各种功能和特性,如真正的面向对象继承(甚至跨语言对象继承...

  • 发布于 2021-07-13 21:15
  • 阅读 ( 249 )

vb.net中的强制转换和数据类型转换

...DirectCast、CType和TryCast—并比较了它们的性能。 何时使用不同的铸造操作 微软和其他文章称,性能是三家铸造运营商之间最大的差异之一。例如,微软通常谨慎地警告说,“DirectCast。。。在转换数据类型对象和从数据类型对...

  • 发布于 2021-09-07 01:21
  • 阅读 ( 224 )

visual basic术语表

... 32位 可并行处理或传输的位数,或数据格式中单个元素使用的位数。尽管这个术语在整个计算和数据处理过程中都使用(如8位、16位和类似的公式),但在VB术语中,这意味着用于表示内存地址的位数。随着VB5和OCX技术的引入...

  • 发布于 2021-09-10 22:25
  • 阅读 ( 234 )

什么是vb.net资源及其使用方法(vb.net resources and how)

...部署应用程序时获得最大的执行速度和最小的麻烦。 使用资源文件不是在VB项目中包含文件的唯一方法,但它有真正的优势。例如,可以在PictureBox控件中包含位图,或使用mciSendString Win32 API。 Microsoft将资源定义为“与应用程...

  • 发布于 2021-09-11 23:50
  • 阅读 ( 179 )

处理对象

...技术通常安静而高效地处理幕后的一切。但有时,通常在使用文件流、sql对象或图形(GDI+)对象(即非托管资源)时,您可能需要控制在自己的代码中处理对象。 首先,一些背景 就像构造器(New关键字)创建新对象一样,...

  • 发布于 2021-09-11 23:51
  • 阅读 ( 217 )

vb.net控件继承编程简介

...Windows中。但是有很多。 另一点需要注意的是,如果您使用的是WPF(Windows Presentation Foundation),.NET CheckBox类来自一个名为System.Windows.Controls的完全不同的库。本文仅适用于Windows窗体应用程序,但此处的继承原则适用于任何VB.NET...

  • 发布于 2021-09-11 23:52
  • 阅读 ( 180 )

如何在visual basic 6中创建和使用资源(create and use resources in visual basic 6)

...定义光标或其他特殊效果?”答案之一是资源文件。当您使用VisualStudio资源文件添加文件时,它们将直接集成到Visual Basic项目中,以获得最大的执行速度和最小的打包和部署应用程序的麻烦。 资源文件在VB 6和VB.NET中都可用,...

  • 发布于 2021-09-11 23:54
  • 阅读 ( 222 )

vb.net解决方案和项目文件“sln”和“vbproj”

...,但该解决方案中可以打开许多项目。这些项目甚至可以使用不同的语言。 通过创建一些解决方案并查看结果,您可以更好地了解解决方案是什么。“空白解决方案”生成一个文件夹,其中只有两个文件:解决方案容器和解决...

  • 发布于 2021-09-11 23:55
  • 阅读 ( 220 )

vb.net中的region指令

...生成的源代码都包含在内,并且作为程序员可以在项目中使用。较旧的Visual Basic版本创建了无法识别的p代码,您无法看到,也无法更改。即使生成的代码在您的程序中,更改任何代码都不是一个好主意。如果您不知道自己在做...

  • 发布于 2021-09-11 23:55
  • 阅读 ( 173 )
ZHong323555
ZHong323555

0 篇文章

相关推荐