import os
from reportlab.lib.pagesizes import letter, landscape
from reportlab.lib import colors
from reportlab.platypus import SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle, HRFlowable
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.units import inch

pdf_path = "/home/magdalena/eee/alunos/alberico-de-carvalho-santiago/Estudo_Similares_Sombra_da_Lua_vs_E_da_Vida.pdf"

doc = SimpleDocTemplate(
    pdf_path,
    pagesize=landscape(letter),
    rightMargin=30,
    leftMargin=30,
    topMargin=26,
    bottomMargin=26
)

styles = getSampleStyleSheet()

primary_color = colors.HexColor("#0F2B48")
secondary_color = colors.HexColor("#B45309")
dark_neutral = colors.HexColor("#1E293B")
light_neutral = colors.HexColor("#F8FAFC")
border_color = colors.HexColor("#CBD5E1")

title_style = ParagraphStyle(
    'DocTitle',
    parent=styles['Heading1'],
    fontName='Helvetica-Bold',
    fontSize=13,
    leading=17,
    textColor=primary_color,
    alignment=1,
    spaceAfter=2
)

subtitle_style = ParagraphStyle(
    'DocSubtitle',
    parent=styles['Normal'],
    fontName='Helvetica',
    fontSize=8.5,
    leading=11,
    textColor=secondary_color,
    alignment=1,
    spaceAfter=6
)

section_heading = ParagraphStyle(
    'SectionHeading',
    parent=styles['Heading2'],
    fontName='Helvetica-Bold',
    fontSize=9.5,
    leading=12,
    textColor=primary_color,
    spaceBefore=4,
    spaceAfter=2
)

body_style = ParagraphStyle(
    'BodyDark',
    parent=styles['Normal'],
    fontName='Helvetica',
    fontSize=7.6,
    leading=10.2,
    textColor=dark_neutral,
    spaceAfter=2
)

bullet_style = ParagraphStyle(
    'BulletDark',
    parent=body_style,
    leftIndent=10,
    firstLineIndent=-7,
    spaceAfter=2
)

table_header_style = ParagraphStyle(
    'TableHeader',
    parent=styles['Normal'],
    fontName='Helvetica-Bold',
    fontSize=7,
    leading=8.5,
    textColor=colors.white,
    alignment=1
)

table_body_style = ParagraphStyle(
    'TableBody',
    parent=styles['Normal'],
    fontName='Helvetica',
    fontSize=6.8,
    leading=8.5,
    textColor=dark_neutral,
    alignment=1
)

table_body_left = ParagraphStyle(
    'TableBodyLeft',
    parent=table_body_style,
    alignment=0
)

table_body_bold = ParagraphStyle(
    'TableBodyBold',
    parent=styles['Normal'],
    fontName='Helvetica-Bold',
    fontSize=6.8,
    leading=8.5,
    textColor=primary_color,
    alignment=1
)

story = []

# Cabeçalho
story.append(Paragraph("ESTUDO COMPARATIVO DE SIMILARES: OS DOIS GIGANTES DA BAHIA", title_style))
story.append(Paragraph("<b>Saveiro 'Sombra da Lua' vs. Saveiro 'É da Vida' (Acervo UFRB / Viva Saveiro)</b> | Aluno: Alberico | Brana / EEE", subtitle_style))
story.append(HRFlowable(width="100%", thickness=1.2, color=secondary_color, spaceAfter=4))

story.append(Paragraph("1. Os Dois Maiores Sobreviventes de Vela de Içar da Baía de Todos-os-Santos", section_heading))
story.append(Paragraph(
    "A imagem técnica enviada pelo aluno traz o levantamento de linhas e fotogrametria do saveiro <b>'É DA VIDA' (Inscrição Nº 2810250468)</b>, "
    "gerado em projeto de salvaguarda patrimonial com suporte da Associação Viva Saveiro e pesquisadores da UFRB/UFBA. "
    "Junto com o <b>'Sombra da Lua'</b> (tombado pelo IPHAN), eles formam os dois maiores e mais importantes saveiros tradicionais de carga ainda navegando. "
    "Abaixo está o estudo de semelhança e confronto direto de suas características:",
    body_style
))

