예제 #1
0
 def create_code(self):
     self.progress.pack(side=TOP, ipadx=100)
     file = self.pathfile.get()
     local_save = self.pathsave.get()
     code = self.barcode_type.get()
     text = True if self.includetext.get() == 'S' or self.includetext.get(
     ) == 's' else False
     count_lines = self.count_lines(file)
     current_value = 1
     try:
         with open(file, 'r', encoding='utf-8') as kit:
             file = csv.reader(kit, delimiter=';', quotechar=';')
             next(file)
             for row in file:
                 dir_exist = self.check_file(local_save, row[2])
                 if not dir_exist:
                     os.mkdir(f'{local_save}/{row[2]}')
                 image = treepoem.generate_barcode(
                     barcode_type=code,
                     data=row[0],
                     options={"includetext": text})
                 image.convert('1').save(
                     f'{local_save}/{row[2]}/{row[1]}.png')
                 current_value += 1
                 self.progress.after(
                     1000,
                     self.progress_bar(current_value=current_value,
                                       count_lines=count_lines))
             kit.close()
             messagebox.showinfo("Sucesso", "Códigos gerados!")
             root.quit()
     except Exception as e:
         messagebox.showerror("Erro", str(e))
예제 #2
0
def gen_label(inputdata):

    output_picture = Image.new('RGB', output_picsize, (255, 255, 255))

    #Datamatrix
    datamatrix_image = treepoem.generate_barcode(barcode_type='datamatrix',
                                                 data=inputdata[0])
    output_picture.paste(datamatrix_image, (20, 20))

    #datamatrix label
    fnt = ImageFont.truetype("Arial", 20)
    d = ImageDraw.Draw(output_picture)
    d.text((20, 100), inputdata[0], font=fnt, fill=(0, 0, 0))

    #labels
    fnt2 = ImageFont.truetype("Arial", 30)
    d2 = ImageDraw.Draw(output_picture)
    d2.text((100, 15), inputdata[1], font=fnt2, fill=(0, 0, 0))

    fnt3 = ImageFont.truetype("Arial", 30)
    d3 = ImageDraw.Draw(output_picture)
    d3.text((100, 50), inputdata[2], font=fnt3, fill=(0, 0, 0))

    #save image to file
    return output_picture
예제 #3
0
    def qrcode_generator(self, data):
        """
        Takes a piece of data, adds the EVENT_QR_ID, and returns an Aztec barcode as an image stream.
        Args:
            data: A string to create a 2D barcode from.

        Returns: A PNG buffer. Use this function in an img tag's src='' to display an image.

        NOTE: this will be called directly by attendee's client browsers to display their 2D barcode.
        This will potentially be called on the order of 100,000 times per event and serve up a lot of data.
        Be sure that any modifications to this code are fast and don't unnecessarily increase CPU load.

        If you run into performance issues, consider using an external cache to cache the results of
        this function.  Or, offload image generation to a dedicated microservice that replicates this functionality.

        """
        checkin_barcode = treepoem.generate_barcode(
            barcode_type='azteccode',
            data=c.EVENT_QR_ID + str(data),
            options={},
        )
        buffer = BytesIO()
        checkin_barcode.save(buffer, "PNG")
        buffer.seek(0)
        png_file_output = cherrypy.lib.file_generator(buffer)

        # set response headers last so that exceptions are displayed properly to the client
        cherrypy.response.headers['Content-Type'] = "image/png"

        return png_file_output
예제 #4
0
def get_qr_file(
        id: int,
        format: str,
        barcode_type: str = 'datamatrix') -> tempfile._TemporaryFileWrapper:

    url = f'{flask.request.host_url}qr/{id}/'
    t_file = tempfile.NamedTemporaryFile(mode='w+b',
                                         delete=False,
                                         suffix=get_suffix(format))

    if 'qr_code' in barcode_type:
        qr = qrcode.QRCode(
            version=1,
            error_correction=qrcode.constants.ERROR_CORRECT_Q,
            box_size=10,
            border=4,
        )

        qr.add_data(url)
        img = qr.make_image(fill_color="black", back_color="white")
        img.save(t_file, format=format)

    if 'datamatrix' in barcode_type:
        img = treepoem.generate_barcode(barcode_type='datamatrix', data=url)
        img.thumbnail((450, 450), Image.ANTIALIAS)
        img.save(t_file, format=format)

    t_file.seek(0)
    return t_file
