API на ReportLab с Джанго

Ну, у меня есть это сомнение, потому что я не нашел хорошую документацию по этому поводу, есть конкретное сомнение пока и - с изображениями.

from reportlab.lib import colors
from reportlab.lib.units import cm
from reportlab.lib.enums import TA_JUSTIFY, TA_CENTER
from reportlab.lib.pagesizes import letter, landscape
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.platypus import SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle, Image
...
    #Logo
    url_logo = EmpresaImagenes.objects.get(id=1).logo
    if url_logo!='':
        im = Image(url_logo, 3*cm, 3*cm)
        im.hAlign ='RIGHT'
        Story.append(im)

потому что, если я оставляю только Image(url_logo) изображение переходит из реального размера, если я помещаю Image(url_logo, 3*cm, 3*cm) он приспосабливается в 3cm x 3cm, но, и если я только хочу наладить высоту изображения, и что ширина была пропорциональна?

Мне хотелось бы знать, знает ли API какой-либо также, его ведет, руководителя или сходно (или некоторые), что был (n) достаточно полные на ReportLab? (на английском или испанец)

Дело в том, что я изучаю и нуждаюсь в том, чтобы сделать несколько вещей с ReportLab.

3
задан 10.03.2016, 23:11
1 ответ

Согласно определению Image:

Image (filename, width=None, height=None)

Следовательно, возможно, что ты получаешь то, что ты хочешь делая это:

imagen = Image(url_logo, height=3*cm)

Даже, если ты хочешь быть любопытнее, ты можешь устанавливать ipython и видеть, как он состоит в том, что создается инстанция Image:

$ ipython
IPython 3.1.0 -- An enhanced Interactive Python.
?         -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help      -> Python's own help system.
object?   -> Details about 'object', use 'object??' for extra details.

In [1]: from reportlab.platypus import Image

In [2]: Image??
...

Ты сможешь замечать определение метода __init__:

 def __init__(self, filename, width=None, height=None, kind='direct',
              mask="auto", lazy=1, hAlign='CENTER'):

Даже ты мог бы перемещать его признак hAlign в instanciar изображение:

imagen = Image(url_logo, height=3*cm, hAlign='RIGHT')

Если ты спрашиваешь меня, я всегда консультирую официальную документацию ReportLab и Путеводителя Пользователя

3
ответ дан 24.11.2019, 14:45