我正在尝试循环多个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作为数据框架返回。我究竟做错了什么?提前致谢。
您可以尝试在列表中构建文件,然后将列表列入列表。
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)
我不知道如何与r合并PDF文件,但是如果您安装了Python,则可以使用Tom下面的代码将所有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-andsplitting-and-merging-pdfs-with-python/