Guía de Berrinches

import openpyxl from openpyxl.styles import Border, Side, Alignment, Font, PatternFill from openpyxl.worksheet.page import PageMargins def create_template(): wb = openpyxl.Workbook() for s in wb.sheetnames: del wb[s] ws1 = wb.create_sheet(title=”1. Frentes”) ws2 = wb.create_sheet(title=”2. Reversos”) dashed_side = Side(border_style=”dashed”, color=”A0A0A0″) dashed_border = Border(left=dashed_side, right=dashed_side, top=dashed_side, bottom=dashed_side) # Ancho de cada tarjeta (~7cm en unidades Excel) ancho_tarjeta = 38.5 # Alto de cada tarjeta (~10cm en puntos Excel) alto_tarjeta = 328 # Espacio entre tarjetas (~0.75cm) ancho_espacio = 4 # ~0.75cm en unidades de ancho Excel alto_espacio = 25 # ~0.75cm en puntos de alto Excel for idx, sheet in enumerate([ws1, ws2]): sheet.page_setup.paperSize = sheet.PAPERSIZE_LETTER # Márgenes simétricos sheet.page_margins = PageMargins(left=0.75, right=0.75, top=0.5, bottom=0.5, header=0, footer=0) sheet.print_options.horizontalCentered = True sheet.print_options.verticalCentered = True # Columna A: Tarjeta izquierda sheet.column_dimensions[‘A’].width = ancho_tarjeta # Columna B: Espacio entre tarjetas sheet.column_dimensions[‘B’].width = ancho_espacio # Columna C: Tarjeta derecha sheet.column_dimensions[‘C’].width = ancho_tarjeta # Fila 1: Tarjeta superior sheet.row_dimensions[1].height = alto_tarjeta # Fila 2: Espacio entre tarjetas sheet.row_dimensions[2].height = alto_espacio # Fila 3: Tarjeta inferior sheet.row_dimensions[3].height = alto_tarjeta # Posiciones de las 4 tarjetas: (fila, columna) card_positions = [(1, 1), (1, 3), (3, 1), (3, 3)] # A1, C1, A3, C3 for i, (r, c) in enumerate(card_positions): cell = sheet.cell(row=r, column=c) cell.border = dashed_border cell.alignment = Alignment(horizontal=’center’, vertical=’center’, wrap_text=True) cell.font = Font(color=”A0A0A0″, italic=True, size=11) if idx == 0: # Frentes carta_num = i + 1 cell.value = f”Pegar Frente {carta_num}\n(7 x 10 cm)” else: # Reversos (espejados horizontalmente para doble cara) # Espejo: las columnas se invierten # Frente: A1=1, C1=2, A3=3, C3=4 # Reverso: C1=1, A1=2, C3=3, A3=4 mirror_map = { (1, 1): 2, # A1 reverso = Carta 2 (1, 3): 1, # C1 reverso = Carta 1 (3, 1): 4, # A3 reverso = Carta 4 (3, 3): 3, # C3 reverso = Carta 3 } carta_num = mirror_map[(r, c)] cell.value = f”Pegar Reverso {carta_num}\n(7 x 10 cm)\n*ESPEJO*” output_path = ‘/Users/nakaridrico/.gemini/antigravity/playground/pyro-bohr/Plantilla_Cartas_ConEspacio.xlsx’ wb.save(output_path) print(f”✅ Excel guardado en: {output_path}”) print(f”\n📐 Configuración:”) print(f” Tarjeta: 7 x 10 cm”) print(f” Espacio entre tarjetas: ~0.75 cm”) print(f” Layout: 2×2 tarjetas por hoja”) print(f” Hoja 1: Frentes”) print(f” Hoja 2: Reversos (espejados para doble cara)”) create_template()
Scroll to Top