예제 #5
0
def generate_barcode(text=None, code_type="datamatrix", file_name=None):
    if text is not None:
        data = text
    else:
        data = 'Winter WinnPy'

    # print("3. before treepoem generate_barcode...")

    image = treepoem.generate_barcode(barcode_type=code_type,
                                      data=data,
                                      options={"eclevel": "Q"})

    # print("4. after treepoem generate_barcode...")

    if file_name is None:
        # /generated_barcode/
        f_path = os.path.join(settings.BASE_DIR, 'generated_codes')
        #f_name = 'barcode_' + datetime.datetime.now().strftime("%Y_%m_%d_%H_%M_%S")
        f_name = 'barcode'
        img_file = os.path.join(f_path, f_name + '.png')
    else:
        img_file = file_name

    # print("4b. file=" + img_file)

    image.convert('1').save(img_file, 'png')
    print("5. **after convert")

    global code_generated
    code_generated = True
예제 #6
0
def generateBarCode_tree(type, data):
    options = {
        'ean13': {
            'includetext': True,
            'textfont': 'Arial-Black',
            'textsize': 10,
            # 'textgaps': 5,
            'height': 0.4,
        },
        'code128': {
            'includetext': True,
            'textfont': 'Arial-Black',
            'textsize': 10,
            'textgaps': 2,
            'height': 0.3,
            # 'includecheck': True,
            'includecheckintext': True
        }
    }
    image = treepoem.generate_barcode(barcode_type=type,
                                      data=str(data),
                                      options=options[type])
    size = image.width / 2, image.width / 2
    image.thumbnail(size, PILImage.NEAREST)
    # image.convert('1').save('barcode.png')
    return image
예제 #7
0
    def qrcode_generator(self, data):
        """
        Takes a piece of data, adds the EVENT_QR_ID, and returns an Aztec barcode as an image stream.
        Args:
            data: A string to create a 2D barcode from.

        Returns: A PNG buffer. Use this function in an img tag's src='' to display an image.

        NOTE: this will be called directly by attendee's client browsers to display their 2D barcode.
        This will potentially be called on the order of 100,000 times per event and serve up a lot of data.
        Be sure that any modifications to this code are fast and don't unnecessarily increase CPU load.

        If you run into performance issues, consider using an external cache to cache the results of
        this function.  Or, offload image generation to a dedicated microservice that replicates this functionality.

        """
        checkin_barcode = treepoem.generate_barcode(
            barcode_type='azteccode',
            data=c.EVENT_QR_ID + str(data),
            options={},
        )
        buffer = BytesIO()
        checkin_barcode.save(buffer, "PNG")
        buffer.seek(0)
        png_file_output = cherrypy.lib.file_generator(buffer)

        # set response headers last so that exceptions are displayed properly to the client
        cherrypy.response.headers['Content-Type'] = "image/png"

        return png_file_output
def generate_barcode(text=None, file_name=None, code_type="datamatrix"):
    if text is not None:
        data = text
    else:
        data = 'Winter WinnPy'

    print("before generate_barcode...")


    image = treepoem.generate_barcode(
        barcode_type = code_type,
        data = data,
        options={"eclevel": "Q"}
    )

    print("after generate_barcode...")

    if file_name is None:
        # /generated_barcode/
        f_path = os.path.join(settings.BASE_DIR, 'generated_codes')
        #f_name = 'barcode_' + datetime.datetime.now().strftime("%Y_%m_%d_%H_%M_%S") + '.png'
        f_name = 'barcode'
        img_file = os.path.join(f_path, f_name + '.png')
    else:
        img_file = file_name

    print(img_file) 
    
    image.convert('1').save(img_file, )
