Использование PdfFileMerger в Python для объединения PDF-файлов с одинаковым именем, но с разными номерами.Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Использование PdfFileMerger в Python для объединения PDF-файлов с одинаковым именем, но с разными номерами.

Сообщение Anonymous »

У меня есть каталог, полный отдельных PDF-файлов, которые необходимо объединить по имени. Каждый отдельный PDF-файл состоит из одной страницы. Соглашение об именах для каждого файла состоит из строкового имени и номера. Примерно так выглядит мой каталог:
A_001.pdf
A_002.pdf
A_003.pdf
B_001.pdf
B_002. pdf
B_003.pdf
B_004.pdf
По сути, мне нужен один PDF-файл для A (в PDF-файле будет 3 страницы) и один PDF-файл для B (в PDF-файле будет 4 страницы) страницы). _001 и т. д. должны быть номером страницы. Мой текущий скрипт Python выводит A.pdf и B.pdf, но включает страницы как из A, так и из B.

Код: Выделить всё

import PyPDF2, os
from PyPDF2 import PdfFileReader, PdfFileWriter, PdfFileMerger
from pathlib import Path

single_file_dir = r'Y:\Python\Single_PDFs'
binder_file_dir = r'Y:\Python\Combined_PDFs'

# get list of all files in the single PDF directory
single_file_list = []
for file in os.listdir(single_file_dir):
if file.endswith(".pdf"):
single_file_list.append(single_file_dir + "\\" + file)

print(single_file_list)

# get the file names for the output multi page pdfs

file_name_list = []
for file in single_file_list:
name = os.path.basename(file)
new_name = name[:-8]
file_name_list.append(new_name)
unique_file_name_list = list(set(file_name_list))

merger = PdfFileMerger()

print(unique_file_name_list)

#try to match input single file name to output file name
for file in single_file_list:
for name in unique_file_name_list:
if name in file:
merger.append(file)
merger.write(binder_file_dir + "\\" + name + ".pdf")

Этот сценарий приводит к созданию файлов A.pdf и B.pdf, но оба выходных PDF-файла содержат множество дубликатов как отдельных PDF-файлов A, так и отдельных PDF-файлов B. Моя цель — объединить A_001.pdf, A_002.pdf, A_003.pdf в один многостраничный PDF-файл. То же самое и с PDF-файлами серии B.

Подробнее здесь: https://stackoverflow.com/questions/790 ... fferent-nu
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»