书判拔萃，释褐担任任兴元府（今陕西省南郑县）李绛的幕府。李绛获罪死，汉公未受牵连。累迁户部郎中、史馆修撰。文宗大和七年（833年），升迁为司封郎中。大和九年（835年）受杨虞卿案的株连，降为舒州（今安徽省潜山县）刺史。后历任湖（今浙江省吴兴县）、亳（今安徽省亳县）、苏（今江苏省苏州市）三州刺史。武宗会昌五年（845年）擢拔为桂管观察使。大中元年五月，授浙东观察使，转任户部侍郎，又任荆南节度使，回朝任工部尚书。被举发在任荆南节度使任内有贪赃行为，降为秘书监，稍迁国子监祭酒。宣宗时，擢拔为同州刺史。给事中郑裔绰