Цикл по PDF для создания фрейма данных - PullRequest
0 голосов
/ 07 марта 2019

Я пытаюсь перебрать несколько PDF-файлов и объединить их, используя rbind. Прямо сейчас у меня есть это:

for (i in 1:length(all_pdfs)) {
   docket <- pdftools::pdf_text(all_pdfs[[i]]) %>%
     as.tibble() %>%
     mutate(month = as.character(d$docket_month[[i]]))
  }

где all_pdfs - это список PDF-файлов. Тем не менее, docket возвращает только первый PDF-файл в виде кадра данных. Что я делаю неправильно? Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 13 марта 2019

Я не знаю, как объединить PDF-файлы с R, но если у вас установлен Python, вы можете использовать приведенный ниже код для объединения всех PDF-файлов в один файл.

# pdf_merger.py

import glob
from PyPDF2 import PdfFileWriter, PdfFileReader

def merger(output_path, input_paths):
    pdf_writer = PdfFileWriter()

    for path in input_paths:
        pdf_reader = PdfFileReader(path)
        for page in range(pdf_reader.getNumPages()):
            pdf_writer.addPage(pdf_reader.getPage(page))

    with open(output_path, 'wb') as fh:
        pdf_writer.write(fh)


if __name__ == '__main__':
    paths = glob.glob('C:/your_path/*.pdf')
    paths.sort()
    merger('pdf_merger.pdf', paths)

https://www.blog.pythonlibrary.org/2018/04/11/splitting-and-merging-pdfs-with-python/

0 голосов
/ 07 марта 2019

Вы можете попытаться встроить список в список, а затем удалить его из списка.

docket <- list()
for (i in 1:length(all_pdfs)) {
          docket[[i]] <- pdftools::pdf_text(all_pdfs[[i]]) %>%
          as.tibble() %>%
          mutate(month = as.character(d$docket_month[[i]]))
       }

docket <- unlist(docket)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...