예제 #9
0
def main():
    printer_name = win32print.GetDefaultPrinter(
    )  # How to reach printer on LPT1 port?
    hDC = win32ui.CreateDC()
    hDC.CreatePrinterDC(printer_name)

    qr = treepoem.generate_barcode(
        barcode_type='qrcode',
        data=nombre,
    )
    #qr2 = treepoem.generate_barcode(barcode_type='qrcode', data=nombre, )
    #barra = treepoem.generate_barcode(barcode_type='code39', data='12312371289379812',)
    #barra2 = treepoem.generate_barcode(barcode_type='code39', data='12312371289379812',)

    hDC.StartDoc("Codigos")
    hDC.StartPage()
    qr3 = ImageWin.Dib(qr)
    qr3.draw(hDC.GetHandleOutput(), (500, 2000, 1000, 2500))
    #qr4 = ImageWin.Dib(qr2)
    #qr4.draw(hDC.GetHandleOutput(),(500,2500,1000,3000))
    #barra5 = ImageWin.Dib(barra)
    #barra5.draw(hDC.GetHandleOutput(),(100, 1000,200,1100))
    #barra4 = ImageWin.Dib(barra2)
    #barra4.draw(hDC.GetHandleOutput(),(100,2000, 200, 2100))

    hDC.EndPage()
    hDC.EndDoc()
예제 #10
0
def write_qr_code(chunk_idx, chunk_content, out_file_path, qr_code_eclevel):
    qr_code_content = json.dumps(chunk_content)

    # Since JSON contains characters that are not in the QR code alphanumeric
    # charset, we replace these characters.
    charset_mapping = {
        '{': '$%%',
        '}': '%%$',
        '_': '-',
        '"': '*',
        '=': '.',
        ',': '$$%'
    }
    for k, v in charset_mapping.items():
        qr_code_content = qr_code_content.replace(k, v)

    if args.verbose:
        verbose_logger.info(qr_code_content)

    image = treepoem.generate_barcode('qrcode', qr_code_content,
                                      {'eclevel': qr_code_eclevel})

    width, height = image.size
    modules = int((width - 2) / 4)
    version = int(((modules - 21) / 4) + 1)
    logger.info(f"Chunk {chunk_idx:{pad_fmt}} of {chunks_total:{pad_fmt}}, "
                f'Content length: {len(qr_code_content)}, '
                f'EC Level: {qr_code_eclevel}, '
                f'Modules: {modules}'
                f' ==> Version: {version}')

    image.save(out_file_path)
예제 #11
0
def createDataMatrix():

    # reading contents of text file
    textFile = open("./sample.txt", "r")
    textFileContent = textFile.read()

    textFileContentList = [
        textFileContent[i:i + splitLength]
        for i in range(0, len(textFileContent), splitLength)
    ]
    textFile.close()

    for i in range(0, len(textFileContentList)):
        #generating data matrices with treepoem
        img = treepoem.generate_barcode(
            barcode_type='datamatrix',
            data=textFileContentList[i],
        )

        # removing white pixels from image
        img = img.convert("RGBA")
        datas = img.getdata()
        newData = []
        for item in datas:
            if item[0] == 255 and item[1] == 255 and item[2] == 255:
                newData.append((255, 255, 255, 0))
            else:
                newData.append(item)

        # saving image to file
        img.putdata(newData)
        img.save('./matrices/matrix' + str(i) + '.png')
예제 #12
0
def SaveBQCodetoFnm(codetype, val, fn):
  image = treepoem.generate_barcode(
    barcode_type=codetype,
    data=val,
    options=None
  )
  image.convert('1').save(fn)
예제 #13
0
 def createManyImage(self, file, barcode_type, includetext, dirimage):
     data = pd.read_csv(file, delimiter=';', encoding='utf-8')
     df = pd.DataFrame(data=data, columns= ['CODIGO','NM_ARQUIVO'])
     
     for index, row in df.iterrows():
         image = treepoem.generate_barcode(
             barcode_type=barcode_type, data=str(row["CODIGO"]), options={"includetext": includetext})
         image.convert('1').save(f'{dirimage}/{str(row["NM_ARQUIVO"])}.png')
