What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Some links on this page are affiliate links: if you buy through them we may earn a commission, at no extra cost to you.
Use a print stylesheet to give the page a paper-specific layout, then print it through the browser or automate the same pipeline with Puppeteer. Put print-only rules in @media print, set paper geometry with @page, control fragmentation with break-before, break-after, and break-inside, and inspect the resulting PDF in the browser runtime that will create it.
How print CSS becomes a PDF
Browsers apply the print media type not only to physical printing but also to a PDF produced by the print dialog. Your normal screen stylesheet remains in place, while rules inside @media print override it for paper. The @page rule defines the page box: size, orientation, and margins. The browser then fragments normal document flow into pages.
This is different from taking a screenshot of the screen. A PDF is paginated content, so fixed overlays, scrollable panels, viewport-height sections, and absolute positioning can overlap, disappear, or clip when the content is split across pages.
Quick wins for a faster PC:
Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Repair Windows errors before they cause bigger problemsFix Now →Scan for outdated or missing drivers - takes under a minuteDriver Scan →Build a print stylesheet
Set paper size and margins
Start with a predictable page box. Use a named size such as A4 or Letter, and specify physical margins. The print dialog or automation options can override these values, so treat them as defaults rather than a guarantee.
#1 Best Overall
- INNOVATIVE CARTRIDGE-FREE PRINTING — No more dealing with lots of tiny ink cartridges; With this wireless document and photo printer each ink bottle set is equivalent to about 90 individual cartridges²
- LESS FREQUENT INK REPLACEMENT — Replacement ink bottles don't have to be changed nearly as often as ink cartridges¹; When you choose this combination printer, scanner and copier you can print up to 4,500 pages black/7,500 color³
- COLOR PRINTING — Up to 2 years of ink in the box4 (and with every replacement ink set) for fewer out-of-ink frustrations
- ZERO CARTRIDGE WASTE — By using an Epson EcoTank printer you can help reduce the amount of cartridge waste ending up in landfills
- HOME PRINTER DESIGNED FOR RELIABILITY — The Epson EcoTank ET-2800 All-in-One Supertank Color Printer creates vivid, detailed prints and documents thanks to Micro Piezo Heat-Free Technology; Fire off 10 ISO pages per minute1 to easily finish large jobs
@page {
size: A4;
margin: 16mm;
}
Remove screen-only chrome
Navigation, sticky headers, cookie notices, chat launchers, modal controls, and buttons rarely belong on paper. Hide them with selectors that describe their function rather than fragile generated class names.
Reset colors, overflow, and layout
White backgrounds and black text are safer for printing. Containers with overflow: auto or overflow: hidden can clip content that should continue on the next page; make them visible in print. Prefer normal flow over large fixed or absolutely positioned regions.
Control page breaks
Use the modern fragmentation properties. break-before: page starts a major section on a new sheet. break-after controls what follows an element. break-inside: avoid asks the engine to keep a small heading, figure, table, or card together. An item taller than a page still has to split.
@media print {
nav,
header.site-header,
footer.site-footer,
.screen-only,
button,
.cookie-banner,
.chat-widget,
[role="dialog"] {
display: none !important;
}
html,
body {
background: #fff;
color: #000;
}
.content,
article,
pre,
table,
.scroll-panel {
overflow: visible !important;
}
h1,
h2,
h3,
figure,
table,
pre {
break-inside: avoid;
}
h2 {
break-before: page;
}
a {
color: inherit;
text-decoration: underline;
}
img {
max-width: 100%;
height: auto;
}
}
Do not force every heading onto a new page. Reserve break-before: page for major boundaries; using it on small subsections creates large blank areas.
Manual browser workflow
- Add the print rules to the page and reload it in the browser that will produce the PDF.
- Open the browser’s Print command. In most desktop browsers this is available from the menu or with Ctrl/Cmd+P.
- Choose Save as PDF (the exact wording varies by browser and operating system).
- Select paper size, portrait or landscape orientation, margins, scale, and whether background graphics should print.
- Review the preview page by page. Look for clipped columns, blank pages, headings stranded at the bottom, broken tables, missing fonts, and images that have not loaded.
- Save the PDF, then repeat the inspection after changing content or CSS.
Keep useful links and source URLs visible when the document is meant to be referenced later. Hide controls and navigation, not information a reader may need on paper.
Automate conversion with Puppeteer
Puppeteer’s page.pdf() uses the print CSS media type by default. Navigation completion alone does not prove that fonts, images, or client-rendered content are ready, so wait for an appropriate rendering state before generating the file.
import puppeteer from 'puppeteer';
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto('https://example.com/article', {
waitUntil: 'networkidle0'
});
await page.pdf({
path: 'article.pdf',
format: 'A4',
printBackground: true,
margin: {
top: '16mm',
right: '16mm',
bottom: '16mm',
left: '16mm'
}
});
await browser.close();
When to use the screen stylesheet
If the document deliberately needs the screen layout, switch media before calling pdf():
Free tools Windows power users keep installed
One-click scans. No signup required.
await page.emulateMediaType('screen');
await page.pdf({ path: 'screen-layout.pdf', printBackground: true });
Use this only intentionally. For a normal print-CSS workflow, leave Puppeteer’s default print media type in effect.
Rank #2
- CARTRIDGE-FREE PRINTING — Print lab-quality photos, graphics and creative projects; Get vibrant colors and sharp text with Epson's high-accuracy printhead and Claria ET Premium 6-color inks
- INK BOTTLES — Save on photos1 and creative projects with affordable in-house printing; All-in-one printer allows you to print 4" x 6" photos for about 4 cents each vs. 40 cents with traditional ink cartridges1
- LESS FREQUENT INK REPLACEMENT — Replacement ink bottles don't have to be changed nearly as often as ink cartridges¹; Printer, scanner and copier lets you print up to 6,200 color pages³
- PRINT FOR LONGER — Up to 2 years of ink in the box² (and with every replacement ink set) for fewer out-of-ink frustrations with this wireless printer
- ZERO CARTRIDGE WASTE — Epson EcoTank printer helps reduce the amount of cartridge waste ending up in landfills; Cartridge-free printer uses high-yield ink bottles; Each replacement ink bottle set is equivalent to about 100 individual ink cartridges⁴
Wait for fonts and application state
await page.goto(url, { waitUntil: 'networkidle0' });
await page.evaluate(() => document.fonts.ready);
await page.waitForSelector('article');
// If the app renders after navigation, wait for its own ready condition here.
await page.pdf({ path: 'output.pdf', format: 'A4' });
For pages with lazy images, scroll or trigger the application’s loading mechanism before printing. A PDF generated too early can contain empty image boxes even though the final interactive page looks correct.
Pagination fixes for difficult layouts
Tables
Allow a long table to continue across pages, but avoid splitting short tables when possible. Remove horizontal scrolling from the table wrapper in print. If a table is wider than the paper, choose landscape output or simplify columns; shrinking the entire document often makes text unreadable.
Code blocks and long words
Use wrapping for long URLs and code tokens, and avoid a fixed height. A code block that exceeds one page must be allowed to break; break-inside: avoid is a request, not permission to overflow the page.
Images and figures
Constrain images to the printable width and preserve their aspect ratio. Keep a figure and caption together when they fit. Large diagrams may need a dedicated landscape page or a separate downloadable asset.
Fixed headers and footers
Viewport-fixed elements are a common source of overlap. Hide them or convert them to normal-flow elements for print. The availability of generated margin content and other paged-media features differs by browser release, so do not assume a screen header will become a reliable repeating PDF header.
Colors and backgrounds
Browsers may modify colors for printing. Puppeteer’s printBackground: true includes CSS backgrounds, while the browser dialog has its own background-graphics setting. Where supported, -webkit-print-color-adjust: exact requests closer color fidelity, but it cannot override user or system printing policies.
Validate the actual PDF
Paged-media support is not perfectly uniform between engines and releases. Validate in the browser or headless runtime that will produce the final file. Test at least one short page and one long page, plus a page containing a table, code, images, and links.
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 errorsRank #3
- SET IT UP ONCE AND PRINT WITH CONFIDENCE. No complicated maintenance. Just easy, reliable printing you can count on.
- INK FOR YEARS. NOT MONTHS. Up to 2 years of ink included. Get thousands of pages of cartridge-free printing. More pages, less hassle
- KEEPS PRINTING WELL AFTER COMPETITORS HAVE QUIT. No complex maintenance. Sharper text, richer colors.[2] Only with HP Smart Tank
- PREMIUM SUPPORT - Strong technical expertise to solve issues faster
- THE LAST PRINTER YOU'LL EVER NEED. Enjoy years of refillable, cartridge-free printing.
- Geometry: confirm paper size, orientation, margins, and scale.
- Flow: check that no content is clipped by overflow, fixed heights, or positioned layers.
- Typography: verify that web fonts loaded and that headings are not stranded at page bottoms.
- Assets: inspect images, SVGs, backgrounds, and lazy-loaded content.
- Navigation: ensure links and source URLs remain readable when the PDF is a reference document.
- Repeatability: generate the file again after a content change and compare pagination rather than trusting a single preview.
The PDF itself is the acceptance artifact. A correct-looking HTML page is not proof that its paginated output is correct.
Common failures and fixes
Content is cut off inside a panel
Cause: an ancestor has overflow: hidden, overflow: auto, or a fixed height. Fix: override overflow to visible, remove the height constraint, and let the content return to normal flow.
A blank page appears
Cause: a forced page break, oversized margin, or an element that barely exceeds the printable area. Fix: inspect preceding break-* rules, reduce unnecessary spacing, and confirm that the print dialog is not applying a different scale or paper size.
Backgrounds or colors are missing
Cause: background printing is disabled or Puppeteer was called without printBackground: true. Fix: enable the browser’s background-graphics option or the Puppeteer option, while accepting that user settings can still win.
Fonts reflow between runs
Cause: the PDF was generated before web fonts finished loading, or different runtimes resolved different font files. Fix: await document.fonts.ready, pin the runtime and font assets, and validate in the production environment.
The page is empty or incomplete
Cause: client-side rendering, authentication, bot protection, or a failed network request. Fix: wait for an application-specific selector, provide required credentials in a controlled environment, inspect browser console and network errors, and distinguish a genuinely blocked page from a CSS problem.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Performance, reliability, and cost choices
| Method | Best for | Trade-off |
|---|---|---|
| Manual browser print | One-off documents and visual review | Depends on a person and local print settings |
| Puppeteer | Repeatable jobs, CI, and batch generation | Requires a browser runtime and validation of assets and pagination |
| Print CSS | Portable control across browser print flows | Exact paged-media behavior can vary by engine and release |
For predictable automation, pin the browser version, use consistent fonts, set explicit paper geometry, and log the URL, rendering wait condition, and PDF options for each job. For high-volume work, reuse a browser process carefully, but isolate pages and close them after each job so state, cookies, and memory do not leak between documents.
Rank #4
- Wireless Bluetooth Printer: Portable thermal printer compatible with iPhone, Android phones, iPad and tablet computers via Bluetooth. For smartphones, please download the "Nada Print" App. You can also connect to laptops and computers for printing using a USB-C cable. (Note: Laptops and computers can only be connected via USB and require the installation of a driver first. Bluetooth connection is not supported.)
- No-ink printing: Only supports US Letter and A4 size thermal paper.(Doesn't support regular paper) The no-ink portable thermal printer uses direct thermal technology, requiring no ink, toner or ribbons, making it environmentally friendly, cost-effective and time-saving. The thermal printer package comes with a roll of US Letter thermal printing paper. Note: When installing the paper, remember to switch the paper size switch on APP
- Clear Print: NDYIN N80 portable thermal printer adopts high-definition printing technology, with a 203DPI resolution to provide you with clear printing results. This mobile printer is compatible with roll paper, folded paper and tattoo transfer paper, supporting printing from your mobile phone PDF, Word, pictures and web pages anytime and anywhere. It is recommended to use our NDYIN thermal paper to achieve good printing quality
- Portable wireless printer for travel: The thermal printer is equipped with a built-in 1500mAh rechargeable battery, which can print 160 sheets of 8.5" x 11" thermal paper after being fully charged. It weighs only 1.5 pounds and is compact in size. This ink-free portable printer can be easily carried in a backpack or briefcase! It is perfect for business travel, cars, small offices, construction sites, schools and homes. You can print documents, contracts, invoices and boarding passes anytime and anywhere
- The N80 thermal printer has a wide range of uses. The package includes the N80 printer, a roll of US Letter paper(7m/roll), a user manual, a guide card, a type-C soft cable and a type C adapter. Note: The charging adapter is not included. Special thermal paper is required for use; ordinary paper cannot be used. This ink-free portable thermal printer is suitable for various scenarios such as home, school, travel, office, and outdoor, meeting the printing needs of different groups of people. This tattoo template printer is also compatible with tattoo transfer paper, making it an ideal choice for tattoo art
Or skip the browser setup
ScreenshotNeo provides a website capture API and MCP server when you need a PDF without maintaining Puppeteer. Its PDF options include paper size, margins, landscape mode, and page ranges, along with waits, custom CSS and JavaScript, cookies and headers, and signed asynchronous webhooks. Before capture it accepts cookie or consent banners and removes more than 60 known consent platforms, newsletter popups, and chat widgets; each cleanup step can be disabled.
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 →Use the API with one GET request (see the ScreenshotNeo documentation):
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
import requests
r = requests.get("https://api.screenshotneo.com/v1/shot", params={"access_key": "YOUR_API_KEY", "url": "https://stripe.com"}, timeout=90)
open("shot.webp", "wb").write(r.content)
const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://stripe.com' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);
Only clean shots are billed. Bot checks or CAPTCHAs, blank pages, timeouts, failed loads, and cache hits cost nothing, and response headers identify the page verdict and billing result. Its MCP server exposes take_screenshot, get_page_info, and capture_pdf to Claude, Cursor, and other MCP clients. The Free plan includes 1,000 shots per month with no card; paid plans start at $5 for 3,000 shots. Sign up for the free plan.
FAQ
Does printing to PDF always use @media print?
Yes, the browser print pipeline targets the print media type. Automation can deliberately switch to screen media, but that is an explicit change.
Can CSS guarantee identical pagination in every browser?
No. Engine version, fonts, assets, print settings, and support for paged-media features all affect fragmentation. Validate the PDF in the runtime that matters.
Recommended Free Tools
Why did my page break rule do nothing?
Check that the rule is inside the active print stylesheet, that the element is in normal flow, and that another rule or the print dialog is not changing the available page size.
Frequently Asked Questions
Can CSS guarantee identical pagination in every browser?
No. Engine version, fonts, assets, print settings, and paged-media support affect where content breaks, so validate the PDF in the target runtime.
Why did my page break rule do nothing?
Confirm the rule is active in print media, the element is in normal flow, and the print dialog has not changed paper size, margins, or scale.
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.

