Отсутствие пробела между изображениями при последовательном отображении изображений (xhtml2pdf)
Я использую xhtml2pdf
для генерации PDF файла из моего DetailView в Django. У меня есть цикл в моем файле html шаблона, где я отображаю все изображения в 1 строке.
С чем я борюсь, так это с добавлением некоторого пространства между изображениями, но padding, padding-left, padding-right, margin, margin-left, margin-right
не работают при отображении в строке. Они работают, только если я помещаю изображения в отдельные строки. Я делаю то же самое на своем сайте, и пробелы работают нормально, но не в pdf.
Я прочитал в документации и там есть информация о том, что нет возможности использовать изображения внутри параграфов, поэтому изображения всегда отображаются в отдельных параграфах (ссылка для справки здесь).
Вопрос:
Есть ли способ в xhtml2pdf
добавить пространство между изображениями, если я хочу сохранить их в 1 строке? Я ищу некоторые советы, хаки или любое решение этой проблемы.
мой цикл в HTML файле
<div>
{% for client in product.client.all %}
<img src="{% thumbnail client.client_logo 125x100 upscale %}" alt="{{client.title}}" class="client-logos">
{% endfor %}
</div>
utils.py
def export_to_pdf(request, slug):
product = get_object_or_404(Product, slug=slug, status=1)
template_path = 'card_pdf_template.html'
teams = Team.objects.filter(product__slug=slug)
context = {'product': product, 'teams': teams}
response = HttpResponse(content_type='application/pdf')
response['Content-Disposition'] = 'filename={product}.pdf'.format(product=product)
template = get_template(template_path)
html = template.render(context)
# create a pdf
pisa_status = pisa.CreatePDF(
html, dest=response)
if pisa_status.err:
return HttpResponse('We had some errors <pre>' + html + '</pre>')
return response
Я не уверен, что это сработает для вас, но я отображаю изображения с помощью таблицы и создаю пространство с помощью этого кода:
<tr>
<td><p><img class="scale-with-grid" src="{{cleaning.image1.path}}"/></p></td>
<td><p><img class="scale-with-grid" src="{{cleaning.image2.path}}"/></p></td>
<td><p><img class="scale-with-grid" src="{{cleaning.image3.path}}"/></p></td>
<td><p><img class="scale-with-grid" src="{{cleaning.image4.path}}"/></p></td>
</tr>