MapToPoster is a free Python project that you can use to create maps that are worthy of being hung on your wall. It uses OpenStreetMap data to render the same style of striking minimalist maps you see advertised on social media, while giving you control over the exact map location, scale, and colors used.
Once the project has been installed, you can use a simple text command to create portrait PNG files of around 3630x4830 pixels in size (at a density of 300 dpi).
I tried this a few weeks ago, and my main complaint was that it wasn’t caching the map files. Looks like that’s fixed now: https://github.com/originalankur/maptoposter/issues/10



Every worthwhile print shop has staff that can do the conversion to meet the needs of their specific printers.