Use Download("https://example.com/file.pdf") in a button’s OnSelect property when the PDF already exists at a web URL. To create a PDF from the current canvas-app screen, enable the experimental PDF function and call PDF(YourScreen). The right formula depends on whether your source is an existing file, app content, an email attachment, or a SharePoint document.
Choose the PDF workflow first
| What you have | What you want | Power Apps approach | Main limitation |
|---|---|---|---|
| An existing PDF URL | Let the user save or open it | Download(URL) |
The function cannot authenticate the URL itself; browser behavior varies. |
| Visible controls on a canvas screen | Create a new PDF | PDF(ScreenOrControl) |
Experimental, device-side, and limited to supported content. |
| A generated PDF object | Display it in the app | PDF viewer control | Hosted files need a direct HTTPS, anonymous URL and suitable CORS behavior. |
| A generated PDF object | Email it | Office365Outlook.SendEmailV2 with an attachment |
Requires the Outlook connector and user permission. |
| A generated PDF object | Store it durably | Power Automate (V2) plus SharePoint Create file | The flow connection needs write permission to the library. |
Download an existing PDF URL
For a PDF that is already hosted, add a Button and put this formula in OnSelect:
Download("https://example.com/file.pdf")
Download is a behavior function, so it cannot be placed in a label’s text or another non-behavior property. On native Windows, Android, and iOS players, the user is prompted to choose a save location. In a web browser, the browser may open the PDF in a new tab instead; the user then uses the browser’s save command. Pop-up blocking and browser download settings can change that experience.
Protected URLs and authentication
Power Apps does not add your SharePoint or other service credentials to the URL passed to Download. A link that works only after signing in can therefore fail, particularly in a mobile player. Use a URL that is legitimately accessible to the device, or move the retrieval and storage operation to a connector or Power Automate flow that runs with an authenticated connection. Do not put secrets or access tokens directly in a formula.
Do these 3 things before closing this tab:
1Repair Windows errors before they cause bigger problems2Fix the driver behind crashes, sound loss and screen glitches3Clear out junk files and repair common Windows errors#1 Best Overall
- PORTABLE SCANNER FOR USE ON-THE-GO — The fastest and lightest mobile single-sheet-fed compact document scanner in its class¹
- QUICK DOCUMENT SCANNING ― This Epson ultra-fast scanner scans a single page as quickly as 5.5 seconds²; Windows and Mac compatible
- VERSATILE PAPER HANDLING ― Portable scanner scans documents up to 8.5 x 72 in; Also easily digitizes receipts and ID cards to make accounting, bookkeeping, and organizing simpler
- INTUITIVE, HIGH-SPEED SOFTWARE — Epson ScanSmart Software³ is a smart tool allowing you to easily scan, review, and save; Stay organized easily with the help of this Epson scanner
- EASY SETUP — USB-powered connect to your computer for quick and simple scanning; No batteries or external power supply required to operate portable document scanner; Standard Connectivity: USB 2.0
Testing the download
- Open the app in the same player your users will use.
- Select the button and observe whether a native save dialog appears or a browser tab opens.
- Verify that the downloaded file has a
.pdfextension and opens as a PDF, rather than an HTML sign-in page. - Test both an allowed URL and an expired, redirected, or permission-protected URL so your error message is useful.
Generate a PDF from the current screen
The PDF function exports visible content from a screen, container, or gallery into a PDF object. It is an experimental feature and is disabled by default.
- In Power Apps Studio, open Settings.
- Select Upcoming features, then Experimental.
- Turn on PDF function and save the app.
- Add a button and use this minimal formula:
PDF(SubmitInspectionScreen)
To keep the result for another action, store it in a variable:
Set(myPDF, PDF(SubmitInspectionScreen))
Generation runs on the device running the app. Very large screens, galleries with many rows, images, or unsupported controls can exceed available memory or produce incomplete output. The function captures content only from the screen where it is invoked; it is not a general-purpose renderer for every screen in the app.
PDF options
The function supports options for paper size, DPI, margins, orientation, and ExpandContainers. Choose a paper size and orientation that match the report rather than relying on defaults. Increasing DPI improves print detail but increases memory use and file size. Expanding containers can include content that is not currently visible, but also increases work and can make failures more likely. Keep report screens deliberately sized, hide navigation controls that should not appear, and test the longest realistic gallery.
Free tools Windows power users keep installed
One-click scans. No signup required.
Rank #2
- FAST SPEEDS - Scans color and black and white documents a blazing speed up to 16ppm (1). Color scanning won’t slow you down as the color scan speed is the same as the black and white scan speed.
- ULTRA COMPACT – At less than 1 foot in length and only about 1. 5lbs in weight you can fit this device virtually anywhere (a bag, a purse, even a pocket).
- READY WHENEVER YOU ARE – The DS-640 mobile scanner is powered via an included micro USB 3. 0 cable allowing you to use it even where there is no outlet available. Plug it into you PC or laptop and you are ready to scan.
- WORKS YOUR WAY – Use the Brother free iPrint&Scan desktop app for scanning to multiple “Scan-to” destinations like PC, Network, cloud services, Email and OCR. (2) Supports Windows, Mac and Linux and TWAIN/WIA for PC/ICA for Mac/SANE drivers. (3)
- OPTIMIZE IMAGES AND TEXT – Automatic color detection/adjustment, image rotation (PC only), bleed through prevention/background removal, text enhancement, color drop to enhance scans. Software suite includes document management and OCR software. (4)
Save a generated PDF locally
PDF returns an object; Download expects a web resource URL. For a generated object, use an attachment action (Outlook) or send it to Power Automate and SharePoint. Do not assume that passing the object directly to Download creates a local file.
Display a PDF inside the app
Insert the experimental PDF viewer control and set its Document property to:
myPDF
This displays the object created by Set(myPDF, PDF(SubmitInspectionScreen)). For a hosted PDF, set Document to a URL that directly serves the PDF.
Hosted-document requirements
- The URL must use HTTPS.
- It must return the PDF itself, not an HTML document page.
- Anonymous access is required; a viewer URL cannot complete an interactive sign-in.
- Redirects and restrictive CORS settings can prevent rendering.
- HTTP URLs are unsupported.
Printing is not supported by the viewer. If rendering fails, the control can offer to open the document in an external browser. A download link may therefore be a better choice when users need printing or files behind authentication.
The Tool Desk
Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Rank #3
- STAY ORGANIZED – Easily convert your paper documents into digital formats like searchable PDF files, JPEGs, and more.Power Consumption : 2.5W or less (Energy Saving Mode: 0.7W). Suggested Daily Volume : 500 scans..Does it contain liquid: no
- CONVENIENT AND PORTABLE –lightweight and small in size, you can take the scanner anywhere from home offices, classrooms, remote offices, and anywhere in between
- HANDLES VARIOUS MEDIA TYPES – Digitize receipts, business cards, plastic or embossed cards, reports, legal documents, and more
- FAST AND EFFICIENT – No technical hurdles or complicated setups here; easily scan both sides of a document at the same time, in color or black-and-white, at up to 12 pages-per-minute, and with a 20 sheet automatic feeder
- BROAD COMPATIBILITY – Works with both Windows and Mac devices, be it laptop or computer
Email the generated PDF
With the Office 365 Outlook connector, generate the object as attachment content:
Office365Outlook.SendEmailV2(
"recipient@example.com",
"PDF report",
"Attached is the generated report.",
{
Attachments: Table(
{
Name: "report.pdf",
ContentBytes: PDF(SubmitInspectionScreen)
}
)
}
)
Use a real recipient, subject, and message in production. If the report is complex, assign Set(myPDF, PDF(SubmitInspectionScreen)) first and use myPDF as ContentBytes; this avoids generating the document separately for preview and email.
Common email problems
- Missing attachment: confirm the
Attachmentsvalue is a table containingNameandContentBytes. - Connector error: reconnect Office 365 Outlook and verify the signed-in user can send mail.
- Oversized or failed PDF: reduce gallery rows, images, DPI, or expanded containers and retry on the target device.
Save the PDF to SharePoint with Power Automate
- Create a cloud flow with the PowerApps (V2) trigger.
- Add a File input and a text input for the file name.
- Add SharePoint’s Create file action and select the destination site and document library.
- Map the incoming file name and file content to the action’s file-name and file-content fields.
- Confirm the flow’s SharePoint connection has permission to create files in that library.
Call the flow from the app with a file object:
'PowerAppV2->Createfile'.Run(
"NewInspectionReport.pdf",
{
file: {
name: "NewInspectionReport.pdf",
contentBytes: PDF(InspectionDetails)
}
}
)
The exact flow name shown in Power Apps can differ after you rename it. Reinsert or refresh the flow if the formula still shows an old name. Use a unique name (for example, include an ID or timestamp) when repeated submissions must not overwrite one another.
Or skip the browser setup
If your requirement is to turn a public web page into a clean PDF or image without maintaining browser automation, ScreenshotNeo provides a one-request API and an MCP server for AI agents. Its capture process accepts consent banners and removes more than 60 known consent platforms, newsletter popups, and chat widgets before capture; bot checks, blank pages, failed loads, timeouts, and cache hits are not billed. The response identifies the page verdict and billing status.
For API details, see the ScreenshotNeo documentation. A basic request is:
Rank #4
- IRIScan Express, portable scanner : scans color and black and white documents a blazing speed up to 8ppm simplex. Color scanning won’t slow you down as the color scan speed is the same as the black and white scan speed.
- IRIScan Express mobile scanner is powered via an included micro USB 2. 0 cable allowing you to use it even where there is no outlet available. Plug it into you PC or laptop and you are ready to scan. USB cable provided. AC Adapter not provided and not needed.
- IRIScan flatbed scanner uses a simplex scanning mode allows for quick and straightforward scanning of single-sided documents. IRIScan with its full portable features is the ideal document scanners for computers.
- IRIScan document scanner : Versatile scanning capabilities, including scanning to Word, PDF, and Excel formats with companion software provided Readiris OCR
- Receipt scanner and card scanner with Additional features include scanning business cards directly to Outlook, photo scanning, and receipt scanning for efficient document management
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
ScreenshotNeo also supports PDF capture, full-page and element capture, custom CSS and JavaScript, waits, headers, cookies, blocking rules, device settings, signed links, asynchronous jobs, bulk capture, and a usage API. Its MCP tools—take_screenshot, get_page_info, and capture_pdf—work with Claude, Cursor, and other MCP clients. The free plan includes 1,000 shots per month without a card; paid plans start at $5 for 3,000 shots. Create a free ScreenshotNeo account.
Troubleshooting checklist
Download opens a sign-in page
The URL is authenticated or redirects to login. Download cannot authenticate it. Provide an authorized public/signed URL or use a connector/flow that accesses the file with its own connection.
Nothing happens in the browser
A pop-up blocker or browser policy may have blocked the new tab. Allow pop-ups for the app’s site and test again; native players use their own save prompt.
PDF function is unknown
The experimental feature is disabled. Enable Settings > Upcoming features > Experimental > PDF function, then save and reload the app.
Best Value
- Scanner type: Document
- Connectivity technology: USB
- With Auto Scan Mode, the scanner automatically detects what you're scanning
- Digitize documents and images
Generated PDF is blank or incomplete
Check that the controls are on the invoking screen and are supported. Wait until data and images have loaded, reduce the report size, and test on each supported device class.
PDF viewer shows an error
Check for HTTPS, a direct PDF response, anonymous access, redirects, and CORS restrictions. Open the URL directly in a browser to confirm it is a PDF rather than an HTML error page.
SharePoint flow fails
Verify the trigger has both the File and file-name inputs, the app passes name and contentBytes, and the flow connection can write to the selected library.
PC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11Outdated 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 matchReliability and design guidance
- Keep a dedicated, print-oriented report screen instead of exporting an entire navigation screen.
- Show a progress indicator and disable the action button while a large PDF is being generated or uploaded.
- Use stable names and record the originating inspection or record ID.
- Test on web, Windows, Android, and iOS if those players are supported; download behavior and device memory differ.
- Treat the PDF function as experimental: recheck the app after Power Apps updates and keep an alternate email or flow path for critical records.
Frequently Asked Questions
Can I download a PDF directly from a SharePoint document library?
Only if the URL supplied to Download is accessible to the device without an interactive authentication step. Otherwise, retrieve it through an authenticated connector or flow.
Does the PDF viewer print documents?
No. Printing is not supported by the PDF viewer; open the document externally or provide a separate download workflow.
Where is a generated PDF stored before I email or upload it?
The PDF function returns an in-memory object on the device. It is not durable storage until you send it or write it through a service such as SharePoint.
The Bottom Line
Use Download(URL) for an existing accessible PDF, enable the experimental PDF function for app-generated reports, and route generated content to Outlook or Power Automate when you need delivery or durable storage.
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 →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.

