Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python3
- # -*- coding: utf-8 -*-
- """
- Instale a lib docx com: pip install python-docx
- Tá tudo comentado..
- """
- from docx import Document
- from docx.shared import Pt
- from docx.enum.text import WD_PARAGRAPH_ALIGNMENT
- def adicionar_marcador(paragrafo, marcador):
- marcador_run = paragrafo.add_run(marcador)
- marcador_run.font.size = Pt(1) # Define o tamanho da fonte para 1pt (invisível)
- return marcador_run
- def adicionar_referencia_cruzada(documento, marcador, tipo_referencia):
- referencia_cruzada = documento.add_paragraph()
- # Adiciona texto "Referência de Tipo X:"
- referencia_cruzada.add_run(f"Referência de {tipo_referencia}:").bold = True
- # Adiciona o campo de referência cruzada
- campo_referencia = referencia_cruzada.add_run()
- campo_referencia.add_field_code(f' REF {tipo_referencia} \h \# "{marcador.text}" ')
- # Adiciona uma quebra de linha
- referencia_cruzada.add_run().add_break()
- # Criar um novo documento
- doc = Document()
- # Adicionar texto ao documento
- paragrafo1 = doc.add_paragraph("Isso é um exemplo de texto.")
- # Criar um marcador
- marcador1 = adicionar_marcador(paragrafo1, "Marcador1")
- # Adicionar mais texto
- paragrafo2 = doc.add_paragraph("Mais texto no documento.")
- # Adicionar referência cruzada para o marcador
- adicionar_referencia_cruzada(doc, marcador1, "Página")
- # Salvar o documento
- doc.save("documento_com_referencia_cruzada.docx")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement