Look for a marine canvas shop in your area. Call them and have them quote you a price for whatever you want. Get a couple different prices from different shops and then ask to see some of their work.
I recently had a local shop replace a worn out cockpit cover. It looks original.