Уведомления

Группа в Telegram: @pythonsu

#1 Март 6, 2018 14:16:50

eldev
Зарегистрирован: 2018-02-20
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

как создать png картинку в буфер обмена?

 from reportlab.pdfgen import canvas
from reportlab.lib.units import cm
from reportlab.pdfbase import pdfmetrics
from reportlab.pdfbase.ttfonts import TTFont
pdfmetrics.registerFont(TTFont('Times', 'times.ttf',))
class printQRCode(canvas.Canvas):
    def template(self, string):
        num_PU = string[4]
        page_width = 2.4
        page_heigh = page_width + 0.6
        self.setPageSize((page_width * cm, page_heigh*cm))
        str2 = ';'.join(string)
        print(str2)
        qr = pyqrcode.create(str2, error='L', encoding='utf-8')
        qr.png('test.png', scale=4, module_color=(0, 0, 0, 255), background=(255, 255, 255, 255), quiet_zone=4) #черная картинка и белый фон
        self.drawImage('test.png', 0 * cm, (page_heigh - 2.4) * cm, page_width * cm, page_width * cm)
        os.remove('test.png') #если можно будет обойтись без создания промежуточного файла, то надо удалить
        self.setFont('Times', 9)
        if len(num_PU) > 12:
            num_PU1 = num_PU[0:12]
            num_PU2 = num_PU[12:len(num_PU)]
            self.drawString((0.15) * cm, (page_heigh - 2.4) * cm - 5, num_PU1) #текстовая строка 12 знаков
            self.drawString((0.15) * cm, (page_heigh - 2.4) * cm - 14, num_PU2)
        else:
            self.drawString((0.15) * cm, (page_heigh - 2.4) * cm - 5, num_PU)  # текстовая строка 12 знаков
        self.showPage()
    def end_document(self):
        self.save()
генерируется QR код в pdf файл.
Как уйти от test.png? тк при подаче уникальной строки через код:
         QRCode = printQRCode(datetime.strftime(datetime.now(), qrcode_filename))
        for i in range(len(self.str1)) :
            QRCode.template(self.str1[i])
        QRCode.end_document()
QR код получается всегда один и тот же (число, под кодом разное, что указывает на то что подаваемая строка все-таки разная)

Отредактировано eldev (Март 6, 2018 14:17:20)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version