# Tabela
table_data = [
    [
        Paragraph("Característica / Parâmetro", table_header_style),
        Paragraph("Saveiro 'Sombra da Lua'<br/>(Tombado IPHAN - Maragojipe)", table_header_style),
        Paragraph("Saveiro 'É da Vida'<br/>(Prancha do Aluno - Jaguaripe)", table_header_style),
        Paragraph("Seu Mini Saveiro de Passeio<br/>(Projeto Alberico - 6,30 m)", table_header_style),
        Paragraph("Análise Técnica de Semelhança", table_header_style)
    ],
    [
        Paragraph("Comprimento Total (LOA)", table_body_bold),
        Paragraph("<b>12,50 m</b> (41,0 ft)", table_body_style),
        Paragraph("<b>12,20 m</b> (40,0 ft)", table_body_style),
        Paragraph("<b>6,30 m</b> (20,7 ft)", table_body_style),
        Paragraph("Sombra da Lua e É da Vida têm quase o mesmo porte (~12,3 m). O seu projeto é exatamente a metade proporcional.", table_body_left)
    ],
    [
        Paragraph("Boca Moldada (Largura)", table_body_bold),
        Paragraph("<b>4,00 m</b>", table_body_style),
        Paragraph("<b>3,90 m</b>", table_body_style),
        Paragraph("<b>2,40 m</b>", table_body_style),
        Paragraph("Relação L/B de 3,12 (Sombra) e 3,13 (É da Vida). Prova o padrão rigoroso dos mestres carpinteiros do Recôncavo.", table_body_left)
    ],
    [
        Paragraph("Calado Carregado", table_body_bold),
        Paragraph("~1,00 m (100 cm)", table_body_style),
        Paragraph("~0,95 m (95 cm)", table_body_style),
        Paragraph("0,45 m (45 cm)", table_body_style),
        Paragraph("Os cargueiros precisam de calado para o lastro; o 6,30 m tem calado raso para praia.", table_body_left)
    ],
    [
        Paragraph("Deslocamento (Peso)", table_body_bold),
        Paragraph("~15 a 16 toneladas", table_body_style),
        Paragraph("~14 a 15 toneladas", table_body_style),
        Paragraph("~1,85 tonelada", table_body_style),
        Paragraph("Ambos os gigantes deslocam cerca de 15t vazios e até 25t com carga plena de telhas/cerâmica.", table_body_left)
    ],
    [
        Paragraph("Tipo de Popa e Fechamento", table_body_bold),
        Paragraph("Popa Torada com Tijupá", table_body_style),
        Paragraph("Popa Torada com Tijupá", table_body_style),
        Paragraph("Espelho aberto com poço", table_body_style),
        Paragraph("Ambos os clássicos usam o tijupá de madeira na ré para abrigo e pernoite dos mestres.", table_body_left)
    ],
    [
        Paragraph("Altura do Mastro", table_body_bold),
        Paragraph("<b>~18,0 metros</b>", table_body_style),
        Paragraph("<b>~17,5 metros</b>", table_body_style),
        Paragraph("5,80 metros", table_body_style),
        Paragraph("Troncos inteiriços de madeira de lei sem estais de aço laterais (enfancamento livre).", table_body_left)
    ],
    [
        Paragraph("Área Vélica Total", table_body_bold),
        Paragraph("<b>~135,0 m² de lona</b>", table_body_style),
        Paragraph("<b>~130,0 m² de lona</b>", table_body_style),
        Paragraph("<b>22,5 m²</b> (Içar + Buja)", table_body_style),
        Paragraph("Velas de içar monumentais sustentadas por penas de 14,5 a 15 metros de comprimento.", table_body_left)
    ],
    [
        Paragraph("Velocidade de Cruzeiro / Máx.", table_body_bold),
        Paragraph("7,2 nós / 9,5 nós", table_body_style),
        Paragraph("7,0 nós / 9,2 nós", table_body_style),
        Paragraph("5,5 nós / 6,2 nós", table_body_style),
        Paragraph("Pela linha d'água longa (~11,5 m), ambos os gigantes ultrapassam 9 nós na regata João das Botas.", table_body_left)
    ],
    [
        Paragraph("Mestre Tradicional / Origem", table_body_bold),
        Paragraph("Mestre Jorge (1923)<br/>Maragojipe / Porto da Pedra", table_body_style),
        Paragraph("Mestre Carlinhos / Jailton<br/>Jaguaripe / Maragogipinho", table_body_style),
        Paragraph("Mestre Alberico<br/>Salvador / EEE", table_body_style),
        Paragraph("Os dois pilares vivos da tradição centenária dos saveiros de carga da Bahia.", table_body_left)
    ]
]

t_comp = Table(
    table_data,
    colWidths=[1.6*inch, 1.6*inch, 1.6*inch, 1.6*inch, 3.2*inch]
)

t_comp.setStyle(TableStyle([
    ('BACKGROUND', (0,0), (-1,0), primary_color),
    ('ALIGN', (0,0), (-1,-1), 'CENTER'),
    ('VALIGN', (0,0), (-1,-1), 'MIDDLE'),
    ('GRID', (0,0), (-1,-1), 0.5, border_color),
    ('ROWBACKGROUNDS', (0,1), (-1,-1), [light_neutral, colors.white]),
    ('TOPPADDING', (0,0), (-1,-1), 2.5),
    ('BOTTOMPADDING', (0,0), (-1,-1), 2.5),
]))
story.append(t_comp)
story.append(Spacer(1, 4))

# Conclusão
story.append(Paragraph("2. Conclusões da Pesquisa de Similaridade", section_heading))
story.append(Paragraph(
    "• <b>Identidade Quase Gêmea:</b> O <i>Sombra da Lua</i> (12,50 m) e o <i>É da Vida</i> (12,20 m) são praticamente irmãos gêmeos de projeto e construção. Ambos têm boca de 3,90 m a 4,00 m, popa torada com o clássico tijupá e velame monumental de cerca de 130 a 135 m² apoiado em mastros de 17 a 18 metros.<br/>"
    "• <b>Proporção com o seu Projeto (6,30 m):</b> Enquanto os dois gigantes foram construídos para carregar até 20 toneladas de cerâmica de Maragogipinho cruzando a baía em viagens de dias, o seu <b>Mini Saveiro de 6,30 m</b> carrega a mesmíssima alma construtiva e proporção de boca, porém miniaturizado com maestria para ser ágil, leve e conduzido por apenas um velejador!",
    body_style
))

doc.build(story)
print("PDF Sombra vs E da Vida gerado com sucesso!")
