Pular para o conteúdo
🛠️ToolsShed

Text Columns

Divida seu texto em várias colunas de largura igual para fácil leitura.

Sobre esta ferramenta

Texto em Colunas é uma ferramenta simples que divide seu texto em múltiplas colunas de largura igual, tornando passagens longas mais fáceis de ler e escanear. Este estilo de layout em colunas, popularizado por jornais e livros, reduz a fadiga ocular ao limitar a largura do texto em cada linha e ajuda os leitores a manter o foco ao se mover de uma coluna para outra.

Para usar a ferramenta, cole seu texto na área de entrada e selecione o número de colunas desejado. A ferramenta distribui automaticamente seu texto de forma uniforme entre as colunas. Funciona muito bem para artigos, poesia, ensaios ou qualquer texto longo que você gostaria de formatar para melhor legibilidade.

Texto em Colunas é particularmente útil ao preparar conteúdo para publicação, projetar boletins informativos ou simplesmente reformatar documentos longos para torná-los visualmente mais atraentes. O layout multicoluna também funciona bem em visualizações de desktop e dispositivos móveis, adaptando-se perfeitamente a diferentes tamanhos de tela.

Perguntas Frequentes

Implementação 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.