For a normal webpage, Android’s simplest route is Chrome: open the page, tap More > Share > Print, choose Save as PDF, select a storage location, and tap Print. You do not need a physical printer. If you are building an app, use Android WebView’s print framework instead.
Convert a webpage to PDF with Chrome
Chrome on Android includes a print-to-PDF workflow. It renders the page in Chrome’s print preview, then saves the result as a PDF file on the device. The documented Chrome path is:
- Open the HTML webpage in Chrome.
- Tap More (the three-dot menu) at the top right.
- Tap Share.
- Choose Print from the share options.
- In the printer selector, choose Save as PDF.
- Choose the folder or storage location for the file.
- Tap Print to save the PDF.
The final Print button confirms a file save when Save as PDF is selected; it does not send anything to a hardware printer. This procedure is documented by Google Chrome Help for Chrome on Android. Menu placement can vary with your Android or Chrome version. If Print is not shown in the first share row, scroll through the share actions or open the full list of actions.
Check the result before sharing it
Open the saved PDF in your preferred PDF viewer and inspect page breaks, images, fonts, links, and any content that required scrolling. Print preview is the quickest way to spot an unwanted blank page or a heading stranded at the bottom of a page. Dynamic pages, login-gated content, and unusual layouts can render differently from the live page, so verification matters when the PDF is being submitted or published.
Recommended Free Tools
#1 Best Overall
- POWER YOUR STUDY, FUEL YOUR PLAY – Discover smarter learning with the Lenovo Idea Tab. Stay campus-ready with all-day battery life, AI-powered apps to enhance your work, and sharp graphics for tv marathons with friends.
- SMOOTH, POWERFUL, IMMERSIVE – The MediaTek Dimensity 6300 processor is more powerful than ever, with the AI-enhanced multitasking you need to stay ahead.
- CIRCLE IT, SEARCH IT – Use your Lenovo Tab Pen or fingertip to circle items for instant search results or to translate other languages without switching apps. Circle to Search with Google ensures answers are only a circle away.
- SHARP VIEW, CLEAR SOUND – Experience sharp visuals and immersive sound for study sessions and streaming breaks. With 72% NTSC and quad Dolby Atmos-tuned speakers you can enjoy your study breaks with vivid videos and crystal-clear sound.
- LEVEL UP YOUR STUDY – Write, organize, sketch, and calculate with four learning apps built to match your flow. Lenovo AI Note, Squid, Nebo, and MyScript Calculator help you stay clear, focused, and ready for every study session.
What you need—and what you do not
- Required: Chrome for Android, an HTML page Chrome can open, and permission to save files when Android requests it.
- Optional: an account or cloud storage location if you want to move the PDF off the device.
- Not required: a physical printer or a separate consumer converter app for the documented Chrome workflow.
Chrome’s built-in route is intended for a page you can already open in the browser. It is not an HTML-authoring tool and does not provide the application-level controls available in WebView or a dedicated PDF SDK.
Convert HTML to PDF inside an Android app with WebView
For developers, Android 4.4 (API level 19) introduced HTML printing support in WebView. The general sequence is to create a WebView, load local HTML or a URL, wait for loading to finish, create a print adapter, and submit a print job to Android’s print services. Android then produces a PDF stream through the print system.
Important WebView API details
- Use
createPrintDocumentAdapter(String documentName). The no-argument overload is deprecated from API level 21. - The adapter converts the rendered WebView contents into a PDF stream.
- Android recommends a dedicated, off-screen WebView for printing. Do not draw that WebView as part of your visible activity while conversion is occurring.
- Wait for
onPageFinished(or an equivalent readiness condition) before creating the print job; otherwise late-loading content can be absent.
Kotlin example: print an HTML string
This activity loads an HTML string with loadDataWithBaseURL, then opens Android’s print UI after the page reports that loading has finished.
import android.app.Activity
import android.content.Context
import android.os.Bundle
import android.print.PrintAttributes
import android.print.PrintManager
import android.webkit.WebView
import android.webkit.WebViewClient
class HtmlToPdfActivity : Activity() {
private lateinit var printWebView: WebView
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
printWebView = WebView(this)
printWebView.settings.javaScriptEnabled = true
printWebView.webViewClient = object : WebViewClient() {
override fun onPageFinished(view: WebView?, url: String?) {
val printManager =
getSystemService(Context.PRINT_SERVICE) as PrintManager
val adapter = printWebView.createPrintDocumentAdapter("html-report")
val attributes = PrintAttributes.Builder().build()
printManager.print("html-report", adapter, attributes)
}
}
val html = """
<!doctype html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>body { font-family: sans-serif; margin: 24px; }</style>
</head>
<body><h1>Monthly report</h1><p>Generated in WebView.</p></body>
</html>
""".trimIndent()
printWebView.loadDataWithBaseURL(
"https://example.invalid/",
html,
"text/html",
"UTF-8",
null
)
}
}
The base URL gives relative links, stylesheets, and images a reference point. Replace it with a URL that is appropriate for your content, or package local assets and use a matching local base. If you load an online page instead, call loadUrl and declare the network permission in your manifest:
Do these 3 things before closing this tab:
1Clear out junk files and repair common Windows errors2Fix the driver behind crashes, sound loss and screen glitches3Repair Windows errors before they cause bigger problemsRank #2
- COMPACT SIZE, COMPACT FUN – The Lenovo Tab One is compact, efficient, and provides non-stop entertainment everywhere you go. It’s lightweight and has a long-lasting battery life so the fun never stops.
- SIMPLICITY IN HAND - Add a touch of style with a modern design that’s tailor-made to fit in your hand. It weighs less than a pound and has an 8.7” display that’s easy to tuck in a purse or backpack.
- NON-STOPPABLE FUN – Freedom never felt so sweet with all-day battery life and up to 12.5 hours of unplugged YouTube streaming. It’s designed to charge 15W faster than previous models so you can spend less time tethered to a power cable.
- PORTABLE MEDIA CENTER - Enjoy vibrant visuals, immersive sound, and endless entertainment anywhere you go. The HD display has 480 nits of brightness for realistic graphics and dual Dolby Atmos speakers that provide impressive sound depth.
- ELEVATED EFFICIENCY - Experience the MediaTek Helio G85 processor and 60Hz refresh rate that ensure fluid browsing, responsive gaming, and lag-free streaming.
<uses-permission android:name="android.permission.INTERNET" />
Only request JavaScript when the page needs it. If you enable it, treat HTML and scripts as untrusted input and apply the same security controls you would use for any WebView.
Controlling paper and orientation
Pass a configured PrintAttributes object when you need a specific media size, resolution, color mode, or margins. The Android print UI can still expose device- and service-specific choices. Test the generated PDF with the exact content and print service your users will use.
Printing a URL safely
For a URL, set a WebViewClient, load the page, and start the job only after the required resources and application data are ready. A simple onPageFinished callback does not prove that every image or asynchronous component has completed. For pages you control, expose an explicit “ready” signal or wait for a known selector before creating the adapter. For pages you do not control, inspect the resulting PDF and set a reasonable timeout so a stalled resource cannot keep the activity waiting indefinitely.
Android WebView versus a third-party SDK
Android’s framework is appropriate when you want platform print UI and can manage the WebView lifecycle yourself. A third-party SDK can be preferable when you need a packaged conversion API or additional document controls, but licensing, pricing, maintenance, and output behavior must be checked with the vendor.
Free tools Windows power users keep installed
One-click scans. No signup required.
Rank #3
- 【Dual-Function 2-in-1 Tablet】URAO Android 16 Tablet is a game-changer with 2-in-1 professional work mode. The tablet is compatible with a Bluetooth keyboard, mouse, stylus, headset, and a convenient foldable case. The setup and connection process is straight forward, enabling you to effortlessly transform your tablet into either a laptop or a computer mode. Friendly Tips: Mouse does not come with batteries.
- 【Android 16 & Octa-Core Processor】URAO Android tablet features the latest operating system Android 16 and an 1.8 GHz octa-core processor ensure of excellent performance, seamless multitasking, getting rid of annoying ads, emphasizing privacy and security by designing enhanced app permissions, providing you complete management control.
- 【36GB (6+30GB) RAM 128GB ROM 】Our 11 inch tablet comes with 36GB (6+30GB) RAM 128GB ROM and maximun 1TB TF card ( not included )expandable ensures you of a fast APP launch and smooth gaming experience. URAO tablet also come with pre-installed Google Play Store, you can easily download any needed Apps such as Facebook, Twitter, Youtube, etc.
- 【7800mAh Battery with Fast Charge】The built-in large capacity and low consumption CPU enable our URAO 11 inch tablet to stand by for up to 3 days and allows you to enjoy up to 8 hours of mixed reading, watching TV shows, playing games, surfing the web. URAO tablet adopts fast-charging technology ,easily charge via the USB Type-C port and rest assured the battery will last. It is a good companion for you to play and study!
- 【Wi-Fi 6+Bluetooth5.4】URAO 11 inch android tablet adopts the lastest sixth generation WiFi technology and the upgraded bluetooth 5.4. Dual band integrated chips make the 5g WiFi and 2.4g WiFi more stable and the lastest bluetooth 5.4 connection supports all your favorite accessories, highly increased the speed of data transfer, improved network capacity and reduced network delays.
| Route | Accepted source documented here | Network requirement | Best fit |
|---|---|---|---|
| Chrome on Android | Webpages opened in Chrome | Whatever the page requires | One-off consumer saves |
| Android WebView print framework | Local HTML, HTML loaded in WebView, or a URL | Offline for local content; online pages need their network access | Apps that want Android’s print services |
| Apryse Android HTML-to-PDF SDK | HTTP/HTTPS URLs, HTML strings, and content loadable in a WebView | Its documentation says local HTML does not require internet; HTTP/HTTPS links do | Apps that choose a vendor SDK after reviewing its terms and API |
Apryse’s statements above describe its own library; they are not an independent quality or performance comparison. Before adopting any SDK, verify the Android API range, license, offline behavior, font and image handling, and whether its output controls match your requirements.
Common problems and fixes
“Print” is missing in Chrome
Open the three-dot More menu, tap Share, and scroll the share actions. Android device manufacturers can rearrange actions. Confirm that you are using Chrome’s share flow rather than an in-app browser with a different menu.
The PDF is blank or missing late content
For Chrome, return to the page, wait for it to finish loading, and reopen print preview. For WebView, do not call createPrintDocumentAdapter immediately after loadUrl; wait for page readiness. Check JavaScript errors, blocked resources, authentication state, and content that appears only after scrolling or a user action.
Images or fonts do not appear
Confirm that resource URLs are reachable from the WebView, that mixed-content or certificate errors are not blocking them, and that relative URLs have a correct base URL. For local HTML, package required assets with the app or provide a valid base URL. Reopen the saved PDF rather than relying only on the preview thumbnail.
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 →Rank #4
- 【Android 16 OS & High-Performance CPU】 Evermyth GMS-certified tablet runs on the Android 16 operating system, allowing direct downloads of popular apps from the Play Store. Powered by a robust 5-core processor that hits speeds up to 1.8GHz, the android tablet is engineered to boost multitasking performance. Whether you’re working, watching videos, or gaming, this 5-core tablet pc operates seamlessly, delivering a fast, professional-grade experience.
- 【24GB RAM + 64GB ROM + 1TB Expandable Storage】 Our 10 inch electronics tablets comes with 24GB RAM (3GB physical + 21GB virtual), 64GB ROM, and supports up to 1TB of expandable storage via a TF card (not included). This ensures quick app launches and smooth gameplay.
- 【10 inch HD IPS In-Cell Display】 This tablet PC boasts a 1280×800 high-resolution IPS screen that delivers vibrant, true-to-life colors. Enjoy sharper, brighter visuals for a more immersive viewing experience. The 5MP front and 8MP rear camera can handle video calls and photo recording with ease. LCD touchscreen uses low-blue-light tech to cut down on eye strain from screen flicker and harsh blue light. Slim and lightweight, this 10-inch tablet amps up immersion for all your favorite activities.
- 【6000mAh Rechargeable Battery】 Electronics tablets Packed with a 6000mAh battery and a low-power-consuming CPU, Evermyth 10 inch tablet offers up to 3 days of standby time and up to 8 hours of mixed usage—perfect for reading, streaming, or web browsing. Charging is a breeze via the USB-C port, making the tablet an ideal companion for both entertainment and work!
- 【Wi-Fi 6 & Bluetooth 5.4】 Evermyth Android 16 tablet features the latest Wi-Fi 6 and upgraded Bluetooth 5.4. It supports dual-band (5GHz/2.4GHz) Wi-Fi connectivity for stable, high-speed transfers. Bluetooth 5.4 ensures seamless compatibility with all your favorite accessories.
Content is cut off or page breaks look wrong
Use print-specific CSS where you control the HTML, avoid fixed-height containers, and test long tables and images. In WebView, try explicit print attributes and a dedicated off-screen instance. A layout that looks correct on a phone screen is not automatically paginated correctly for paper.
The WebView job never completes
Look for a page that is waiting on an unreachable request, an authentication redirect, or JavaScript that never reaches its ready state. Add a timeout and a cancellation path, and do not keep a visible activity blocked while an off-screen WebView is loading.
Performance, reliability, and privacy considerations
- Rendering cost: large pages, high-resolution images, and script-heavy applications consume more memory and take longer to paginate.
- Repeatability: freeze timestamps, user-specific data, and remote content when you need identical PDFs for audits or tests.
- Connectivity: local HTML can be converted without a network through WebView; an online URL depends on DNS, TLS, authentication, and the site’s availability.
- Privacy: treat saved PDFs as copies of all visible page data. Use appropriate storage locations and remove temporary files when they are no longer needed.
- Verification: always open the final PDF, not just the preview, when pagination or completeness matters.
Or skip the browser setup
If your input is a public URL and you would rather generate the file from a script or backend, ScreenshotNeo provides a website screenshot API and MCP server that can return PNG, JPEG, WebP, or PDF. Its cleanup steps accept cookie or consent banners and remove more than 60 known consent platforms, newsletter popups, and chat widgets before capture; each step can be disabled.
Only clean shots are billed. Bot checks or CAPTCHAs, blank pages, timeouts, failed loads, and cache hits are not billed, and each response reports the page verdict and billing status in X-Page-Verdict and X-Billed headers. An MCP server exposes take_screenshot, get_page_info, and capture_pdf to Claude, Cursor, and other MCP clients.
One-call cURL example
See the ScreenshotNeo API documentation for all parameters. This request asks for a PDF of the target URL:
Best Value
- Do what you love, uninterrupted — 25% faster performance than the previous generation and is ideal for seamless streaming, reading, and gaming.
- High-def entertainment — A 10.1" 1080p Full HD display brings brilliant color to all your shows and games. Binge watch longer with 13-hour battery, 3 or 4 GB RAM, 32 or 64 GB of storage, and up to 1 TB expandable storage with micro-SD card (sold separately).
- Thin, light, durable — Tap into entertainment from anywhere with a lightweight, durable design and strengthened glass made from aluminosilicate glass. As measured in a tumble test, Fire HD 10 is 2.7 times as durable as the Samsung Galaxy Tab A8 (2022).
- Stay up to speed — Use the 5 MP front-facing camera to Zoom with family and friends, or create content for social apps like Instagram and TikTok.
- Ready when inspiration strikes — With 4,096 levels of pressure sensitivity, the Made for Amazon Stylus Pen (sold separately) offers a natural writing experience that responds to your handwriting. Use it to write, sketch in apps like OneNote, and more.
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o page.pdf
Python
import requests
r = requests.get("https://api.screenshotneo.com/v1/shot", params={"access_key": "YOUR_API_KEY", "url": "https://stripe.com"}, timeout=90)
r.raise_for_status()
open("page.pdf", "wb").write(r.content)
Node.js
const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://stripe.com' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);
if (!res.ok) throw new Error(`HTTP ${res.status}`);
const fs = await import('node:fs/promises');
await fs.writeFile('page.pdf', Buffer.from(await res.arrayBuffer()));
ScreenshotNeo’s options include full-page capture with lazy images loaded, CSS-selector element capture, dark mode, device presets and custom viewports, retina scale, PDF paper size, margins, landscape mode and page ranges, custom CSS and JavaScript, click-before-capture, selector hiding, waits for a selector, delay or network idle, request and resource blocking, custom headers, cookies, user agent and authorization, timezone and geolocation, transparent backgrounds, image resizing, configurable cache TTL, signed links, asynchronous jobs with signed webhooks, bulk capture of up to 100 URLs per call, a usage API, and an OpenAPI specification. Parameter names used by other screenshot APIs also work, which can simplify migration.
| Plan | Included shots per month | Price |
|---|---|---|
| Free | 1,000 | $0, no card |
| Starter | 3,000 | $5 |
| Growth | 15,000 | $15 |
| Pro | 60,000 | $39 |
| Scale | 250,000 | $99 |
| Business | 1,000,000 | $249 |
Yearly billing gives two months free, and every feature is available on every plan. Create a free ScreenshotNeo account to get 1,000 screenshots a month with no card; paid plans start at $5 for 3,000 shots.
Which method should you choose?
- Choose Chrome when you need to save a page manually on an Android device with no app development.
- Choose WebView printing when your Android app owns the HTML and should use Android’s print services.
- Evaluate a third-party SDK when you need vendor-specific controls and accept its licensing and maintenance model.
- Choose ScreenshotNeo first for URL-based, automated captures when clean pages, unbilled failed loads, or AI-agent access are important.
For a single webpage, Chrome is usually the shortest path. For repeatable production conversion, decide where rendering should occur—on the device, in your app’s WebView, or on a URL-capture service—and then test the exact pages, assets, authentication, and page-break rules your workflow depends on.
Frequently Asked Questions
Can Chrome save a PDF when no printer is connected?
Yes. Selecting Save as PDF writes the print preview to device storage; a physical printer is not required.
What is the minimum Android version for WebView HTML printing?
Android 4.4 (API level 19) added HTML printing support to WebView. Use the named-document overload of createPrintDocumentAdapter on current Android versions.
Can an offline app convert packaged HTML?
Yes. A WebView can load local HTML and assets without internet access; online URLs and their remote resources still require connectivity.
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.
Quick wins for a faster PC:
Clear out junk files and repair common Windows errorsFree Scan →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Repair Windows errors before they cause bigger problemsFix Now →

