Skip to main content

Notifications

Power Apps - Building Power Apps
Suggested answer

Print all screens as a single document

(1) ShareShare
ReportReport
Posted on by 401
Hi all, 
 
I have a multi-screen canvas Power Apps, I would like the ability to print all screens into a single document. Can someone please point me in the right direction? 
 
When I select the Print() function, it only shows the current screen. Wondering if there's a way to compile all screens into a single one then pressing the Print() function to print all screens into a single doc. 
 
Thanks in advance.
Categories:
  • _sourcecod3_ Profile Picture
    _sourcecod3_ 401 on at
    Print all screens as a single document
     
    Thanks for your response, As I was testing your proposed solution, I used a scrollable screen to fit all of the components within the other screens, but when I clicked on the Print() button, it only pulled up what was showing in the screen, not grabbing everything that's in the scrollable screen. 
     
    Any thoughts? 
  • Suggested answer
    SwatiSTW Profile Picture
    SwatiSTW 306 on at
    Print all screens as a single document
    Unfortunately, in Power Apps, there is no built-in functionality to print all screens at once as a single document directly. The Print() function only prints the currently visible screen, and there's no direct way to compile all screens into a single one for printing. 
    However, there is a workaround to achieve this functionality by simulating the process of merging screens
    1. Create a Printable Screen
    Add a new screen, e.g., scrPrintable.
    Use containers, galleries, or other layout controls to structure the content.
    Copy or replicate the layout and components of each screen into this single screen.
    2. Transfer Data Dynamically
    Use collections or context variables to transfer the data between screens:
    // OnVisible of each screen, save data into a collection
    Collect(colScreenData, {Screen: "Screen1", Content: YourData});
    On the "Printable Screen," use these collections to dynamically populate the components:
    Filter(colScreenData, Screen = "Screen1");
    Repeat for each screen.
    3. Add Scrolling (If Needed)
    Use a vertical gallery or a scrollable screen for the "Printable Screen" to accommodate all the content.
    4. Add Print Button on the "Printable Screen" with the following OnSelect property
    Print();
    5. Navigation
    Add a button or another mechanism on the main screens to navigate to the "Printable Screen"
    Navigate(scrPrintable);
     

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Microsoft Kickstarter Events…

Register for Microsoft Kickstarter Events…

Announcing Our 2025 Season 1 Super Users!

A new season of Super Users has arrived, and we are so grateful for the daily…

Announcing Forum Attachment Improvements!

We're excited to announce that attachments for replies in forums and improved…

Leaderboard

#1
WarrenBelz Profile Picture

WarrenBelz 145,445

#2
RandyHayes Profile Picture

RandyHayes 76,287

#3
Pstork1 Profile Picture

Pstork1 64,741

Leaderboard