Wenn man die ULN200x nutzen will, dann wohl eher ULN2003 - der passt besser von der Eingangsspannung. Beim ULN2002 wäre 30 V als Eingangsspannung schon richtig - 5 V würde eher nicht reichen. Als günstige Porterweiterung kann man Schieberegister wie 74HC595 nutzen.

Als Alternative für eine einfachere Verdrahtung gäbe es auch noch Schieberegister mit Leistungsausgängen, z.B: als tpic6c595. Da hat man gleich die Porterweiterung mit drin, ist aber etwas teurer.

Bei so vielen LEDs wäre zu überlegen doch zu multiplexen - wenn auch nicht gleich als 14x14 Matrix, sondern eher als 28 x 7 oder auch nur 49 x 4.

Gerade wenn man viel Helligkeit braucht lohnt es sich ggf. bei den LEDs effektive Typen zu nutzen. Die Unterschiede zwischen hellen LEDs und low cost Typen sind riesig. Das kann ggf. die Treiber sparen, oder wenigstens vereinfachen.