I think this can be nudged forward by examining only the case where the documents are on the filesystem, and ignoring the "missing documents" problem for now.
Use Case:
Create a ticket.
Document is uploaded to a ticket, and ticket saved successfully.
We navigate to the ticket again, we can see the document attachment link.
We can click on the link, a new browser windows opens (blank) and the document downloads into our local downloads folder.
The downloaded document can be opened and viewed normally.
We then attempt print the ticket with attachments... this fails. We get a blank screen (as above) and no downloaded file.
We again attempt print the ticket without attachments... this also fails. We get a blank screen (as above) and no downloaded file.