Send to Printer Button: Print Popup

  • 4
  • Question
  • Updated 1 year ago
  • Answered
I have a popup that the user needs to be able to print.  I would ideally like a button that would send the popup to the default printer.  I've tried printing the popup manually, but it ends up sending the entire Skuid page to the printer and only the visible region of the popup (like a screenshot).  Can anyone help me with this?  I'm guessing I need to use JS, but I don't know where to begin...
Photo of Scott

Scott

  • 2,722 Points 2k badge 2x thumb

Posted 4 years ago

  • 4
Photo of Rob Hatch

Rob Hatch, Official Rep

  • 44,006 Points 20k badge 2x thumb
This was the article that opened eyes - suggesting Print Friendly Pages could be achieved just with CSS.   Having said that - its going to require a pretty extensive set of CSS customizations to get implmented. 

The simple way to this would be for the Print button on your popup to go old school.  I should actually launch a new Skiud Page (probably in a new window) that has the contents of your popup in it - and has the salesforce header and sidebar turned off. 
Photo of Scott

Scott

  • 2,722 Points 2k badge 2x thumb
hey Rob - 
i tried converting the popup to a full page (in a new tab), but the printout still only shows the current screen view.  Is there no way to make a printable page?  do i need to go the CSS route?

Photo of Rob Hatch

Rob Hatch, Official Rep

  • 44,006 Points 20k badge 2x thumb
Looks to me like you didn't turn off the Salesforce Header in your new skuid page.  I think would take care of it.

Having said that - the CSS route would be more elegant and easier to maintain.  But I'm not aware of anyone who has accomplished it.  We've thought that a specific Skuid Theme could be built to provide this capability.  We just haven't had time to get this done. 
Photo of Bradley Wood

Bradley Wood

  • 424 Points 250 badge 2x thumb
I for one, am particularly keen to see if a printer-friendly theme could be sorted. The alternative is to get Drawloop or something and I really don't want to have to do that! 
Photo of mB Pat Vachon

mB Pat Vachon, Champion

  • 42,714 Points 20k badge 2x thumb
Drawloop is good, but I love Conga Composer!

I otherwise look forward to anyone solving this print from Skuid desire.
Photo of Scott

Scott

  • 2,722 Points 2k badge 2x thumb
Hey Pat - I'm trying Conga.  Do you know if there is any documentation regarding how Conga works in conjunction with Skuid?  I'm confused about the initial setup...
Photo of mB Pat Vachon

mB Pat Vachon, Champion

  • 42,714 Points 20k badge 2x thumb
There are many similarities between Skuid and Conga.

Skuid uses Models to bring data to the pages, while Conga uses queries and/or reports to bring data to the merge. I've copied queries directly from Models and adjusted them for use in Conga with little effort.

As for the initial step, there isn't really an initial to get it working. There is a button that needs to be created in order to start the process when using Composer. You can also Workflow to kick off the process in a fully automatic way for one or more records using Conga Workflow.

Both use a formula field to send instruction to a Conga server on how to build the document.

For Composer, you have three components required to build a solution.
  1. Data from queries and/or reports. Queries are built with a tool that Conga provides. Reports are the reports you can build using the Salesforce reporting tool.
  2. A template for how to merge the data into a document.
  3. A button referencing a formula field to send the instructions to the Conga Composer server.
For Workflow, the concept is similar except there is not button to start the process. There is workflow used to send an outbound message to a Conga URL with instructions put together in a formula field. The other thing is that everything must be preconfigured in the formula. There will be no options for the user to choose who send to file, where to save the file, what template to use, etc. etc. All this will be predetermined.
Photo of Matt Sones

Matt Sones, Champion

  • 31,478 Points 20k badge 2x thumb
Just a follow-up to this.

We're just experimenting with jQuery Print, which let's you grab any DOM element and print just that. Seems like it could simplify Scott's original issue.
Photo of Bradley Wood

Bradley Wood

  • 424 Points 250 badge 2x thumb
Did this functionality make it into Banzai, I wonder?  Still pretty keen on this. 
Photo of Rob Hatch

Rob Hatch, Official Rep

  • 44,006 Points 20k badge 2x thumb
This is not in Banzai.. Sorry. 
Photo of Rich Slack

Rich Slack

  • 4,134 Points 4k badge 2x thumb
We have been making printable pages with CSS now.  Our data is HIPAA protected so I can't send it to external sites like DocRaptor.  The wrapper component allows you to set the width to fit on a page.  The panel set allows you to add a header with an image and page title etc.  More wrappers allow you to set up lines and other stylistic elements.  When someone wants to print we have a button they click that opens up the page with no Salesforce Header and stylized to look like a printable page.  You can use CSS to set up page breaks.  We have been able to get some pretty nice pages.  It would still be nice if those pages could be automatically converted to PDF.  But for now, the end user just clicks Ctrl-P and uses the print dialog box. I am also looking at Prince XML since you can host that on internal servers.
(Edited)
Photo of mB Pat Vachon

mB Pat Vachon, Champion

  • 42,714 Points 20k badge 2x thumb
Can we get a look see? :D
Photo of Matt Sones

Matt Sones, Champion

  • 31,478 Points 20k badge 2x thumb
Yes! We're in a similar position with HIPAA... If you're willing to share your css, I'd love to take a peak.