There are no direct flights that can be taken from India to Johannesburg, which is the nearest airport to Pretoria. Several connecting flights however run from the major international airports in India. Most of these have one stopover, some even two. Airlines like Ehtiopian Airlines, Jet Airways, Kenya Airlines, South African Airlines, Qatar Airways and several others provide services along these routes.
VFS Global runs South African visa centres in India. Tourist visas can be applied for from the website. The application of the South African visa only requires the logistics fees and is free of visa fees. All the other requirements of applying for the visa can be found at "vfsglobal.com/southafrica/india"
The closest airport to Pretoria is in Johannesburg, the OR Tambo International Airport. From there you can take a taxi, or take the Metrorail from Isando which will take another hour to take you to Pretoria.
The N1, N3, N4, N14 national highways connect with several regional highways to make Pretoria accessible from pretty much every part of South Africa via car
The Gautrain and the Metrorail connect Pretoria to cities all over Gauteng inlcuding Centurion, Midran, Johannesburg and others.
There are many railways that travel through Pretoria that can be used to get around along certain lines. Commuter rail, Gautrain, and the luxury Blue Train all travel through Pretoria and have various stops within the city before heading out to places like Johannesburg and Centurion. There are minibus taxis and Gautrain feeder buses that service the city, as well as normal public buses that run during the day. Taxis run throughout the city as well, and many of them need to be booked beforehand. Renting a car however, is probably the best way to get around Pretoria.