예제 #14
0
def get_test_qrcode():
    test_string = '0123456789 ABCDEFGHIJKLMNOPQRSTUVWXYZ $ % * + - . / :'

    image = treepoem.generate_barcode('qrcode', test_string, {'eclevel': 'Q'})
    out_filename = './assets/test_scanner_charset.png'
    image.save(out_filename)

    return (test_string, image)
예제 #15
0
 def generate_barcode(self):
     """Generate image of current barcode and return the image object"""
     self.barcode = treepoem.generate_barcode(
         barcode_type='datamatrix',
         data=self.code,
         options={
             'rows': 10,
             'columns': 10
         },
     )
예제 #16
0
def generate_barcode_image(barcode_payload: str,
                           tmp_dir: str,
                           barcode_format: str = "interleaved2of5",
                           **kwargs) -> str:
    """return path image of barcode who encapsulate
    the string value barcode_payload
    TMPFOLDER .png file barcode.

    barcode_format = ["qrcode",
                      "azteccode",
                      "pdf417",
                      "interleaved2of5",
                      "code128",
                      "code39"]
    formated in interleaved2of5 by default
    :Example:
        >>> generate_barcode(barcode_payload="10015")
        ./temps/fahlfhaks8f787.png
    """

    if not isinstance(barcode_payload, str):
        raise TypeError("TypeError, barcode_payload : str expected")

    if not barcode_payload:
        raise ValueError("ValueError, barcode_payload is empty")

    regex = re.compile(r'[@_!#$%^&*()<>?/\|}{~:]')
    if not (regex.search(barcode_payload) is None):
        raise ValueError(
            "ValueError, barcode_payload : no special caractere allowed")

    if not isinstance(barcode_format, str):
        raise TypeError("TypeError, barcode_format : str expected")
    format_allowed = [
        "qrcode", "azteccode", "pdf417", "interleaved2of5", "code128", "code39"
    ]
    if barcode_format not in format_allowed:
        raise ValueError("ValueError, barcode_format not supported")

    if not os.path.exists(tmp_dir):
        os.makedirs(tmp_dir)

    if not os.path.exists(tmp_dir):
        raise OSError

    file_path = os.path.join(tmp_dir, secrets.token_hex(8) + ".png")

    barcode_image = treepoem.generate_barcode(barcode_type=barcode_format,
                                              data=barcode_payload)
    #print(f"******barcode_image:{barcode_image}")
    barcode_image.convert('1').save(file_path)
    if not os.path.isfile(file_path):
        raise BaseException("error during barcode generation")

    return file_path
예제 #17
0
 def generate_barcode(self, event_id, buyer_name):
     ticket_id = uuid.uuid4(
     ).hex + '-' + event_id + '-' + buyer_name.replace(" ", "")
     image = treepoem.generate_barcode(barcode_type='qrcode',
                                       data=ticket_id)
     # Preprocess image to make it compatible with reportlab:
     _bytes = io.BytesIO()
     image.save(_bytes, format='png')
     _bytes.seek(0)
     barcode = ImageReader(_bytes)
     return barcode, ticket_id
예제 #18
0
    def __init__(self, **kwargs):
        upc = kwargs.get("upc")
        TYPE = kwargs.get("Type")
        img = treepoem.generate_barcode(barcode_type=TYPE, data=upc)
        img = img.convert("RGB")

        self.buff = BytesIO()
        with BytesIO() as o:
            img.save(o, format="jpeg")
            self.buff.write(o.getvalue())
        self.buff.seek(0)
예제 #19
0
 def generate(self):
     ''' generate '''
     opts = {'eclevel': 'H'}
     img = treepoem.generate_barcode(barcode_type='qrcode',
                                     data=self.content,
                                     options=opts)
     img.convert('1').save(self.output)
     if self.is_temp and not self.verbose:
         print('output temp:', self.output)
     if not self.is_temp:
         print('output image:', self.output)
     if self.verbose:
         self.show_image()
