я пытаюсь создать отчет с помощью django, но арабское слово по какой-то причине оказывается отредактированным, это пример PDF-файла
это моя функция просмотра
это функция и шаблоны отлично работают при загрузке PDF-файла, но когда дело доходит до рендеринга арабского языка, он не работает
я скачал этот арабский шрифт NotoKufiArabic-VariableFont_wght.ttf, но он по какой-то причине не работает
from django.http import HttpResponse
from django.template.loader import get_template
from xhtml2pdf import pisa
from io import BytesIO
from django.shortcuts import get_object_or_404
from ..models import Supplier, TransactionModel
from django.db.models import Sum
def generate_pdf_report(request, supplier_name):
supplier = get_object_or_404(Supplier, supplier_name=supplier_name)
transactions = TransactionModel.objects.filter(supplier_name=supplier).order_by('payment_date')
total_paid = transactions.aggregate(Sum('payment_amount'))['payment_amount__sum'] or 0
remaining_amount = supplier.total_amount - total_paid
context = {
'supplier': supplier,
'transactions': transactions,
'total_paid': total_paid,
'remaining_amount': remaining_amount,
}
template = get_template('supplier_report.html')
html = template.render(context)
result = BytesIO()
pdf = pisa.pisaDocument(BytesIO(html.encode("UTF-8")), result, encoding='UTF-8')
if not pdf.err:
response = HttpResponse(result.getvalue(), content_type='application/pdf')
response['Content-Disposition'] = f'attachment; filename="{supplier_name}_report.pdf"'
return response
return HttpResponse('Error generating PDF', status=400)
а это мой шаблон
تقرير المورد - {{ supplier.supplier_name }}
@font-face {
font-family: 'Arabic Font';
src: url('../../NotoKufiArabic-VariableFont_wght.ttf') format('truetype');
}
body {
font-family: 'ArialArabic', Arial, sans-serif;
direction: rtl;
text-align: right;
}
table {
width: 100%;
border-collapse: collapse;
}
th, td {
border: 1px solid #ddd;
padding: 8px;
text-align: right;
}
th {
background-color: #f2f2f2;
}
تقرير المورد - {{ supplier.supplier_name }}
نوع المورد: {{ supplier.get_supplier_type_display }}
طريقة الدفع: {{ supplier.get_payment_method_display }}
المبلغ الكلي: {{ supplier.total_amount }}
المبلغ المدفوع: {{ total_paid }}
المبلغ المتبقي: {{ remaining_amount }}
تاريخ الدفعة القادمة: {{ supplier.next_payment_date }}
اسم المصدر: {{ supplier.issuer_name }}
البريد الإلكتروني: {{ supplier.email }}
جدول المعاملات
رقم الدفعة
تاريخ الدفع
قيمة الدفعة
{% for transaction in transactions %}
{{ transaction.payment_num }}
{{ transaction.payment_date }}
{{ transaction.payment_amount }}
{% endfor %}
```
Подробнее здесь: https://stackoverflow.com/questions/790 ... ith-django
Создание отчетов на арабском языке с помощью Django ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Создание PDF-файла на арабском языке с использованием Django и xhtml2pdf
Anonymous » » в форуме Python - 0 Ответы
- 24 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Создание PDF-файла на арабском языке с использованием Django и xhtml2pdf
Anonymous » » в форуме Python - 0 Ответы
- 14 Просмотры
-
Последнее сообщение Anonymous
-