Recommended Free Tools
Use the Chrome DevTools Protocol (CDP) command Page.printToPDF to turn a rendered page into a PDF. Navigate and prepare the page, call the command with the print settings you need, then save the returned PDF data—or read and close its stream if you select stream transfer. The protocol does not define a universal signal that every page, image, or lazy-loaded element has finished rendering, so readiness must be handled by your application.
What CDP command creates a PDF?
Page.printToPDF is a command in the CDP Page domain. It generates PDF output from the page currently open in the target browser session. Its options include page geometry, orientation, scale, margins, page ranges, backgrounds, headers and footers, CSS page sizing, transfer mode, tagged-PDF generation, and document-outline generation. See the Chrome DevTools Protocol Page.printToPDF definition for the protocol schema.
The command handles printing; your client still needs to manage the browser connection and target session, navigate to the URL, decide when the page is ready, invoke the command, and persist the result.
How to convert a webpage using CDP
- Connect to the page target. Create or attach a CDP session using your chosen client. Enable the Page domain if that client requires it.
- Navigate to the URL. Wait for the content and assets required in the PDF to be ready. Navigation completion alone is not a guarantee that scripts, images, or lazy-loaded content have finished.
- Choose print settings. Set paper size, margins, orientation, scale, page ranges, and background printing as needed. Decide whether the page’s CSS
@pagerules or explicit dimensions should control paper size. - Call
Page.printToPDF. By default, the response contains base64-encoded PDF data. Decode it and write the resulting bytes to a file. - Handle the output. If you selected stream transfer, read the returned stream handle using the IO mechanism supported by your CDP client, then close the stream when finished.
CDP clients differ in how they create sessions, issue commands, and expose returned data. The protocol schema specifies command parameters and response forms, but this guide does not prescribe client-specific session code.
#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
Choose print settings deliberately
| Setting | What it controls | When to use it |
|---|---|---|
landscape and scale |
Page orientation and print scaling. | Use landscape for wide layouts or adjust scale when content needs to fit. Inspect the result: neither setting guarantees readable pagination for every site. |
paperWidth and paperHeight |
Explicit paper dimensions. | Set them when the PDF should use known dimensions independent of the page’s print CSS. |
preferCSSPageSize |
Whether CSS-defined page size should take precedence. | Enable it when the site’s @page rules should determine the PDF paper size; otherwise, choose explicit dimensions intentionally. |
marginTop, marginBottom, marginLeft, marginRight |
Margins around printed page content. | Set margins to match the document layout and leave room for headers or footers if you use them. |
pageRanges and ignoreInvalidPageRanges |
The pages to print and how invalid ranges are treated. | Request a subset for long documents and choose how your workflow handles ranges that do not match the document. |
printBackground |
Whether to include background graphics. | Enable it when colors or background images are meaningful to the document. Check the output because backgrounds affect appearance and can increase output size. |
displayHeaderFooter and header/footer templates |
Whether to print header and footer HTML. | Use templates when page context or numbering is useful. Documented substitutions include date, title, URL, page number, and total pages. |
transferMode |
Whether the response returns PDF data directly or a stream handle. | Use the default base64 response for straightforward handling; use stream transfer when your client is set up to consume the protocol stream. |
generateTaggedPDF and generateDocumentOutline |
Options for tagged PDF output and a document outline. | Enable them when these structures are desired. The options alone do not establish a particular accessibility-conformance level. |
Header and footer templates are HTML. The protocol documents substitution classes for date, title, URL, page number, and total page count; consult the command definition for their exact classes and parameter details.
Page readiness and print styling
A PDF reflects the page’s printable rendering, not necessarily the final state a visitor would eventually see. A site may add content after navigation, defer images until scrolling, or change layout through print-specific styles. Decide what your document needs before calling the print command, then wait for those particular elements or assets using signals appropriate to the site and your CDP client. There is no universal wait condition established by the protocol.
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)
For output consistency, set explicit print options rather than relying on implicit defaults. If a page uses @page rules, choose whether those rules should govern paper size. Review a sample PDF for clipped content, unexpected page breaks, missing backgrounds, and headers or footers overlapping the page.
Base64 response or stream transfer?
In the default response mode, the PDF is returned as base64-encoded data. Decode it before writing the file; writing the encoded text directly will not produce a valid PDF. With stream transfer selected, the response provides a stream handle instead. Your client must read that stream through its supported CDP IO mechanism and close it when done. These are different response forms, so use the handling path that matches the transfer mode you requested.
The Tool Desk
Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →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
When Puppeteer is a better fit
If your project already uses Puppeteer, its page.pdf() method offers a higher-level API that returns PDF bytes and uses print CSS media by default. To render using screen media instead, emulate that media type before generating the PDF. Puppeteer also documents -webkit-print-color-adjust for controlling print color adjustment. See the Puppeteer PDF API documentation.
Choose raw CDP when you already manage browser sessions and need to issue protocol commands directly. Choose Puppeteer when its browser automation API fits your application better. The documented interfaces do not establish a controlled performance comparison or identical option sets; select based on your integration and the controls your workflow needs.
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
Common problems and fixes
- The PDF is blank or missing content: The page may not have been ready when printing began. Wait for the specific content or assets your document requires rather than treating navigation completion as proof that rendering is finished.
- Images or deferred sections are absent: The site may lazy-load them. Make those elements load before printing using a readiness approach suited to the page; the print command does not guarantee lazy-loaded content is present.
- The PDF is clipped or has awkward page breaks: Review paper dimensions, orientation, scale, margins, and the page’s print CSS. Adjust those settings and inspect the resulting pagination.
- Background colors or images are missing: Check the background-printing option and the page’s print styles.
- Header or footer values do not appear as expected: Confirm header/footer display is enabled and that the template uses the documented substitution classes.
- The saved file is invalid: For the default response, base64-decode the PDF data before writing bytes. For stream transfer, read the stream through the client’s IO mechanism and close it after consumption.
- A requested page range fails: Check that the range matches the document and configure invalid-range handling for the behavior your application needs.
Or skip the browser setup
For a hosted screenshot or PDF request, ScreenshotNeo provides a single-call API. It removes cookie and consent banners, newsletter popups, and chat widgets before capture; bot checks, blank pages, and failed loads are not billed. Its MCP server lets AI agents take screenshots, and the free plan includes 1,000 screenshots a month without a card; paid plans start at $5 for 3,000 shots. See the ScreenshotNeo website and API documentation.
Example cURL request for a PDF:
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -d format=pdf -o page.pdf
Replace YOUR_API_KEY and the target URL with your values. The API accepts parameters used by other screenshot APIs, including output-format options; check the documentation for the current PDF parameter syntax and available controls. Sign up free for 1,000 screenshots a month with no card.
Free tools Windows power users keep installed
One-click scans. No signup required.
Frequently Asked Questions
Does Page.printToPDF wait for a webpage to finish rendering?
No universal page-readiness condition is guaranteed by the protocol. Your client must wait for the content and assets required in the PDF.
Best Value
- Scanner type: Document
- Connectivity technology: USB
- With Auto Scan Mode, the scanner automatically detects what you're scanning
- Digitize documents and images
Can CDP return PDF output as a stream?
Yes. Stream transfer returns a stream handle that the client reads through its supported IO mechanism and closes when finished.
Does Puppeteer use print CSS when creating a PDF?
Yes. Puppeteer’s page.pdf() uses print CSS media by default; emulate screen media first if that is what you need.
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.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.




