Police spokesman Todd Baldwin in the city of Harrisburg told AFP that officers rushed to Harrisburg High School after reports of shots being fired.
He said one person was injured and students and staff at the school had been evacuated.
Local press reports said the shooter was a student who entered principal Kevin Lein’s office at about 10:00 a.m. and shot him in the arm after a struggle.
The Argus Leader newspaper said the assistant principal and the school’s athletic director then tackled the student and held him until police arrived.
The principal reportedly suffered a minor flesh wound.