Развлечение на сегодняшний вечер — показать вам, как можно использовать
Наша задача — разработать Python-модуль для преобразования одного или нескольких файлов PDF, расположенных в одной папке, в форме легкой утилиты командной строки не полагаясь на какие-либо внешние утилиты за пределами экосистемы Python.
pdf2docx — это библиотека Python для извлечения данных из PDF с помощью
Короче, начинаем:
$ pip install pdf2docx==0.5.1
Импортируем нужные нам библиотеки:
# Импортировать библиотеки from pdf2docx import parse from typing import Tuple
Определим функцию, отвечающую за преобразование PDF в Docx:
def convert_pdf2docx(input_file: str, output_file: str, pages: Tuple = None): """Преобразует PDF в DOCX""" if pages: pages = [int(i) for i in list(pages) if i.isnumeric()] result = parse(pdf_file=input_file, docx_with_path=output_file, pages=pages) summary = { "Исходный файл": input_file, "Страниц": str(pages), "Результат преобразования": output_file } # Печать сводки print("#### Отчет ########################################################") print("\n".join("{}:{}".format(i, j) for i, j in summary.items())) print("###################################################################") return result
Функция convert_pdf2docx()
позволяет указать диапазон страниц для преобразования, она преобразует файл PDF в файл Docx и в конце распечатывает отчет о своей работе.
Напишем обёртку для вызова этой функции:
if __name__ == "__main__": import sys input_file = sys.argv[1] output_file = sys.argv[2] convert_pdf2docx(input_file, output_file)
Просто используем встроенный в Python модуль sys для получения имен входных и выходных файлов из аргументов командной строки. Попробуем преобразовать образец PDF-файла (использованный пример можно забрать
$ python convert_pdf2docx.py Anketa_0.pdf Anketa_0.docx
В текущем каталоге появится новый файл Anketa_0.docx, и результат будет таким:
Parsing Page 1: 1/3... Parsing Page 2: 2/3... Parsing Page 3: 3/3... Creating Page 1: 1/3... Creating Page 2: 2/3... Creating Page 3: 3/3... -------------------------------------------------- Terminated in 0.9915917019999999s. #### Отчет ######################################################## Исходный файл:Anketa_0.pdf Страниц:None Результат преобразования:Anketa_0.doc ###################################################################
Можно выборочно указать нужные страницы в функции convert_pdf2docx()
.
Надеюсь, сей простой и короткий урок вам понравился, и этот конвертер будет вам полезен.
Использованы материалы
Как с помощью Python преобразовать pdf‑файлы в doc, опубликовано К ВВ, лицензия — Creative Commons Attribution-NonCommercial 4.0 International.
Респект и уважуха