예제 #20
0
    def bid_sheet_barcode_generator(self, data):
        bid_sheet_barcode = treepoem.generate_barcode(
            barcode_type='code39',
            data=data,
            options={},
        )
        buffer = BytesIO()
        bid_sheet_barcode.save(buffer, "PNG")
        buffer.seek(0)
        png_file_output = cherrypy.lib.file_generator(buffer)

        # set response headers last so that exceptions are displayed properly to the client
        cherrypy.response.headers['Content-Type'] = "image/png"

        return png_file_output
예제 #21
0
파일: stuff.py 프로젝트: gglyptodon/barter
def write_label_tp(barcode_type='qrcode',
                   data='barcode payload',
                   outfile='out.png',
                   width_mm=20,
                   height_mm=20,
                   include_text=False):
    width_mod = mm_to_inch(width_mm)
    height_mod = mm_to_inch(height_mm)
    if include_text:  # idk...
        opts = {'_': '(includetext)', 'width': width_mod, 'height': height_mod}
    else:
        opts = {'width': width_mod, 'height': height_mod}
    image = treepoem.generate_barcode(barcode_type=barcode_type,
                                      data=data,
                                      options=opts)
    image.convert('1').save(outfile)
예제 #22
0
def write_bc (text,format):
    if text != '':
        #verbose ('TT%s'% text)
        outfile=os.path.join (MONITORDIR,'temp.png')
        if format == '1':
            import barcode
            from barcode import generate
            from barcode.writer import ImageWriter
            code=barcode.get('code128', text, writer=ImageWriter())

            #code.save ('temp', options={
            image=code.render (writer_options={
                'module_width':0.2, #default 0.2 in mm 
                'module_height':3,   #default 15 in mm
                'quiet_zone':1,    #default 6.5
                'font-size':3,     #default 10 (integer)
                'text_distance':3.0,  #default 5
                'write_text': False, #default True
            })
            #image=image.resize((int(image.size[0]*0.6),40)) #resample=Image.LANCZOS
            #print (image.size)
            size=[int(x*0.7) for x in image.size] 
            #print (size)
            #image.thumbnail((250,60), Image.LANCZOS) # resizes image in place
            image.thumbnail(size)
            image.save(outfile, dpi=(100,100))# dpi?
            
        elif format == '2':
            #requires ghostscript
            import treepoem
            image = treepoem.generate_barcode(barcode_type='code128',data=text)
            #image=image.convert('1')
            #image=image.resize((136,20), resample=Image.LANCZOS)
            #image.thumbnail((100,40), Image.LANCZOS) # resizes image in place
            #image=image.rotate(90, expand=True,  fillcolor="white")
            image.save(outfile)
            #print (image)
        elif format == '3':
            from pubcode import Code128
            #print (len(text))
            barcode=Code128(text, charset='A')
            image=barcode.image()# use defaults and do resize on our own
            #print (image.size[0]) 
            image=image.resize((image.size[0],20)) #resample=Image.LANCZOS
            image.save(outfile)
        else:
            error ("No format recognized!")
def write_qr_code(file_path: str):
    file_basename = os.path.basename(file_path)

    f = open(file_basename, 'rb')
    data = f.read()
    f.close()

    data_b32txt = base64.b32encode(data).decode()
    chunks = [
        data_b32txt[i:i + chunk_size]
        for i in range(0, len(data_b32txt), chunk_size)
    ]

    for i, qr_code_content in enumerate(chunks):
        image = treepoem.generate_barcode('qrcode', qr_code_content,
                                          {'eclevel': qr_code_eclevel})
        image.save(f'./assets/{file_basename}_{i}.png')
