The simplest solution is as described. Provide a download button that queries for the desired row, then supplies the blob data to system.perspective.download()
.
To view the PDF, you'll want to place an IFrame component and use my Blob Server module (free) to deliver the content.