I have a passport from Afghanistan with a Canadian visa in it. Do I need a transit visa in Paris or Amsterdam?
Both Paris and Amsterdam are in the Schengen zone, and so your question is answered in Regulation (EC) No 810/2009 of the European Parliament and of the Council of 13 July 2009.
Article 3 states in part...
Nationals of the third countries listed in Annex IV shall be required to hold an airport transit visa when passing through the international transit areas of airports situated on the territory of the Member States.
Afghanistan is listed in Annex IV
Paragraph 5 lists the exemptions. It says in part...
The following categories of persons shall be exempt from the requirement to hold an airport transit visa provided for in paragraphs 1 and 2:
(b) third-country nationals holding the valid residence permits listed in Annex V issued by Andorra, Canada, Japan, San Marino or the United States of America guaranteeing the holder’s unconditional readmission;
And Annex V says for Canada...
CANADA: — Permanent resident card (plastic card).
If you do not meet these requirements, you will need to apply in advance for a "Schengen Airport Transit Visa"