Spain's David Ferrer will meet Robin Soderling in the final of the Swedish Open after dismantling Nicolas Almagro in straight sets.