VB.NETからPDFファイルを作成や各種情報を取得するには、専用のライブラリを利用する必要があり、サードパーティが提供する市販製品やフリーのライブラリが存在する。
フリーのライブラリである「iText.NET」を利用してみる。

iText.NETは、以下のサイトから取得することができる。
 Framework 1.1用
 Framework 2.0用

iText.NETを利用してPDFファイルを読み取る方法は、以下の通り。
Imports System
Imports com.lowagie.text
Imports com.lowagie.text.pdf
Imports java.io

Public Class iTextSample
 Public Shared Sub Main()
  Try
   Dim FilePath As String = "D:\test.pdf"
   'ファイルを読み込む
   Dim Reader As New PdfReader(FilePath)

   'ページの用紙サイズを取得する
   Dim PageSize As Rectangle = Reader.getPageSize(1)
   Dim Width As Single = PageSize.width()
   Dim Height As Single = PageSize.height()

   Debug.WriteLine("最終位置 = " & Reader.getEofPos)
   Debug.WriteLine("ファイルサイズ = " & Reader.getFileLength)
   Debug.WriteLine("ページ数 = " & Reader.getNumberOfPages())
   Debug.WriteLine("縦幅 × 横幅 = " & Height & " × " & Width)
  Catch ex As Exception
   Debug.WriteLine(ex.Message)
  End Try
 End Sub
End Class

【補足事項】
・iText.NETは、Javaで提供されているPDFライブラリのiTextを.NET環境に移植したものである。
・大容量のファイルを読み込む場合には、時間がかかる。
 →以下の処理は、ファイルサイズが大きくなればなるほど、処理時間がかかる。
   Dim Reader As New PdfReader(FilePath)
・PdfReaderオブジェクトのGetXXX()メソッドを利用することで、大抵の情報を取得できる。
 →ページ数、ページの用紙サイズ 等
・iText.NETを利用すれば、PDFファイルの作成やPDFファイルの結合も可能である。
・PDFファイルを開いて表示するだけの場合は、以前の記事「【VB.NET】PDFファイルを開いて表示する」の対応で十分である。

【参考サイト】
iText.NET
 →iText.NETの既知の障害内容やサンプルコード等が公開されている。