payment-order-renderer 0.1.6

Creator: bradpython12

Last updated:

Add to Cart

Description:

paymentorderrenderer 0.1.6

payment_order_renderer
Библиотека для создания документов платежного поручения в формате pdf.
Под капотом собрана из библиотеки printpdf для rust.

Установка

pip install payment-order-renderer


Использование
from payment_order_renderer import create_pdf


# Функция ожидает словарь следующего вида:
# Необязательные поля, в случае их отсутствия просто передавайте по ключу None:
# 'side_recipient_kpp'
# 'literal_sum'
# 'status'
# 'purpose_code'
# 'uin'
# 'cbc'
# 'okato'
# 'reason'
# 'period'
# 'reason_number'
# 'reason_date'
# 'field_110'
#
payment_order_dict = {
'creation_date': '21.07.2021',
'last_transaction_date': '21.07.2021',
'document_date': '21.07.2021',
'document_number': '6000',
'priority': '5',
'transaction_type_code': '01',
'purpose': 'Оплата по договору (номер/дата) без НДС',
'payer_kpp': '773601001',
'payer_inn': '280267860010',
'payer_name': 'ООО "БИОШАНЬ"',
'payer_bank': 'ТОЧКА ПАО БАНКА "ФК ОТКРЫТИЕ"',
'payer_bank_address': 'г. Москва',
'side_recipient_inn': '7839443197',
'side_recipient_bank': 'ПАО Сбербанк',
'side_recipient_bank_address': 'г. Екатернибург',
'side_recipient_name': 'АО Точка',
'side_recipient_kpp': '770501001',
'transaction_sum': '13636.36',
'payer_account': '40702810401500014770',
'payer_bank_code': '044525999',
'payer_cr_account': '30101810845250000999',
'side_recipient_bank_code': '044525593',
'side_recipient_account': '42306810963160914857',
'side_recipient_cr_account': '30101810845250000999',
'finance_administrator_name': 'О.С.Берг',
'literal_sum': 'тысяча рублей 00 копеек',
'status': '08',
'purpose_code': '3',
'uin': '1',
'cbc': '18210202020061000160',
'okato': '65401364000',
'reason': 'ТП',
'period': 'МС.08.2009',
'reason_number': '12',
'reason_date':'10.10.2009',
'field_110': 'НС',
}

# Путь до вашего png изображения печати
path = "../pythonProject/pics/stamp_with_signature-1.png"

# Результат возвращается в байтах
result = create_pdf(payment_order_dict, path)



Внутренняя структура PaymentOrder умеет делать перенос по словам.


Суммы вида "6000" и "6000.00" будут размещены на документ ввиде "6000=". Если имеются остатки к примеру "6000.23", то сумма будет размещена в виде "6000-23".


На данный момент библиотека умеет загружать лишь файлы формата png.


Для написания текстов используются облегченные шрифты Arial и Arial Bold.


Примерный вес получаемого документа ~411 кб, планируется и дальше не выходить за границу 500кб.



TODO

Добавить тесты
Добавить больше обработок ошибок
(Возможно)Сделать печать опциональным параметром

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.