Do these 3 things before closing this tab:
1Scan for outdated or missing drivers - takes under a minute2Clear out junk files and repair common Windows errors3Fix the driver behind crashes, sound loss and screen glitchesTurn on the PDF function in Power Apps Studio by opening Settings > Upcoming features > Experimental and switching on PDF function. Then call PDF(YourScreenName) from a behavior property such as a button’s OnSelect. The function creates an in-memory PDF from the currently visible screen or another supported control, which you can display, send through a connector, or pass to a Power Automate flow.
Because Microsoft labels this capability experimental, test the exact layout, controls, fonts, and file size on the devices where your app will run before relying on it for production documents.
Enable the PDF function in Power Apps Studio
- Sign in to Power Apps. Create a canvas app or open the existing canvas app that should produce the PDF.
- Open the feature settings. In Power Apps Studio, select Settings on the command bar.
- Open Upcoming features. Select Upcoming features, then choose the Experimental tab.
- Switch on PDF function. Find PDF function and turn the switch on. It is off by default.
- Add a behavior formula. Select a button (or another control with a behavior property), choose OnSelect, and enter a formula such as
PDF(SubmitInspectionScreen);. ReplaceSubmitInspectionScreenwith the actual screen name in your app. - Save, publish, and run. Save the app, publish the current version, run it, and select the button. Power Apps generates the PDF object when the behavior formula executes.
Microsoft documents behavior properties such as OnSelect, OnVisible, and OnHidden as places where the function can be invoked. Choose the property that matches your workflow: a button gives the user explicit control, while a screen event can generate a document automatically.
Generate and keep the PDF object
A direct call generates the document but does not automatically save it to a file on the user’s device. The result is held in memory. Store it in a variable when you need to reuse it:
Quick wins for a faster PC:
Clear out junk files and repair common Windows errorsFree Scan →Scan for outdated or missing drivers - takes under a minuteDriver Scan →#1 Best Overall
Set(myPDF, PDF(SubmitInspectionScreen));
The variable can then be supplied to a supported action connector, such as Office 365 Outlook, or passed to a Power Automate flow. This pattern separates document creation from delivery: first generate the object, then send it by email, store it through a flow, or process it with another connected service.
Generate from a screen
The simplest target is the screen that is currently visible to the user:
Set(myPDF, PDF(SubmitInspectionScreen));
Only the visible screen can be targeted in this way. If the formula refers to a screen that is not currently displayed, the result may not represent the content you expected.
Generate from a supported portion of a screen
Microsoft also documents vertical galleries, horizontal or vertical layout containers, and containers as supported targets. Targeting a container is useful when a screen contains navigation, controls, or other material that should not appear in the document. Put the report content in a supported container and call the function with that target instead of the whole screen.
Nested galleries are a documented limitation, so test any gallery-heavy design rather than assuming every child gallery will be reproduced.
Rank #2
Configure paper, resolution, margins, and layout
The PDF function accepts optional parameters for output characteristics. Use Power Apps Studio’s formula assistance and the current Microsoft documentation to insert the parameter record for your app version; the feature is experimental and its reference is prerelease.
| Option | What it controls | Documented default or behavior |
|---|---|---|
| Paper size | Page dimensions such as Letter or A4 | Letter in the United States and Canada; A4 in other locales |
| DPI | Raster resolution used when producing the PDF | 96 DPI |
| Margins | Space between page content and the paper edge | 0.5 inch margins |
| Orientation | Portrait or landscape page direction | Portrait |
| ExpandContainers | Whether supported containers expand to include their content when rendered | Optional behavior; enable it only when the layout requires expansion |
Changing DPI can increase file size and device work. Landscape orientation is often a better fit for wide tables, while portrait is generally more suitable for forms. Margins and paper size should match the paper or downstream process your recipient uses.
Design the canvas for predictable pagination
- Keep the document content inside one clearly defined screen or supported container.
- Use a deliberate layout rather than relying on controls that appear only after interaction.
- Load the data before invoking
PDF(); generating immediately after a record update can capture the previous state if your app has not finished recalculating. - Test long text, empty values, repeated gallery rows, and images at their largest expected size.
- Try both portrait and landscape when tables or signatures do not fit comfortably.
What the function can and cannot render
Supported use
The function exports a screen or supported screen content to a PDF object. It runs on the device that is running the app, so the available memory and processing capacity of that device affect the result.
Known limitations
- Charts are not supported.
- Power BI tiles are not supported.
- Maps are not supported.
- Some third-party PCF control configurations may not render correctly.
- Nested galleries are not supported.
- The function does not create fillable PDFs.
- Some non-Latin scripts, font weights, or font styles may fail to render for particular fonts.
- Exceptionally large files can crash the app, depending on device capacity.
These are rendering constraints, not merely cosmetic differences. If a required chart, map, or interactive field is missing, redesign the export screen with supported controls or use a different document-generation approach.
PDF function versus the PDF viewer control
The PDF function creates a PDF object from app content. The separate experimental PDF viewer control displays an existing PDF document; it does not replace the generation formula.
Rank #3
The viewer has its own constraints:
- It accepts only direct HTTPS PDF links.
- The link must allow anonymous access.
- Restrictive CORS settings can block loading unless the host permits requests from
powerapps.com. - It does not support printing.
Use the function when your app needs to produce a document. Use the viewer only when you already have a PDF URL that meets those access and CORS requirements.
Send the generated PDF to a connector or flow
After storing the result in a variable, pass that variable to an action connector or Power Automate. A common sequence is:
The Tool Desk
Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →- Generate the object in a behavior formula, for example
Set(myPDF, PDF(SubmitInspectionScreen));. - Invoke the connector or flow after the variable has been populated.
- Map the PDF object to the action’s file or attachment input.
- Handle success and failure in the app so a user is not told that a document was sent before the downstream action completes.
The exact connector fields depend on the connector and flow design. Keep the generation step separate from delivery so you can troubleshoot rendering independently from authentication, permissions, or destination errors.
Troubleshooting common failures
“PDF” is unknown or underlined in the formula bar
Confirm that you enabled Settings > Upcoming features > Experimental > PDF function in the app where the formula is being edited. The switch is app-specific; enabling an unrelated experimental feature does not activate PDF generation. Reopen the editor if the formula bar does not refresh.
The formula runs but the wrong screen appears
Check that the named screen is the one currently visible when the behavior executes. The function targets the visible screen or supported content. Move the user to the intended screen first, or place the formula on that screen’s behavior property.
A gallery or container is cut off
Verify that the target is a supported gallery or container and review the ExpandContainers option. Nested galleries remain unsupported. Reduce the layout to a supported structure or create a dedicated export container.
Fonts, scripts, charts, maps, or tiles are missing
Replace unsupported controls, choose a font that renders the required script and styles, and test the result with representative data. A screen that looks correct in Studio can still differ in the generated PDF because rendering occurs on the app device.
The app becomes slow or crashes during generation
Reduce the amount of content, image resolution, and gallery rows on the export screen. Avoid unnecessarily high DPI. Test on the least-capable device your users will run, because exceptionally large PDFs can exceed available device capacity.
The PDF viewer shows a blank area
Check that the source is a direct HTTPS PDF URL, allows anonymous access, and permits requests from powerapps.com through CORS. The viewer cannot print, so provide a separate delivery path when printing is required.
The email or flow action fails after generation
First confirm that the PDF variable contains a generated object. Then inspect connector authentication, required file fields, and flow permissions. Keeping generation and delivery in separate actions makes it clear whether the failure is in Power Apps rendering or the downstream service.
Windows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallOutdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchBest Value
Testing and operational guidance
Microsoft classifies the PDF function as experimental, and experimental features are not intended as a production guarantee. Build a small export screen and test it before enabling the feature in a business-critical app.
- Test on every device class you support, including lower-memory phones and tablets.
- Use realistic maximum-length text, row counts, images, and localization.
- Compare portrait and landscape output and verify the chosen paper size.
- Check that a failed generation does not trigger a false “sent” confirmation.
- Plan a fallback, such as sending the underlying data through a flow, if a required control cannot be rendered.
- Recheck the feature after Power Apps updates because experimental behavior can change.
Or skip the browser setup
If your actual requirement is a screenshot or PDF of a web page rather than a canvas-app screen, ScreenshotNeo provides a one-request API and MCP server for developers. It is separate from Power Apps’ PDF function, but can remove the need to maintain browser automation for web captures.
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
See the ScreenshotNeo documentation for request options and response handling. Before capture, it accepts cookie or consent banners like a visitor and removes more than 60 known consent platforms, newsletter popups, and chat widgets; each cleanup step can be disabled. Bot checks, CAPTCHAs, blank pages, timeouts, failed loads, and cache hits are not billed, and response headers identify the page verdict and billing status. Its MCP server exposes take_screenshot, get_page_info, and capture_pdf for Claude, Cursor, and other MCP clients. The Free plan includes 1,000 shots per month with no card, and paid plans start at $5 for 3,000 shots. Create a free ScreenshotNeo account to try it.
Frequently asked questions
Does enabling the feature change existing app screens?
No. Turning on PDF function makes the formula available; it does not automatically add an export button or alter a screen. You must add a behavior formula and decide what content the export screen contains.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Can I use the generated object more than once?
Yes. Store it in a variable and pass that variable to the actions your workflow requires, provided the object remains available in the current app session.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

