The path length estimate is a bit onerous. You should just compute it server side after the file is uploaded and let the user know what it is and how it affects the final price.
With vectors imported into a common data structure you just need to convert curves to line segments with enough segments to maintain a reasonable approximation and then add up their lengths. Cairo and Anti-grain geometry can do the heavy lifting for you there. Anti-grain has example code for doing this adaptively.
Either way, clearly you're already calculating this value for billing, no? Or are you just using laser run-time for the bill, and estimating that based on the user's guesstimated path length?