Option Explicit
Private objPDF As Object
Private pagPDF As Object
Private pagHilitelist As Object
Private pagActual As Object
Private datosPDF As String
Private numPagPDFObj As Object
Private resultadoApertura As Boolean
Private resultadoCierre As Boolean
Private resultadoHilitelist As Boolean
Private numPaginas As Integer
Private rutaFicheroPDF As String
Private numeroPagina As Integer
Private Sub bObtenerTextoPDF_Click()
[Link] = ""
datosPDF = ""
[Link] = ""
extraerTextoPDF
[Link] = datosPDF
MsgBox "El proceso de extracción de texto de fichero PDF " + _
"ha finalizado correctamente.", vbInformation, "Extraer texto
PDF"
End Sub
Private Sub bSelPDF_Click()
[Link]
[Link] = [Link]
End Sub
Private Sub extraerTextoPDF()
On Error GoTo cError
'crearemos un objeto de tipo "pddoc" para el acceso al PDF
Set numPagPDFObj = CreateObject("[Link]")
rutaFicheroPDF = [Link]
resultadoApertura = [Link](rutaFicheroPDF)
'intentamos abrir el fichero pdf de acrobat
If resultadoApertura = False Then
Set numPagPDFObj = Nothing
MsgBox "Error al intentar abrir el fichero pdf indicado. " + _
"Puede que no sea un PDF de adobe o que el " + _
"fichero esté corrupto.", vbExclamation, vbOK
Exit Sub
End If
'obtenemos el número de páginas del documento pdf
numPaginas = [Link]
resultadoCierre = [Link]
If resultadoCierre = False Then
Set numPagPDFObj = Nothing
MsgBox "Error al intentar cerrar el fichero pdf indicado. ", _
vbExclamation, vbOK
Exit Sub
End If
Set numPagPDFObj = Nothing
Set objPDF = CreateObject("[Link]")
resultadoApertura = [Link](rutaFicheroPDF)
For numeroPagina = 0 To numPaginas - 1
DoEvents
obtenerTextoPaginaPDF numeroPagina
[Link] = "Extrayendo : " & numeroPagina + 1 & _
" de " & numPaginas
Next
Set objPDF = Nothing
[Link] = "Nº de páginas extraídas del pdf: " _
& numPaginas
cSalir:
Exit Sub
cError:
MsgBox "No se ha podido extraer el texto del fichero pdf:" + _
vbCrLf + vbCrLf + " · Nº error: " + [Link] + _
vbCrLf + " · Descripción error: " + [Link],
vbExclamation, vbOK
[Link] = "Error al obtener texto de pdf"
GoTo cSalir
End Sub
Private Sub obtenerTextoPaginaPDF(numPagina As Integer)
Dim i As Integer
On Error GoTo cError
'creamos un objeto de página pdf, desde una página especificada
Set pagPDF = [Link](numPagina)
'crearemos un objeto "hilitelist", lo utilizaremos para extraer el texto
Set pagHilitelist = CreateObject("[Link]")
resultadoHilitelist = [Link](0, 9000)
Set pagActual = [Link](pagHilitelist)
For i = 0 To [Link] - 1
DoEvents
datosPDF = datosPDF & [Link](i)
Next
Set pagPDF = Nothing
Set pagHilitelist = Nothing
Set pagActual = Nothing
cSalir:
Exit Sub
cError:
MsgBox "No se ha podido extraer el texto del fichero pdf:" + _
vbCrLf + vbCrLf + " · Nº error: " + [Link] + _
vbCrLf + " · Descripción error: " + [Link],
vbExclamation, vbOK
[Link] = "Error al obtener texto de pdf"
[Link] = datosPDF
GoTo cSalir
End Sub
Private Sub Form_Load()
[Link] = ""
End Sub
[Link]
name=Foros&file=viewtopic&t=198