Swiss police say three people have been killed and seven others wounded after a gunman opened fire at a wood-processing factory near the city of Lucerne.

The death toll included the gunman, said to be a 42-year-old employee of the Kronospan wood panel plant in Menznau.

Witnesses quoted by local media said the shooting started in the factory canteen around 9am (local time) as workers on an early shift took their lunch break.

Helicopters were called in to take four seriously wounded victims to hospital.

Visibly shocked company managers said the gunman had worked at the factory for more than 10 years and had never drawn any attention to himself in the past.

Police told reporters that the gunman appeared to have targeted his victims deliberately.

Local newspaper Willisauerer Bote said the company had just announced it was cutting production after a poor logging season.

"We're all in shock. We'll do everything we can to help the victims' loved ones and support them financially," Urs Fluder, a member of Kronospan's board, told local station Radio Pilatus.

"The company will keep going as normally as possible."

Owned by Austrian group Kronospan, the factory is the top employer in Menznau, giving jobs to about 400 people in the community of almost 2,600.

"This is a tragedy," Menznau mayor Adrian Duss said.

Production at the factory has been halted and a memorial service is being organised.

Last month a gunman killed three women and wounded two men in the village of Daillon, stirring a debate about Switzerland's firearms laws that allow its male citizens to retain guns after their mandatory military service.

There is no national gun register but some estimates indicate that at least one in every three of Switzerland's 8 million inhabitants keeps a gun, many stored at home.

Citizens outside the military can apply for a permit to buy up to three weapons from the age of 18 in a country where sharp-shooting and hunting are popular sports.

A shooting in the regional parliament of Zug in 2001 that caused 14 deaths prompted calls to tighten laws, but the majority of Swiss citizens rejected a proposal in 2011 for additional measures such as the creation of local arsenals for military weapons outside service periods.

ABC/wires