Как сохранить нужный мне лист PDF с помощью модуля fitz в определенном месте
Пишу приложение, которое сохраняет нужный мне лист PDF с помощью модуля fitz.
часть кода:
import fitz
import openpyxl as op
import os
....
....
filename = 'Документы к выписке по счету.pdf' # файл PDF
pdf = fitz.open(filename)
for current_page in range(len(pdf)):
page = pdf.load_page(current_page)
# перебираем все ключи/значения словаря - платежек и даты
for key, value in payment_order_dict.items():
search_term = key
search_date = value
if page.search_for(search_term):
print('%s найдено на %i странице' % (search_term, current_page + 1))
pdf2 = fitz.open()
pdf2.insert_pdf(pdf, from_page=current_page, to_page=current_page)
# сохраняем искомую платежку в файл PDF
pdf2.save(f"пп {search_term} от {search_date}.pdf")
# сохраняем искомую платежку в файл PDF
Документ сохраняется в папке проекта, а мне нужно сохранить его например по пути C:\Users\Pablic\Desktop
. Подскажите, как это сделать.
Ответы (1 шт):
Вам необходимо создать переменную с полным путём до желаемого места файла и передавать его в функцию. Для определения папки пользователя ПК (если у Вас это Pablic) можно использовать Path.home()
:
from pathlib import Path
BASE_DIR = Path.home()
# C:\Users\Pablic
path_file = Path(BASE_DIR, 'Desktop/myfile.pdf')
# C:\Users\Pablic\Desktop\myfile.rar
При необходимости путь можно создать в формате str:
str_file = f'{BASE_DIR}\\Desktop\\myfile.pdf'
Если правильно понял, то файл Вы сохраняете через pdf2.save()
- соответственно, в него и нужно передать путь. Это может выглядеть так:
new_file = f'{Path.home()}\\Desktop\\пп {search_term} от {search_date}.pdf'
pdf2.save(new_file)
Судя по всему библиотека fitz
устарела, и её новое название pymupdf. Эта библиотека поддерживает Path-формат.