Salve a tutti,
sto cercando di estrarre il testo da un file pdf attraverso una mia applicazione in VB6.
Ho trovato degli articoli molto interessanti che mi hanno aiutato nello sviluppo... perō mi son trovato alle prese con un problema che non riesco a risolvere. Verificando il testo estratto e riportato nella Text Box, ho notato che mancano delle parti e quindi non viene estratto tutto.
Per quale motivo il codice sottostane provoca queste mancanze?
Grazie a tutti
Davide
Option Explicit
Private doc As Object
Private res As Boolean
Private page As Object
Private pageHilite As Object
Private pageSelect As Object
Private Sub Form_Load()
lblPagine.Visible = False
cmbPagine.Visible = False
cmdApri.Visible = False
End Sub
Private Sub cmdScelta_Click()
On Error Resume Next
Dim numPg As Integer, count As Integer
CD.Filter = "PDF Files|*.pdf"
CD.ShowOpen
txtFile.Text = CD.FileName
' verifico che sia un pdf
If txtFile.Text = "" Then
Exit Sub
End If
If Right(txtFile.Text, 3) <> "pdf" Then
MsgBox "Il file selezionato non č un pdf!", , "Errore"
lblPagine.Visible = False
cmbPagine.Visible = False
cmdApri.Visible = False
Exit Sub
End If
' conteggio pagine
Set doc = CreateObject("AcroExCh.PDDoc")
res = doc.Open(txtFile.Text)
' caricamento combo
numPg = doc.GetNumPages
For count = 1 To numPg
cmbPagine.AddItem count
Next count
' rendo visibili combo, label e pulsante
cmbPagine.Visible = True
cmbPagine.ListIndex = 0
lblPagine.Visible = True
cmdApri.Visible = True
End Sub
Private Sub cmdApri_Click()
Dim frammento As String, out As String
Dim count As Integer
' apro la pagina indicata nella combo
Set page = doc.AcquirePage(cmbPagine.ListIndex)
Set pageHilite = CreateObject("AcroExCh.HiliteList")
res = pageHilite.Add(0, 9000)
Set pageSelect = page.createPageHilite(pageHilite)
For count = 0 To pageSelect.GetNumText - 1
frammento = (pageSelect.GetText(count))
out = out & frammento
Next count
txtPdf.Text = out
End Sub
Private Sub Form_Unload(Cancel As Integer)
On Error Resume Next
doc.Close
Set doc = Nothing
Set page = Nothing
Set pageHilite = Nothing
Set pageSelect = Nothing
End Sub