Bir PDF dosyasının sayfa sayısını öğrenmek istediğimizde aşağıdaki gibi bir yol izleyebiliriz. Bu işlemi yapmak için System.IO ve System.Text.RegularExpressions kütüphanesini kullanacağız. Bu yüzden bu kütüphaneleri projenize Import etmeyi unutmayın.
System.IO kütüphanesini FileStream ve StreamReader tanımlamak, System.Text.RegularExpressions kütüphanesini ise PDF dosyası üzerindeki eşleşmeleri tespit edebilmek için kullanacağız.
Imports System.IO
Imports System.Text.RegularExpressions
Kütüphaneleri projemize Import ettikten sonra aşağıdaki kodları kullanabiliriz. Bu kodları istediğiniz bir nesnenin istediğiniz bir olayına(event) yerleştirebilirsiniz.
Dim DosyaYolu As New FileStream("C:\bilgi-sayar.pdf", FileMode.Open, FileAccess.Read)
Dim Okuyucu As New StreamReader(DosyaYolu)
Dim pdfText As String = Okuyucu.ReadToEnd()
Dim rgx1 As Regex = New Regex("/Type\s*/Page[^s]")
Dim Eslesmeler As MatchCollection = rgx1.Matches(pdfText)
MessageBox.Show("PDF dosyasında toplam " + Eslesmeler.Count.ToString() + " sayfa var.")
Dim DosyaYolu As New FileStream satırındaki tırnakların içine sayfa sayısını öğrenmek istediğimiz PDF’in dosya yolunu giriyoruz.
Kodların tamamı;
Imports System.IO
Imports System.Text.RegularExpressions
Dim DosyaYolu As New FileStream("C:\bilgi-sayar.pdf", FileMode.Open, FileAccess.Read)
Dim Okuyucu As New StreamReader(DosyaYolu)
Dim pdfText As String = Okuyucu.ReadToEnd()
Dim rgx1 As Regex = New Regex("/Type\s*/Page[^s]")
Dim Eslesmeler As MatchCollection = rgx1.Matches(pdfText)
MessageBox.Show("PDF dosyasında toplam " + Eslesmeler.Count.ToString() + " sayfa var.")
bu kodu bu sitede bulduğuma inanamıyorum
Mükemmellsinizde bu programı kurdum her pdf’in sayfasını toplanıyor PDF/A olarak bazılarını değiştirmek zorunda kalıyorum çözüm olarak bunu buldum ama binlerce Pdf var başka bir alternatif varmı