PowerApps have taken over the low code/ no code market by storm and especially Canvas apps are really a treat to watch. Gone are the days when you need to employ an out and out techie to design applications on mobile platforms. Canvas apps have opened up mobile app development to developers as well as Power users alike.
While such great features are actually present in Power Apps canvas apps, some basic functionalities has been missing for a very long time. And one of them is the capability to print a screen in Canvas app. Time and again in almost every project, I get requirement to print from canvas app.
Well finally Microsoft have indeed released the Print functionality in Canvas app using which you can now print a screen content from Power Apps canvas app. My first reaction to this release was “WOW”. Finally customers won’t be disappointed and I was pretty much elated. But my joy was short lived. I will keep the suspense for now and jump into the functionality straight way.
Let’s get started with the simplest of an example. I have a gallery showing the list of accounts from DataVerse and I have a print button on top right of the screen.
‘OnSelect‘ of the print icon, I call the newly introduced function Print().
And below is the functionality in action.
As you can see from the above screenshot, the moment I click on the Print icon, the regular print popup come up through which you can save the print as PDF or connect to any network printers configured and print. Pretty much usual print stuff.
Now comes few of the heart breakers
- The print works only from the web browser. It does not work from mobile devices. Well this limitation for me makes the print functionality pretty much useless from many a customer’s perspective considering that canvas apps are mostly for mobile devices.
- Print does not print the entire content. It’s basically a screenshot of the actual screen you are viewing. So if you have a gallery showing a list of 100 items, it won’t print 100 items. Rather just the content visible on screen at that moment.
As of the time of writing this blog, these limitations exist. I am pretty sure that in the coming releases, Microsoft is going to incorporate more and more features and address all these limitations.
Well we are not done yet. Microsoft have introduced couple of screens specifically to render print preview in landscape and portrait.
Let’s try with the portrait print here. In the portrait screen I am displaying a record in view mode.
There is nothing special about the print screen except for the fact the it’s size is different from the regular screens in canvas app. As I have highlighted in the screenshot above, the width and height are as per the portrait mode.
Similarly if you want to print in Landscape mode, you can use the ‘Landscape print’ screen.
As I mentioned earlier, the print functionality that exist today is basically a screenshot of the what you see on the screen at that moment. So a lot of effort goes into designing the print layout. And one of the requirement may be – “I don’t want to show some controls in print preview“. But how to achieve this?
Microsoft didn’t disappoint me here. There is a property of the screen Printing.
As you can see from the above screenshot, I am using the Printing property to set the visibility of the print icon on the form. Please note that this property is not limited to the special screens for printing like the landscape and portrait but in fact available for all screens.
You can also use the below formula instead of directly referencing the screen name.
Now the final test. As I updated earlier, this works on browser. But how about the case when a canvas app is embedded inside a Model driven app. As you can see in the below screenshot, I have embedded the canvas app inside the Account form. Unfortunately here as well, the print functionality does not work. Clicking on the Print Icon has no effect.
Well, that will be all from me as of now. I will keep on updating this post as and when Microsoft release updates to this canvas app print functionality.
Hope this helped!
Debajit Dutta
Business Solutions MVP
Discover more from Debajit's Power Apps & Dynamics 365 Blog
Subscribe to get the latest posts sent to your email.
Hey Debajit,
In our scenario, the canvas app is embedded in D365 form, and the print does not seems to work.
Any workaround for that?
Sorry for the delayed reply. That is currently a limitation unfortunately.