예제 #24
0
def test_barcode(barcode_type, barcode_data):
    actual = treepoem.generate_barcode(barcode_type, barcode_data)

    fixture_path = "{dirname}/fixtures/{barcode_type}.png".format(
        dirname=path.dirname(__file__), barcode_type=barcode_type)

    # Uncomment to rebuild fixtures:
    # actual.save(fixture_path)

    # Trying to prevent a `ResourceWarning`.
    # Bug: https://github.com/python-pillow/Pillow/issues/1144
    # Workaround: https://github.com/python-pillow/Pillow/issues/835
    with open(fixture_path, "rb") as fixture:
        expected = Image.open(fixture)
        bbox = ImageChops.difference(actual, expected).getbbox()
        assert bbox is None

    actual.close()
예제 #25
0
def generate_single_barcode(data):
    if Path("codes", f"{data}.png".replace("/", "-")).exists():
        return
    print(data)
    image = treepoem.generate_barcode(
        barcode_type="code128",
        data=data,
        options={
            "height": "0.3",
            "includetext": True,
            "showborder": False,
            "textyoffset": "2",
            "textfont": "Arial",
            "inkspread": "0.4",
        },
    )
    width = 300
    percent = float(width / image.width)
    height = int(image.height * percent)
    image = image.resize((width, height))
    image.convert("1").save(str(Path("codes", f"{data}.png".replace("/",
                                                                    "-"))))
예제 #26
0
def test_barcode(barcode_type, barcode_data):
    actual = treepoem.generate_barcode(
        barcode_type,
        barcode_data,
    )

    fixture_path = "{dirname}/fixtures/{barcode_type}.png".format(
        dirname=path.dirname(__file__),
        barcode_type=barcode_type,
    )

    # Uncomment to rebuild fixtures:
    # actual.save(fixture_path)

    # Trying to prevent a `ResourceWarning`.
    # Bug: https://github.com/python-pillow/Pillow/issues/1144
    # Workaround: https://github.com/python-pillow/Pillow/issues/835
    with open(fixture_path, 'rb') as fixture:
        expected = Image.open(fixture)
        bbox = ImageChops.difference(actual, expected).getbbox()
        assert bbox is None

    actual.close()
예제 #27
0
def gen_label(entry_dict: dict, api_key):
    """
    Generates a label from an entry.
    :param entry_dict: Must contain all standard keys such as name, namecode, notes, contents, etc
    :param api_key: your api key, only used to write to unique filename
    :return: (filename, image), does not write to file
    """
    im = Image.new('RGB', LABEL_SIZE, (0, 0, 0))
    draw = ImageDraw.Draw(im)
    result_img = treepoem.generate_barcode("datamatrix",
                                           entry_dict["code"],
                                           options={"version": "12x12"})
    result_img = ImageOps.invert(result_img).convert('1')  # invert
    result_img = ImageOps.crop(result_img, 1)
    result_img = result_img.resize((100, 100))
    Image.Image.paste(im, result_img, (30, 25))
    font = ImageFont.truetype(r'fonts/Futura.ttc', 40)
    font2 = ImageFont.truetype(r'fonts/Futura.ttc', 35)
    efon_font = ImageFont.truetype(r'fonts/Efon.ttf', 120)
    draw.text((31, 130), entry_dict["code"], font=font)
    draw.text((160, 15), entry_dict["name"], font=font2)
    draw.text((180, 75), entry_dict["namecode"], font=efon_font)
    filename = f'generated-labels/{api_key}-{entry_dict["code"]}.png'
    return filename, im
예제 #28
0
import datetime

now = datetime.datetime.now()


def randomString(stringLength=10):
    letters = string.digits
    return ''.join(random.choice(letters) for i in range(stringLength))


generated = randomString(10)
print("Generatin report for trip#" + generated)

canvas = canvas.Canvas('Trip ' + generated + '.pdf')

image = treepoem.generate_barcode(barcode_type='code39', data=generated)

image.convert('1').save('barcode.png')
print('Done.')

