Free tools Windows power users keep installed
One-click scans. No signup required.
If the deliverable must be a printable, shareable PDF invoice, generate a PDF—not a PNG, JPEG, or WebP screenshot. Use browser automation such as Playwright when you need to open or interact with an invoice page before rendering it, or when you need control over print layout. A screenshot API is for image captures; use one when the desired record is a visual snapshot rather than a paginated invoice document.
Choose the output before the tool
A screenshot captures a page as an image. A PDF is a document with pages, printable layout, and text or other content that may be useful to the recipient. They are different artifacts, so a screenshot of an invoice should not be presented as a PDF invoice.
As an Amazon Associate I earn from qualifying purchases.
- Choose PDF generation when the invoice needs to be printed, shared as a document, or consumed by a system expecting a PDF.
- Choose a screenshot when you need a visual snapshot for a preview, audit trail, or image-based record.
- Choose browser automation when the workflow must navigate to an authenticated or dynamic invoice page, interact with it, and then render it.
- Consider a hosted rendering API when request-based HTML- or URL-to-PDF rendering better fits your application operations. Check the particular provider’s authentication, privacy, deletion, reliability, supported page behavior, and pricing before using it for invoices.
There is no established general winner on speed, cost, or reliability between browser automation and hosted rendering APIs. Those comparisons depend on the implementation and service, and should not be assumed without comparable evidence.
Outdated 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 matchWindows 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 reinstallPlaywright: generate a PDF from an invoice page
Playwright can navigate to a page, interact with it, and render a screenshot or PDF. Its Page API states that page.pdf() generates a PDF using print CSS. That default matters: print styles can differ from the page’s on-screen appearance.
#1 Best Overall
- BEST FOR SMALL BUSINESSES – Engineered for extraordinary productivity, the Brother DCP-L2640DW Monochrome (Black & White) 3-in-1 combines laser printer, scanner, copier in one compact footprint and delivers high-quality black & white prints
- FAST PRINTER WITH EFFICIENT SCANNING – Produces documents quickly with print speeds up to 36 ppm(2) and scan speeds up to 23.6/7.9 ipm(3) (black/color). A 50-page auto document feeder(4) allows for convenient, time saving multi-page scanning and copying
- FLEXIBLE CONNECTION OPTIONS – Easily navigate the changing demands of your business with secure multi-device connectivity via built-in dual-band wireless (2.4GHz / 5GHz) and Ethernet. Or connect locally to a single computer via USB interface
- BROTHER MOBILE CONNECT APP – Print, scan, and manage your wireless printer anytime, from almost anywhere from your mobile device. Order Brother Genuine Supplies, track toner usage, and complete more work on-the-go(5)
- CHOOSE BROTHER GENUINE TONER – When it’s time to replace your toner, be sure to choose Brother Genuine TN830 or TN830XL replacement toner. And with Refresh EZ Print Subscription Service, you’ll never worry about running out of toner again and you’ll enjoy savings of up to 50%(6) on Brother Genuine Toner. Get started with Refresh today with a Free Trial(1)
Runnable Node.js example
This example opens a public invoice URL and writes a PDF. Install Playwright and its Chromium browser in the environment first:
npm init -y
npm install playwright
npx playwright install chromium
Save as invoice-pdf.js and replace the URL with the invoice page your application is authorized to access:
const { chromium } = require('playwright');
(async () => {
const browser = await chromium.launch();
try {
const page = await browser.newPage();
await page.goto('https://example.com/invoices/123', {
waitUntil: 'networkidle',
timeout: 30000
});
await page.pdf({
path: 'invoice.pdf',
format: 'A4',
printBackground: true,
margin: { top: '12mm', right: '12mm', bottom: '12mm', left: '12mm' }
});
} finally {
await browser.close();
}
})();
Run it with node invoice-pdf.js. The output path is relative to the current working directory. This sample assumes the page can be opened without a login; it does not supply credentials or bypass access controls.
Recommended Free Tools
Authenticated or dynamic invoice pages
For a logged-in invoice, use the application’s supported authentication flow and wait for the invoice content to be ready before exporting. For example, sign in through your app’s normal process, then navigate to the invoice route in the same page or browser context. Avoid putting passwords, session tokens, or invoice data in source code or logs. The exact authentication steps depend on your application.
Rank #2
- BEST FOR HOMES & HOME OFFICES – Engineered for consistent, premium print quality, the Brother HL-L2405W Monochrome (Black & White) Laser Printer delivers sharp, crisp prints at an affordable price. Prints one-sided documents at speeds up to 30ppm(2)
- COMPACT, CONNECTED PRINTER – Flexible connection options make this an ideal printer for home use and at-home offices. Securely connect to multiple devices with built-in dual-band wireless (2.4GHz/5GHz) or locally to a single computer via USB interface
- BROTHER MOBILE CONNECT APP – Manage your printer remotely and print from your mobile device anytime, from almost anywhere. Order Brother Genuine Supplies, track toner usage, and complete more work on-the-go(3)
- VERSATILE PAPER HANDLING – Enjoy seamless, reliable everyday printing with the 250-sheet paper tray(4) and a manual feed slot that enables printing on envelopes and specialty pape
- BROTHER IS AT YOUR SIDE – Backed by Brother with a 1-year limited warranty and free online, call, or live chat support for the life of your printer
If a known invoice element indicates readiness, wait for it explicitly rather than relying only on a fixed delay:
await page.goto('https://example.com/invoices/123', { waitUntil: 'domcontentloaded' });
await page.locator('[data-testid="invoice-total"]').waitFor();
await page.pdf({ path: 'invoice.pdf', format: 'A4', printBackground: true });
Replace the selector with one that exists in your invoice page. A selector wait makes the intended readiness condition explicit, but it does not guarantee that every image, font, or asynchronous calculation has finished; account for those dependencies in the page and workflow.
Print CSS versus screen styling
PDF export uses print media by default. That is usually appropriate for an invoice intended for paper or document sharing. If the PDF should follow screen media styling instead, emulate screen media before calling page.pdf():
Do these 3 things before closing this tab:
1Fix the driver behind crashes, sound loss and screen glitches2Clear out junk files and repair common Windows errors3Scan for outdated or missing drivers - takes under a minuteawait page.emulateMedia({ media: 'screen' });
await page.pdf({ path: 'invoice.pdf', format: 'A4', printBackground: true });
Review the resulting pages for clipped totals, unwanted navigation, missing backgrounds, and page breaks. Use print styles in the invoice itself to control those details; changing media alone does not ensure a good document layout.
Rank #3
- FAST PRINT SPEEDS: Print up to 19 pages per minute.
- COMPACT DESIGN: Space-saving, compact design fits anywhere in your home, school or small office.
- WIRELESS CONNECTIVITY: Print from almost anywhere in your workspace using your compatible mobile device.
- PAPER CAPACITY: Up to 150 sheets.
- SUSTAINABILITY: Uses less than 2 watts in Energy Saver mode.
PDF and screenshot are separate Playwright outputs
Use page.pdf() for a PDF document. Use page.screenshot() when the required result is an image, such as a visual preview:
await page.screenshot({ path: 'invoice-preview.png', fullPage: true });
Playwright’s documented PDF export is Chromium-only. Install and launch Chromium for PDF generation even if other browser engines are used for other parts of an application.
Browser automation or a hosted rendering API?
These are different operating models, not automatic guarantees about cost, speed, security, or reliability. With Playwright, your application controls the browser setup, execution, and lifecycle. A hosted API accepts requests through a service endpoint; the exact rendering controls and page behavior vary by provider.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
| Decision | Playwright browser automation | Hosted rendering API |
|---|---|---|
| Page interaction | Can navigate to and interact with page content before rendering. | The cited Chromium PDF Service reference documents HTML, URL, and file endpoints; it does not establish interaction features across hosted APIs generally. |
| Rendering controls | PDF options include print or screen media selection, format, dimensions, and margins; screenshot capture has its own controls. | The cited reference demonstrates PDF format options and a selector-wait option. Confirm controls for the provider you choose. |
| Output | Can produce a screenshot or PDF buffer; documented PDF export requires Chromium. | The cited reference has separate PDF and screenshot endpoint families. |
| Operations | Your application owns browser provisioning, execution, and lifecycle. | The request/endpoint model shifts rendering to a service, but the reference does not establish that service’s reliability or operating cost. |
| Invoice data | Playwright browser contexts are isolated, non-persistent sessions that do not write browsing data to disk. Your application still determines how invoice content and generated files are stored. | Review the particular provider’s data retention, access, region, and deletion terms; an API reference alone does not establish them. |
For a concrete example of a hosted API’s documented shape, the Chromium PDF Service reference lists POST /api/pdf/from-html, POST /api/pdf/from-url, and POST /api/pdf/from-file, as well as screenshot endpoints and a waitForSelector option. Treat that as one provider’s documented interface, not as a feature list for APIs generally.
Rank #4
- BEST FOR HOME OFFICES & SMALL TEAMS – Engineered for consistent, premium print quality, the Brother HL-L2460DW Monochrome (Black & White) Laser Printer produces documents that are clear, crisp, and easy to review and share, all at an affordable price
- COMPACT, CONNECTED, EXCEPTIONALLY EFFICIENT– Connect with built-in dual-band wireless (2.4GHz/5GHz), Ethernet, or to a single computer via USB interface. Prints at speeds up to 36ppm(2), plus automatic duplex printing saves time and reduces paper waste
- BROTHER MOBILE CONNECT APP – Manage your wireless printer remotely and print from your mobile device anytime, from almost anywhere. Order Brother Genuine Supplies, track toner usage, and complete more work on-the-go(3)
- VERSATILE PAPER HANDLING – Tackle high-volume black & white printing with the 250-sheet capacity paper tray.(4) The manual feed slot enables printing on envelopes and specialty paper
- BROTHER IS AT YOUR SIDE – Backed by Brother with a 1-year limited warranty and free online, call, or live chat support for the life of your printer
Invoice privacy and operational checks
Invoices often contain personal, billing, or transaction information. Treat rendering as part of the data-handling design, not merely a formatting choice.
- For Playwright, use isolated non-persistent browser contexts where appropriate. The documentation describes such contexts as isolated sessions that do not write browsing data to disk; this does not determine where your application stores invoice HTML, PDFs, logs, or backups.
- For a hosted service, verify its terms and controls for retention, access, processing region, and deletion before sending invoice content or URLs.
- Check whether invoice URLs are private or contain sensitive identifiers. Do not expose credentials or access tokens in URLs, source code, or diagnostic logs.
- Decide where the generated PDF will be stored and who can retrieve it. Browser isolation does not by itself secure files written by your application.
Or skip the browser setup
If an image capture is enough, ScreenshotNeo provides a one-request screenshot API. The example below captures a page as WebP; it is an image capture, not a PDF invoice-generation example.
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 API documentation for request options. ScreenshotNeo removes cookie/consent banners, newsletter popups, and chat widgets before capture; those steps can be turned off. Bot checks or CAPTCHAs, blank pages, timeouts, failed loads, and cache hits are not billed, and responses indicate the page verdict and billing status. An MCP server provides take_screenshot, get_page_info, and capture_pdf tools for AI agents and MCP clients. The free plan includes 1,000 screenshots per month without a card; paid plans start at $5 for 3,000.
For an invoice that must be a PDF, use a PDF-generation workflow and assess the provider’s data terms before sending invoice content. For visual page captures, learn about ScreenshotNeo or sign up for 1,000 free screenshots a month with no card.
Troubleshooting Playwright invoice PDFs
The PDF looks different from the browser
page.pdf() uses print CSS by default. Inspect the page’s print styles and use page.emulateMedia({ media: 'screen' }) before exporting only if the screen-styled appearance is the desired result.
Best Value
- FROM AMERICA'S MOST TRUSTED PRINTER BRAND – Perfect for small teams printing professional-quality black & white documents and reports. Perfect for 1-3 people
- WORLD'S SMALLEST LASER IN ITS CLASS – Precision laser printing that fits anywhere
- FAST PRINT SPEEDS – Up to 21 black-and-white pages per minute single-sided
- WIRELESS WITH SELF-RESET – Helps you stay connected
- PRINT FROM ANY DEVICE – Wireless printing from any mobile device, PC or tablet. Works with Microsoft, Mac, AirPrint, Android, Chromebook and more
The invoice content is missing or incomplete
The page may still be loading data, waiting for authentication, or rendering content asynchronously. Confirm the browser is on the expected invoice page, then wait for an application-specific selector that marks the invoice ready. A navigation event alone may not mean every invoice component has finished rendering.
The PDF export fails in another browser engine
Playwright’s documented PDF export is Chromium-only. Install and launch Chromium for the PDF job.
The Tool Desk
Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Invoice data or files appear in unexpected places
Review the application’s browser-context configuration, output paths, logging, and storage behavior. Playwright documents non-persistent isolated contexts, but your application remains responsible for the invoice input and generated output it handles.
A hosted service’s privacy or behavior is unclear
Do not infer retention, deletion, reliability, supported authentication, or pricing from an endpoint example. Check the service’s own terms and controls, and test its behavior against the pages and data your workflow actually uses before adopting it.
Frequently Asked Questions
Can Playwright make a PDF from a logged-in invoice page?
Yes, if your application can authenticate through an authorized flow and the page is rendered in the same browser context before calling `page.pdf()`. The precise login and readiness steps depend on the invoice application.
Does Playwright’s PDF export work in Firefox or WebKit?
The documented Playwright PDF export capability is Chromium-only.
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.




