As you saw on other's reply, only 8 transistors are enough.
Assuming the display is common anode (positive terminal), the solution would become:
Each segment cathode would need just a limiting current resistor.
And each digit would need a pnp transistor (and a resistor or two at its base) to drive the 7 segments (actually 8 with the dot) at each each period of time.
The price of this method is that the uC should update the digits at a higher frequency say 1000 Hz (1ms interval) to get 125 frames/sec.
Also for the same driving current the LED brightness becomes lower because the duty cycle decreases with the number of digits.
But it works... I used it a lot.