devto 2026-07-18 원문 보기 ↗
If you've tried to show a PDF in Adalo and ended up frustrated, this is the article I wish existed when I started.
You're building an Adalo app. Users need to view a PDF — a contract, a report, a certificate, an e-book, a manual. You open the Adalo editor expecting a simple solution.
There isn't one.
What follows is usually an hour (or several) of trying every workaround, each with its own fatal flaw.
The most common suggestion on the Adalo forum. You add a Web View component, connect it to a File field via Magic Text, and expect the PDF to render inline.
What actually happens: On the Adalo web preview it sometimes works. On a real installed iOS or Android build, it either shows a blank white box or opens the PDF in the device's external browser — completely outside your app. The URL of your file is also exposed in the browser's address bar.
You add a button with an External Link action pointing to the PDF URL.
What actually happens: This opens the system browser (Safari on iOS, Chrome on Android). The user leaves your app entirely. There's no back button. The experience is broken, the URL is visible, and you've lost control of the interface.
Adalo's in-app browser keeps the user inside the app shell while loading a URL.
What actually happens: Still uses a web engine under the hood. PDFs rendered through a web engine on mobile are inconsistent — some devices render them, some don't. Pinch-to-zoom often doesn't work. There's no native share or download capability.
There are a handful of third-party PDF components in the Adalo Marketplace. As of 2025, the community experience with these has been:
After going through all of the above, here's what "working properly" means for a PDF viewer in a no-code mobile app:
None of the current solutions check all six boxes.
A native PDF Viewer component is being built specifically for the Adalo Marketplace to address all of these gaps.
What it does:
Who it's for:
Setup takes under 5 minutes:
No backend required. No external service. No API key. Just a URL.
Can it display PDFs stored in my Adalo database?
Yes. If you have a File property in a collection, connect it via Magic Text and it will load that user's specific document.
Does it work on Adalo Web?
Yes. The component handles the web context separately and renders correctly in Adalo's web output.
What about PDFs stored in Google Drive or Dropbox?
Any publicly accessible PDF URL works — Google Drive direct-download links, Dropbox, AWS S3, or your own CDN.
Does pinch-to-zoom work?
Yes. Because it uses the native PDF engine (not a WebView), standard touch gestures work exactly as they do in Files or Safari's PDF reader.
Can users download or share the PDF?
Yes. A share button opens the native iOS share sheet or Android sharing intent — users can AirDrop, save to Files, email, or print.
Does it expose the PDF URL to users?
No. The URL never appears in a browser address bar.
Is it a WebView under the hood?
No. On iOS it uses Apple's PDFKit. On Android it uses Android's PdfRenderer API. Neither are WebView wrappers.
The component is currently under review for the Adalo Marketplace. Sign up to be first to know:
👉 https://adalo-pdfviewer.pages.dev
| Approach | Inline? | Native engine? | Zoom? | Share? | Works on iOS builds? |
|---|---|---|---|---|---|
| WebView + Magic Text | ❌ | ❌ | ❌ | ❌ | ❌ |
| External Link | ❌ | — | — | — | ✅ (leaves app) |
| In-App Browser | Partial | ❌ | Inconsistent | ❌ | Partial |
| Third-party marketplace | Partial | ❌ | Partial | ❌ | Unstable |
| Native PDF Viewer (coming soon) | ✅ | ✅ | ✅ | ✅ | ✅ |
Built by an Adalo developer who hit every one of these walls. Questions or feedback welcome.