BlasterAlex / kate-abstract-python

Creating a pdf file based on the structure of photo files. It can be used to store photos of lectures and other notes.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

kate-abstract-python

Создание pdf документа на основе файлов изображений. Программа может использоваться студентами для хранения фотографий лекций или других записей в удобном для чтения формате.

Установка

Для работы приложения необходимо следующее программное обеспечение:

  • Python версии 3.8.2 и выше;
  • Установленные в системе шрифты DejaVu fonts;
  • Программа для конвертирования в pdf Pandoc;
  • Поддержка стилизации создаваемых pdf документов:

После установки требуемого ПО необходимо в папке проекта создать виртуальное окружение:

  # Создание виртуального окружения
  $ python3 -m pip install --user virtualenv
  $ python3 -m venv env

  # Активация виртуального окружения
  $ source env/bin/activate

В созданном виртуальном окружении нужно установить необходимые пакеты, описанные в requirements.txt:

  # Установка необходимых пакетов
  (env) $ pip install -r requirements.txt

При возникновении конфликта пакета PyQt5 из виртуального окружения с пакетом, имеющимся в системе, необходимо удалить пакет из виртуального окружения и заменить его ссылкой:

  # Замена пакета PyQt5 на ссылку из системы
  $ PyQt5sys="/usr/lib/python3.8/site-packages/PyQt5"
  $ PyQt5env="env/lib/python3.8/site-packages/PyQt5"
  $ sudo rm -rf "$PyQt5env"
  $ ln -s "$PyQt5sys" "$PyQt5env"

На Linux для развертывания приложения можно воспользоваться bash-скриптом scripts/install.sh.

Использование

После установки всего необходимого программа запускается из виртуального окружения:

  # Установка необходимых пакетов
  (env) $ python3 kate-abstract-python

Программа сканирует папку notes на наличие папок конспектов. Папка конспекта, в свою очередь, разбивается на подпапки в зависимости от структуры генерируемого pdf документа. Изображения распределяются по папкам разделов. Если генерируемый файл не содержит разделов, все файлы изображений помещаются в папку с названием Основной в папке конспекта.

Пример файловой структуры папок конспектов в notes:

  notes/
  --> Конспект 1
    --> Основной
      --> Картинка 1
      --> Картинка 2
      --> Картинка 3
  --> Конспект 2
    --> Раздел 1
      --> Картинка 4
      --> Картинка 5
    --> Раздел 2
      --> Картинка 6
      --> Картинка 7
      --> Картинка 8
  ...

Создание папки конспекта в notes:

Для создания pdf документа конспекта нужно выбрать требуемую папку в списке и нажать Создать (при необходимости список папок конспектов можно Обновить).

После этого открывается диалоговое окно настройки конспекта, в котором можно изменить порядок разделов, а также исключить не нужные разделы. Пользователь может выбрать, требуется ли ему создавать содержание в начале генерируемого pdf файла, а также имеется возможность выполнить сжатие документа с помощью сервиса iLovePDF. Для работы с данным сервисом необходимо зарегистрировать аккаунт разработчика и получить Secret Key. Данный ключ нужно записать в текстовый файл config/ilovepdf.

Сгенерированный pdf документ будет лежать в папке конспекта:

About

Creating a pdf file based on the structure of photo files. It can be used to store photos of lectures and other notes.

License:MIT License


Languages

Language:Python 92.3%Language:TeX 3.8%Language:Shell 3.2%Language:VBScript 0.7%