The only way to provide a tool which not only prints out ballots, but also in fact runs & counts elections, is if voters pre-register, then we put all the voters in a database, then we make an election, then each voter when voting types in his secret pre-registered password (preventing vote-abuse), then it checks the votes versus the database (preventing vote-abuse), and totals the legitimate ones.
It is a royal pain to do all that... and even if we did then the pre-registration process could also be subject to abuse by the creation of, e.g, fake voters.