BC547 transistors..are specified for Ic (collector current) of 100 mA.
Good spot @6v6gt!@cristian10001 use BC337 instead. Or better, use BC327, which is PNP and you will need those base resistors after all.
Without the transistors, you will be damaging the Arduino. Suppose you want to display the digit "8". To do that, 7 segments will need to be lit. The current flowing through each segment will be (5V-2.1V)/120R=24mA. That's ok for the segments (max 30mA) and the Arduino pins connected to them (max 40mA). But the Arduino pins connected to the digit common anodes must source 7x24=170mA. Thats more than 4 times higher than they are rated for. They won't self-limit the current. They will be damaged and eventually fail.
What about first question, about losing the control of digits? I will still use the original circuit? Now I am a little bit confused about how to control the segments.
. . .I agree with @Paul__B.. . .