ReportLab - изображение заканчивается на странице после поворота - PullRequest
0 голосов
/ 31 октября 2019

Я пытаюсь прочитать изображения из каталога и создать PDF-файл из всех изображений в каталоге с именем изображения плюс изображение. Я хочу повернуть изображение, если оно находится в портретном режиме (большинство из них в альбомной ориентации, поэтому по умолчанию). Это работает фантастически для исправления поворота, но оно помещает изображение полностью влево, чтобы около 10% его было видно на странице. Я думал, что hAlign = "CENTER" сделает то, что мне нужно ... В этом случае RotatedImage наследуется от reportlab.platypus. Я также импортирую ПИЛ. Если бы я смог убедить ReportLab использовать изображение PIL, это также соответствовало бы моим потребностям ... я думаю. Пожалуйста, порекомендуйте.

class RotatedImage(Image):

    def wrap(self, availWidth, availHeight):
        height, width = Image.wrap(self, availHeight, availWidth)
        return width, height

    def draw(self):
        self.canv.rotate(90)
        Image.draw(self)




build_doc = []
for pic in pics:
    text = Paragraph(pic,
                     PS(name='Heading1',
                        fontName = 'Times-Bold',
                        spaceAfter = 8,
                        fontSize = 14,
                        alignment = TA_CENTER))

    if should_rotate(pic): #this just checks if the image.height is greater than the image.width
        img = RotatedImage(pic, width = 636, height = 456) #this is the class from mouse & the python
        img.hAlign = 'CENTER'
        img.vAlign = 'CENTER'
        img.drawHeight = 636
        img.drawWidth = 456
    else:
        img = get_image(pic, width = landscape_pic_width * inch)
        img.drawHeight = letter_pic_width * inch
        img.drawWidth = landscape_pic_width * inch

build_doc.append(KeepTogether([text, img]))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...