import os
from fpdf import FPDF
class PDF(FPDF):
def header(self):
self.set_font('Arial', 'B', 12)
self.cell(0, 10, 'Repositorio de GitHub', 0, 1, 'C')
def footer(self):
self.set_y(-15)
self.set_font('Arial', 'I', 8)
self.cell(0, 10, f'Page {self.page_no()}', 0, 0, 'C')
def chapter_title(self, title):
self.set_font('Arial', 'B', 12)
self.cell(0, 10, title, 0, 1, 'L')
self.ln(10)
def chapter_body(self, body):
self.set_font('Arial', '', 12)
self.multi_cell(0, 10, body)
self.ln()
pdf = PDF()
pdf.add_page()
# Recorrer todos los archivos del repositorio
for root, dirs, files in os.walk('.'):
for file in files:
if file.endswith('.prg') or file.endswith('.ch') or file.endswith('.c'): # filtra según los tipos de archivos que quieras incluir
file_path = os.path.join(root, file)
with open(file_path, 'r', encoding='utf-8') as f:
content = f.read()
pdf.chapter_title(file_path)
pdf.chapter_body(content)
# Guardar el PDF
pdf.output('repositorio.pdf')