Saltar al contenido
🛠️ToolsShed

Text Columns

Divide tu texto en múltiples columnas de ancho igual para lectura fácil.

Acerca de esta herramienta

Texto en Columnas es una herramienta sencilla que divide tu texto en múltiples columnas de igual ancho, haciendo que los pasajes largos sean más fáciles de leer y escanear. Este estilo de diseño en columnas, popularizado por periódicos y libros, reduce la fatiga ocular al limitar el ancho del texto en cada línea y ayuda a los lectores a mantener el enfoque al moverse de una columna a otra.

Para usar la herramienta, pega tu texto en el área de entrada y selecciona el número de columnas que deseas. La herramienta distribuye automáticamente tu texto de manera uniforme entre las columnas. Funciona muy bien para artículos, poesía, ensayos o cualquier texto largo que quieras formatear para mejorar la legibilidad.

Texto en Columnas es particularmente útil cuando preparas contenido para publicación, diseñas boletines o simplemente reformateas documentos largos para hacerlos más visualmente atractivos. El diseño multicolumna también funciona bien en vistas de escritorio y móviles, adaptándose sin problemas a diferentes tamaños de pantalla.

Preguntas Frecuentes

Implementación de Código

import textwrap

def text_to_columns(text: str, num_columns: int, col_width: int = 30) -> str:
    """Split text into N columns with specified column width."""
    lines = text.splitlines()
    wrapped = []
    for line in lines:
        if line.strip():
            wrapped.extend(textwrap.wrap(line, col_width) or [""])
        else:
            wrapped.append("")

    # Pad to fill columns evenly
    rows = -(-len(wrapped) // num_columns)  # ceiling division
    wrapped += [""] * (rows * num_columns - len(wrapped))

    result_lines = []
    for r in range(rows):
        row_parts = []
        for c in range(num_columns):
            idx = c * rows + r
            cell = wrapped[idx] if idx < len(wrapped) else ""
            row_parts.append(cell.ljust(col_width))
        result_lines.append("  ".join(row_parts))

    return "\n".join(result_lines)

text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. " * 3
print(text_to_columns(text, num_columns=2, col_width=40))

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.