from reportlab.pdfgen import canvas
from reportlab.lib.pagesizes import letter
from PyPDF2 import PdfReader, PdfWriter
from reportlab.lib import colors
from io import BytesIO

INPUT_PDF = "Non-Employee_IT_Access_Form.pdf"
OUTPUT_PDF = "Non-Employee_IT_Access_Form_updated.pdf"

reader = PdfReader(INPUT_PDF)
writer = PdfWriter()
page = reader.pages[0]
packet = BytesIO()
can = canvas.Canvas(packet, pagesize=letter)

# Helper to draw white rectangle
def whiteout(x, y, w, h):
    can.setFillColor(colors.white)
    can.setStrokeColor(colors.white)
    can.rect(x, y, w, h, fill=1, stroke=0)

def draw_text(x, y, text, size=10):
    can.setFillColor(colors.black)
    can.setFont("Helvetica", size)
    can.drawString(x, y, text)

# 1. Replace @bdmifund.com line with new domains
whiteout(300, 286, 180, 24)
# Draw new checkbox squares
can.setStrokeColor(colors.black)
for idx, label in enumerate(["@versidi.com", "@bhi.vc"]):
    y = 296 - idx * 14
    box_y = y - 3
    can.rect(300, box_y, 10, 10, fill=0, stroke=1)
    draw_text(315, y, label, size=10)

# 2. Remove '(for BDMI use only)' text area (already whiteout)

# 3. Remove MS Teams checkbox/text in Software column
whiteout(70, 410, 80, 22)

# 4. Replace Deskphone/VM? label with 'MS Teams Number?'
whiteout(300, 410, 140, 22)
draw_text(300, 418, "MS Teams Number?", size=10)

can.save()
packet.seek(0)
overlay_pdf = PdfReader(packet)
overlay_page = overlay_pdf.pages[0]
page.merge_page(overlay_page)
writer.add_page(page)

with open(OUTPUT_PDF, "wb") as f:
    writer.write(f)
