Rename and update a4 label generator
This commit is contained in:
parent
7608b7f39a
commit
b85f7305a7
3 changed files with 83 additions and 23653 deletions
|
@ -1,47 +0,0 @@
|
||||||
#!/usr/bin/env python3
|
|
||||||
# -*- coding: utf-8 -*-
|
|
||||||
import svgwrite
|
|
||||||
import os
|
|
||||||
|
|
||||||
lost_and_found_content = "Found? https://l3d.ch/kontakt"
|
|
||||||
asset_content_prefix = "000-"
|
|
||||||
|
|
||||||
def create_a4_svg(output_filename):
|
|
||||||
# A4 size in millimeters
|
|
||||||
a4_width = '210mm'
|
|
||||||
a4_height = '297mm'
|
|
||||||
|
|
||||||
# Create SVG document (A4)
|
|
||||||
dwg = svgwrite.Drawing(output_filename, size=(a4_width, a4_height), profile='tiny')
|
|
||||||
|
|
||||||
# Add your content or elements to the SVG here
|
|
||||||
# For example, you can add a rectangle as a placeholder
|
|
||||||
# dwg.add(dwg.rect(insert=(10, 10), size=(a4_width_svg - 20, a4_height_svg - 20), fill="white", stroke="black"))
|
|
||||||
asset_content_suffix=0
|
|
||||||
for x in range(0,3):
|
|
||||||
for y in range(0,10):
|
|
||||||
print(f"Create Label: X={x}, Y={y} - {asset_content_prefix}{asset_content_suffix:03}")
|
|
||||||
# white bg for label
|
|
||||||
dwg.add(dwg.rect(insert=(f'{x*70}mm', f'{y*29.7}mm'), size=('70mm', '29.7mm'), fill="white", stroke="none"))
|
|
||||||
# asset number
|
|
||||||
asset_element = dwg.text(str(f"{asset_content_prefix}{asset_content_suffix:03}"), insert=(f'{x*70+29.7}mm', f'{y*29.7+10}mm'), font_size="37px", font_family="Lato", fill="black")
|
|
||||||
dwg.add(asset_element)
|
|
||||||
# lost and found
|
|
||||||
lost_and_found_element = dwg.text(lost_and_found_content, insert=(f'{x*70+29.7}mm', f'{y*29.7+15}mm'), font_size="11.3px", font_family="Lato", fill="black")
|
|
||||||
dwg.add(lost_and_found_element)
|
|
||||||
# freitextfeld
|
|
||||||
dwg.add(dwg.rect(insert=(f'{x*70+29.7+0.5}mm', f'{y*29.7+28.2}mm'), size=('38.3mm', '0.2mm'), fill="grey", stroke="none"))
|
|
||||||
|
|
||||||
# create qr-code
|
|
||||||
os.system(f'qrencode -t svg -l H -s 42 "https://i.l3d.ch/a/{asset_content_prefix}{asset_content_suffix:03}" -o /tmp/homebox-{asset_content_prefix}{asset_content_suffix:03}.svg')
|
|
||||||
# import
|
|
||||||
qr_code_svg = svgwrite.image.Image(f'/tmp/homebox-{asset_content_prefix}{asset_content_suffix:03}.svg', insert=(f'{x*70}mm', f'{y*29.7}mm'), size=('29.7mm', '29.7mm'))
|
|
||||||
dwg.add(qr_code_svg)
|
|
||||||
asset_content_suffix+= 1
|
|
||||||
|
|
||||||
# Save the SVG document
|
|
||||||
dwg.save()
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
|
||||||
create_a4_svg("output_a4.svg")
|
|
||||||
|
|
83
generate_labels_a4.py
Executable file
83
generate_labels_a4.py
Executable file
|
@ -0,0 +1,83 @@
|
||||||
|
#!/usr/bin/env python3
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
"""
|
||||||
|
Script to generate hobebox A4 Labels
|
||||||
|
"""
|
||||||
|
import os
|
||||||
|
import svgwrite
|
||||||
|
|
||||||
|
LOST_AND_FOUND_STRING = "Found? https://l3d.ch/kontakt"
|
||||||
|
ASSET_CONTENT_PREFIX = "000-"
|
||||||
|
|
||||||
|
def create_a4_svg(output_filename):
|
||||||
|
"""
|
||||||
|
Create A4 SVG
|
||||||
|
"""
|
||||||
|
# A4 size in millimeters
|
||||||
|
a4_width = '210mm'
|
||||||
|
a4_height = '297mm'
|
||||||
|
|
||||||
|
# Create SVG document (A4)
|
||||||
|
dwg = svgwrite.Drawing(output_filename, size=(a4_width, a4_height), profile='tiny')
|
||||||
|
|
||||||
|
# Add your content or elements to the SVG here
|
||||||
|
# For example, you can add a rectangle as a placeholder
|
||||||
|
asset_content_suffix=0
|
||||||
|
for x in range(0,3):
|
||||||
|
for y in range(0,10):
|
||||||
|
print(f"Create Label: X={x}, Y={y} - {ASSET_CONTENT_PREFIX}{asset_content_suffix:03}")
|
||||||
|
# white bg for label
|
||||||
|
dwg.add(
|
||||||
|
dwg.rect(
|
||||||
|
insert=(f'{x*70}mm', f'{y*29.7}mm'),
|
||||||
|
size=('70mm', '29.7mm'), fill="white", stroke="none"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
# asset number
|
||||||
|
asset_element = dwg.text(
|
||||||
|
str(f"{ASSET_CONTENT_PREFIX}{asset_content_suffix:03}"),
|
||||||
|
insert=(f'{x*70+29.7}mm',
|
||||||
|
f'{y*29.7+10}mm'),
|
||||||
|
font_size="37px",
|
||||||
|
font_family="Lato",
|
||||||
|
fill="black"
|
||||||
|
)
|
||||||
|
dwg.add(asset_element)
|
||||||
|
# lost and found
|
||||||
|
lost_and_found_element = dwg.text(LOST_AND_FOUND_STRING, insert=(
|
||||||
|
f'{x*70+29.7}mm',
|
||||||
|
f'{y*29.7+15}mm'),
|
||||||
|
font_size="11.3px",
|
||||||
|
font_family="Lato",
|
||||||
|
fill="black"
|
||||||
|
)
|
||||||
|
dwg.add(lost_and_found_element)
|
||||||
|
# freitextfeld
|
||||||
|
dwg.add(
|
||||||
|
dwg.rect(
|
||||||
|
insert=(f'{x*70+29.7+0.5}mm', f'{y*29.7+28.2}mm'),
|
||||||
|
size=('38.3mm', '0.2mm'),
|
||||||
|
fill="grey",
|
||||||
|
stroke="none"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
# create qr-code
|
||||||
|
asset_url = f"https://i.l3d.ch/a/{ASSET_CONTENT_PREFIX}{asset_content_suffix:03}"
|
||||||
|
qr_path = f"/tmp/homebox-{ASSET_CONTENT_PREFIX}{asset_content_suffix:03}.svg"
|
||||||
|
os.system(f'qrencode -t svg -l H -s 42 "{asset_url}" -o {qr_path}')
|
||||||
|
# import
|
||||||
|
qr_code_svg = svgwrite.image.Image(
|
||||||
|
f'{qr_path}',
|
||||||
|
insert=(f'{x*70}mm',
|
||||||
|
f'{y*29.7}mm'),
|
||||||
|
size=('29.7mm', '29.7mm')
|
||||||
|
)
|
||||||
|
dwg.add(qr_code_svg)
|
||||||
|
asset_content_suffix+= 1
|
||||||
|
|
||||||
|
# Save the SVG document
|
||||||
|
dwg.save()
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
create_a4_svg("output_a4.svg")
|
File diff suppressed because it is too large
Load diff
Before Width: | Height: | Size: 545 KiB |
Loading…
Reference in a new issue