canvas.setFont("Helvetica", 35)
canvas.drawCentredString(
    300,
    750,
    'TRIP#' + generated,
)
canvas.setFont("Helvetica", 6)
canvas.drawCentredString(
    300,
    735,
    'Generated on ' + str(now),
예제 #29
0
rep = [i for i in range(1,7)]*12

innoled_x = ["{}, {}, {}".format(i,j,k) for i, j, k in zip(innoled_x_no, x_list, rep)] 


## first save all targeted ar code to a folder, then these qr code will be read and rendered in pdf
path_qr_1st = "qr_1st"
if not os.path.exists(path_qr_1st):
    os.makedirs(path_qr_1st)

for txt_i in innoled_x:
    print(txt_i)
    x = int(txt_i.split(",")[0])
    y = int(txt_i.split(",")[2])
    img = treepoem.generate_barcode(
    barcode_type='qrcode',
    data=txt_i,
    options={"eclevel": "Q"})
    
    fig, ax = plt.subplots()
    plt.axis('off')
    plt.title(txt_i, fontsize=30)
    arr_lena =img
    imagebox = OffsetImage(arr_lena, zoom=2)
    ab = AnnotationBbox(imagebox, (0.5, 0.6))
    ax.add_artist(ab)
    plt.draw()
    plt.savefig(os.path.join(path_qr_1st, '{}_{}.png'.format(x,y)),bbox_inches='tight')
    plt.close()


## check the file list and re-order them
예제 #30
0
#!/usr/bin/env python3
# -*- coding: utf-8 -*-

# It should support more or less everything that is supported by BWIPP, but these types are specifically verified in the tests:

# qrcode - QR Code
# azteccode - Aztec Code
# pdf417 - PDF417
# interleaved2of5 - Interleaved 2 of 5
# code128 - Code 128
# code39 - Code 39

payload = "9e8180047d31c7faf37c22c5f920464cec0191a07bef7ce3e6c6005434982905791d714aa25a2619da541f24d5047b9f4fbf256f91d26e96c10b8a2071c47dc8ff4ae4d4d130b5de94d1734c57afcc971b1703c959371528908ce15ff7a6bcedd762c2b6aad71e8235c8c9feff8bbd2127a143a07a9ca31a2e0d8cc75a83f47006c4af9a542fe00100002fe0009287000000d7215439383462633462626664373065393236663764666136366130386234386335302328003268232834a1a1c4d400007b23298a00000000000000002fdf00928756445611097f2181c85f3781c00f977b91270484f8dfe528c85f3d556d8c1974c9ded29009ce1f151ba433f38212dcacd291abc7dec204b3f20fc1115723a13d1cae692c08d958763c5895298d681b4b5cd8182158bdcb8980e225160d4eca548cebbb956b7dfd734ff2330b2aef65bbeb9c8fdb4df86f9cc6aef48ecc80b69114c43eeb8abc7a7719c78d2eebe0a2964f0b4a2e7984794c4f58226b600317e12e38dfe5cf4caef0136e000669fd4e2f9690f1a2a6703d4b044fc03e806fce8b0a54480a52e2ba72922e1cbf645f38018142084c55564456111014"

import treepoem
image = treepoem.generate_barcode(
  'azteccode',  # One of the BWIPP supported codes.
  payload,
  {},
)
image.save('../images/barcode.png')  # This is an instance of `PIL.EpsImagePlugin.EpsImageFile`
예제 #31
0
 def createOneImage(self, code, namefile, barcode_type, includetext, dirimage):
     image = treepoem.generate_barcode(
         barcode_type=barcode_type, data=str(code), options={"includetext": includetext})
     image.convert('1').save(f'{dirimage}/{namefile}.png')
예제 #32
0
def test_unsupported_barcode_type():
    with pytest.raises(NotImplementedError) as excinfo:
        treepoem.generate_barcode('invalid-barcode-type', '')
    assert 'unsupported barcode type' in str(excinfo.value)
예제 #33
0
'''
barcode_type='qrcode'
barcode_type='azteccode'
barcode_type='pdf417'
barcode_type='code128' <-- Bar Code
'''
import treepoem

data = input("Enter Your Message : \n")

image = treepoem.generate_barcode(barcode_type='code128', data=data)
image.convert('1').save('barcode.png')