Avatar billede komputerdk Mester
29. juli 2008 - 15:38 Der er 1 kommentar og
1 løsning

PDF til text - nem og gratis ?

hej

ved godt at jeg laver det i VBA (Excel) , men anyway here goes:

1) jeg har ca 40 PDF filer
2) de skal laves over til text
3) der søges i disse for at finde et unikt nummer
4) dette nummer slås på i en DB (ADO)
5) resultatet fra DBEn giver så det nye navn til PDF filen

Problemet er bare at min måde at få PDF til txt er for langsom, så den når ikke at lave dokumentet som txt før den går videre i koden :(

den jeg har lavet er basalt set åbne adobe reader 9 og sende keys til at gemme og lukke


Function gemPDFTXT(nyfilnavne As String)

'Sæt path til acroRD32.exe
acrobat9 = "C:\Program Files\Adobe\Reader 9.0\Reader\AcroRd32.exe"
filnavn = nyfilnavne
gemPDFTXT = Left(filnavn, Len(filnavn) - 3) & "txt"

Call Shell(acrobat9 & " " & filnavn, vbNormalFocusv) 'Åbner fil
Application.Wait (Now + TimeValue("0:00:8")) 'Venter 5 sekunder, så der kan nås at åbne
Application.SendKeys ("%fv") 'Sender tasterne ALT+F og ALT +v (Filer > Gem som text)
Application.Wait (Now + TimeValue("0:00:1"))
Application.SendKeys (txtfilnavn)
Application.Wait (Now + TimeValue("0:00:1"))
Application.SendKeys ("%G") 'gem
Application.Wait (Now + TimeValue("0:00:5"))
Application.SendKeys ("^w") 'luk
End Function


hvordan får jeg en funktion som er dels hurtigere, men så man undgår at åbne programmet på denne måde???
Avatar billede komputerdk Mester
30. juli 2008 - 11:14 #1
fandt pdftotext fra www.foolabs.com/xpdf som konverterer via teksstreng

skal dog have en wait på 2 seks. ellers er koden for hurtig

så man kan erstatte acro9 med

call shell("c:\path2pdftotxt\pdftotext.exe " & filnavn &" "& txtfilnavn & ", vbnormalfocus)
Avatar billede kjulius Novice
30. juli 2008 - 19:16 #2
Du kan godt lave en "ny" synkron shell kommando, som venter til det kaldte program er færdig, før det returnerer. Det kræver bare lidt kode, men copy/paste hjælper jo godt:

http://support.microsoft.com/kb/q129796/

På den måde behøver du ikke fastsætte en bestemt wait-tid, som måske er lovlig lang for nogle filer, mens den ikke er lang nok for andre.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester