工厂收取培训费是否合法取决于是否进行过专业技术培训。
按《劳动合同法》第二十二条规定,用人单位对劳动者进行了专业技术培训(不是岗前职业培训),支付了培训费,可以在劳动合同或者培训协议中约定服务期,劳动者违反服务期约定的,应当向用人单位支付违约金。但违约金的数额不得超过尚未履行期间分摊的培训费用。
因此,用人单位如果对劳动者进行了专业技术培训,支付了培训费,约定了服务期的,现劳动者主动辞职,应当按伤亡履行期间分摊的费用支付违约金;没有经过专业技术培训的,不需要支付违约金。
根据劳动合同法规定,试用工提前三天、正式工提前三十天离职申请就可以办理离职手续。所以扣款是非法行为。