Hi Community,
We use a Confluence Knowledge Base connected to Jira Service Management Cloud, and we would like customers to be able to print our KB articles directly from the customer portal, either to a physical printer or by selecting Save as PDF.
Currently, when a customer opens an article through the portal and uses Ctrl+P or Cmd+P, the resulting output is not formatted well. Instead of producing a clean, article-only document, the browser attempts to print the wider portal layout.
We have seen issues such as:
I have attached an example of the resulting print layout.
We have investigated the Confluence PDF stylesheet, but that appears to control PDFs generated through the Confluence export process rather than browser printing from the JSM customer portal. Adjusting browser print settings, such as scale, margins, and orientation, can help slightly, but the results are still inconsistent.
Pre-generating PDFs and attaching them to each article is also not practical for us. We have a large number of KB articles, and maintaining a separate PDF whenever the source article changes would create a significant content-management overhead.
I found the following Atlassian feature requests, but both remain unresolved and in Gathering Interest:
There is also JSDCLOUD-15848, which specifically describes misaligned content and missing images when using Save as PDF from a portal article. That request was closed as a duplicate of JSDCLOUD-4045, with no known workaround documented.
Has anyone found a reliable and scalable solution for this in JSM Cloud?
In particular, I would be interested in hearing about:
Ultimately, we are looking for a customer-friendly way to print the current KB article without including the surrounding portal layout.
Thanks in advance for any ideas or examples of how others have handled this.
@Chris Green , you have already eliminated the easy answers, so let me name the mechanism that kills them and then the two routes that survive it.
Why every Confluence-side route fails: the portal reader is, in most cases, a portal-only customer with no Confluence licence. The article they see is the Confluence page rendered inside the portal shell by JSM; the customer never touches Confluence itself. So Export to PDF, the PDF stylesheet, Confluence print CSS and every Confluence app that adds a print button are all on the wrong side of the wall. Browser print is the only exporter the customer has, and it prints what the portal renders, chrome included, with print CSS that Atlassian owns and the portal theme cannot override. That is why JSDCLOUD-4045 has sat in Gathering Interest since it was filed, and why the workaround field on JSDCLOUD-15848 is empty.
Route 1, no code, works today: the browser's reader view. Chrome's Reading mode (side panel), Edge's Immersive Reader and Safari's Reader all strip the portal chrome and render the article body alone; printing from reader view gives an article-only page with images and tables intact, at the current content, respecting whatever the customer was allowed to see. It is not a button on your portal, but it is a one-line instruction at the bottom of every KB article ("To print, open Reader view then print"), and in my experience it closes most of the actual demand. Test it against your worst table before relying on it; wide tables still wrap.
Route 2, Forge, permission-safe by construction: Forge has JSM portal modules (portal header, footer, sub-header and request-view actions) that can put a "Print this article" control on every portal page. The design that respects permissions:
@media print rules you own, and the browser prints that.Always current, no PDF attachments, no per-article maintenance, and the permission check is the same one the portal uses. I have not built this exact app, so treat it as a design, not a tested recipe; the pieces are documented and the pattern is standard.
Route 3, Marketplace: there are portal customisation apps that replace the KB rendering with their own view, and some include a print or PDF action. I would evaluate any of them on one question only: does its print view call the KB API as the customer, or fetch the page as the app without a visibility check? The second kind leaks restricted articles the moment someone guesses a page ID.
And vote on JSDCLOUD-4045 with a link to this thread; a Champion's write-up with three tickets cross-referenced is the kind of comment that moves a Gathering Interest ticket.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.