Sådan konverteres pdf-filer automatisk til txt-filer

  1. Motivering

Når jeg skriver et papir, konsulterer jeg normalt værktøjet, der hedder AntCont for at søge efter ord, som jeg ikke ved, hvordan jeg skal bruge. Værktøjet accepterer en liste over tekstfiler, og jeg er nødt til at konvertere papirerne i mit korpus, som normalt er i pdf-format til txt-filer.

Manuel konvertering af pdf-filer til txt-filer er kedelig. I denne artikel vil jeg vise dig, hvordan du konverterer pdf-filer til txt-filer automatisk.

2. Brugte værktøjer

  • Du kan gemme pdf-filer i et Google-drev og txt-filer i et andet Google-drev. Du kan også bruge lokale mapper.
  • pdfminer (https://pdfminersix.readthedocs.io/en/latest/)(Jeg bruger implementeringen fra https://stackoverflow.com/questions/26494211/extracting-text-from-a-pdf-file-using-pdfminer -in-python / 26495057 # 26495057)

3. Opgaver

  • Tag en pdf-fil fra et bibliotek, og få pdf-teksten.
  • Gem pdf-teksten i en txt-fil.
  • Kontroller, om txt-filen findes, hvis den findes, ikke nødvendigt at konvertere pdf-filen.

4. Gennemførelse

  • Opsæt stier til pdf- og txt-filer

pdfs_dir = '/ indhold / drev / Mit drev / pdfs'

txts_dir = '/ indhold / drev / Mit drev / txts'

  • Liste over alle filer i et pdf-bibliotek:

pdfs = glob.glob (f ”{pdfs_dir} / *. pdf”)

  • Konverter en pdf-fil til txt ved hjælp af en funktion "convert_pdf_to_txt" (src: https://stackoverflow.com/questions/26494211/extracting-text-from-a-pdf-file-using-pdfminer-in-python/26495057#26495057 ). Denne funktion returnerer teksten til pdf-filen. Bemærk, at jeg bruger Python 3.6.9 med colab, jeg er nødt til at fjerne “codec” -parameteren fra linjen “device = TextConverter (rsrcmgr, retstr, laparams = laparams)”.
  • Beregn sha256-hash for pdf-filen (src: https://stackoverflow.com/questions/22058048/hashing-a-file-in-python)
  • Skriv pdf-teksten til en fil, og navngiv den ved hjælp af sha256-hash for pdf-filen.

Du kan nemt synkronisere pdf- og txt-filer fra dit Google Drev til dine lokale biblioteker. Når du har et nyt papir i pdf-format, og du vil konvertere det til txt-fil, skal du bare køre koden.

Link til Jupiter-notebook: https://colab.research.google.com/drive/1OqznFIgudxLjziTiBWLhFHRV4UNl3I-e