Advertisement
Rnery

Numerando footnotes..

Feb 13th, 2024 (edited)
1,159
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.45 KB | Source Code | 0 0
  1. #!/usr/bin/env python3
  2. # -*- coding: utf-8 -*-
  3.  
  4. """
  5. Instale a lib docx com: pip install python-docx
  6. Tá tudo comentado..
  7. """
  8.  
  9. from docx import Document
  10. from docx.shared import Pt
  11. from docx.enum.text import WD_PARAGRAPH_ALIGNMENT
  12.  
  13. def adicionar_marcador(paragrafo, marcador):
  14.     marcador_run = paragrafo.add_run(marcador)
  15.     marcador_run.font.size = Pt(1)  # Define o tamanho da fonte para 1pt (invisível)
  16.     return marcador_run
  17.  
  18. def adicionar_referencia_cruzada(documento, marcador, tipo_referencia):
  19.     referencia_cruzada = documento.add_paragraph()
  20.    
  21.     # Adiciona texto "Referência de Tipo X:"
  22.     referencia_cruzada.add_run(f"Referência de {tipo_referencia}:").bold = True
  23.    
  24.     # Adiciona o campo de referência cruzada
  25.     campo_referencia = referencia_cruzada.add_run()
  26.     campo_referencia.add_field_code(f' REF {tipo_referencia} \h \# "{marcador.text}" ')
  27.  
  28.     # Adiciona uma quebra de linha
  29.     referencia_cruzada.add_run().add_break()
  30.  
  31. # Criar um novo documento
  32. doc = Document()
  33.  
  34. # Adicionar texto ao documento
  35. paragrafo1 = doc.add_paragraph("Isso é um exemplo de texto.")
  36.  
  37. # Criar um marcador
  38. marcador1 = adicionar_marcador(paragrafo1, "Marcador1")
  39.  
  40. # Adicionar mais texto
  41. paragrafo2 = doc.add_paragraph("Mais texto no documento.")
  42.  
  43. # Adicionar referência cruzada para o marcador
  44. adicionar_referencia_cruzada(doc, marcador1, "Página")
  45.  
  46. # Salvar o documento
  47. doc.save("documento_com_referencia_cruzada.docx")
  48.  
Tags: python python3
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement