You don't need any plugins, and any version of Blender is suitable to create images for printing.
Since blender has no interface to connect to a printer, there is no real need to set DPIs within the program.
Speaking of print quality quality, what matters to you is the number of pixels of the rendered image and how those are going to be interpreted at the time of printing.
As an EXAMPLE: an image printed in a letter size paper at 300DPI will need 2550x3300 pixels. The same number of pixels would fill a 3.75" x 5.5" print at 600DPI or a 30"x44" display at 72DPI, or a 17'x22' billboard at 12 DPI...
In contrast, If you were to print an image of only 640x480 pixels to the size of a letter size paper (8.5"x11"), it will always look pixelated, even if you were to print it at 300dpi or 1200dpi, as there is not enough information on the file to match the print density.
There are plenty of online Image Size Calculators you can use to get to those numbers.
Once you know what size you want to print and the resolution in DPI of the printer, you can calculate the number of pixels you need, and that's the number you'd type in "resolution" of the render settings in blender.
The DPI information is an added tag in the file, that in no way changes the picture information. If you absolutely require a DPI tag in your file, it can be edited later using different software.