CONTADOR DE PAGINAS DE UM PDF
Como posso saber o total de paginas de um PDF. Com arquivos TIF utilizando Imgedit era atraves da propriedade PageCount.
Não testei, mas segue um código que tem esse objetivo.
Dim pages As Long
Public Sub pagecount(sfilename As String)
On Error GoTo a
Dim nFileNum As Integer
Dim s As String
Dim c As Integer
Dim pos, pos1 As Integer
pos = 0
pos1 = 0
c = 0
[ô] Get an available file number from the system
nFileNum = FreeFile
[ô]OPEN the PDF file in Binary mode
Open sfilename For Binary Lock Read Write As #nFileNum
[ô] Get the data from the file
Do Until EOF(nFileNum)
Input #1, s
c = c + 1
If c <= 10 Then
pos = InStr(s, [Ô]/N[Ô])
End If
pos1 = InStr(s, [Ô]/count[Ô])
If pos > 0 Or pos1 > 0 Then
Close #nFileNum
s = Trim(Mid(s, pos, 10))
s = Replace(s, [Ô]/N[Ô], [Ô][Ô])
s = Replace(s, [Ô]/count[Ô], [Ô][Ô])
s = Replace(s, [Ô] [Ô], [Ô][Ô])
s = Replace(s, [Ô]/[Ô], [Ô][Ô])
For i = 65 To 125
s = Replace(s, Chr(i), [Ô][Ô])
Next
pages = Val(Trim(s))
If pages < 0 Then
pages = 1
End If
Close #nFileNum
Exit Sub
End If
[ô]imp only 1000 lines searches
If c >= 1000 Then
GoTo a
End If
Loop
Close #nFileNum
Exit Sub
a:
Close #nFileNum
pages = 1
Exit Sub
End Sub
Private Sub Command1_Click()
pagecount ([Ô]c:\path o\your.pdf[Ô])
Label1.Caption = pages
End Sub
Nossa, Tecla!!!! hahahaha . A tempos que não via uma rotina com o comando GoTo... usei muito nos tempos do Basic para MSX.
Obrigado, mas não esta legal. Para qualquer arquivo PDF a resposta é sempre 1 página.
Consegui um codigo mas falta o componente para criar o objeto:
Set AcroPDDoc = CreateObject([Ô]AcroExch.PDDoc[Ô])
Set pdDoc = CreateObject([Ô]AcroExch.PDDoc[Ô])
Erro:Activex component can't create object
Set AcroPDDoc = CreateObject([Ô]AcroExch.PDDoc[Ô])
Set pdDoc = CreateObject([Ô]AcroExch.PDDoc[Ô])
Erro:Activex component can't create object
Tópico encerrado , respostas não são mais permitidas