What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
When a wkhtmltopdf table overlaps, splits rows unexpectedly, leaves blank gaps, or repeats a header over body text, the defect is usually created during wkhtmltopdf’s pagination—not by Adobe Acrobat Reader changing the table. Prove where the failure occurs, reduce the HTML to a reproducible fixture, then adjust print CSS and header behavior before upgrading or replacing the renderer.
First, identify whether Acrobat or wkhtmltopdf is at fault
Save the PDF and open it in a second viewer (for example, a browser’s built-in PDF viewer). Then open a known-good PDF in Acrobat. These two tests separate a malformed PDF from an Acrobat display problem:
- If the table is wrong in multiple viewers, wkhtmltopdf produced faulty pagination or an invalid object structure.
- If only Acrobat displays the table incorrectly, follow Acrobat’s maintenance steps before changing your HTML: update Reader or Acrobat, try another PDF, reset browser display preferences when the file is opened inside a browser, and repair or reinstall the application.
Reader cannot reconstruct a table that the renderer split incorrectly. If the same overlap appears in independent viewers, treat the HTML/CSS and wkhtmltopdf build as the repair target.
Record the exact rendering conditions
Pagination can change with a binary update, operating system, paper size, margins, zoom, or media mode. Record these values with every reproduction:
#1 Best Overall
- PDF Reader
- PDF Viewer
- PDF Editor
- Output of
wkhtmltopdf --version, including the patched-Qt wording if shown. - Operating system and architecture.
- Paper size, orientation, margins, zoom, and any header or footer options.
- Whether
--print-media-typeis enabled. - The source URL or local file and the fonts available on the machine.
Issue 2141 documents a change in row-break behavior after an old wkhtmltopdf binary was upgraded, so “the same HTML” is not a sufficient reproduction description.
Build a minimal two-page fixture
Before changing production templates, remove variables until a small table still shows the defect. Keep a heading, a few short rows, one deliberately long row, and enough rows to cross a page boundary. Remove JavaScript, images, web fonts, flex and grid wrappers, transforms, and responsive overflow containers. This tells you whether the failure is intrinsic to table pagination or caused by surrounding layout code.
Save this as table-test.html:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<style>
@page { size: A4; margin: 18mm 14mm; }
body { font: 11pt Arial, sans-serif; }
.print-wrapper { display: block; }
table { width: 100%; border-collapse: collapse; }
th, td { border: 1px solid #555; padding: 5px; vertical-align: top; }
thead { display: table-header-group; }
tr { page-break-inside: avoid; }
</style>
</head>
<body>
<div class="print-wrapper">
<h1>Invoice test</h1>
<table>
<thead><tr><th>Item</th><th>Description</th><th>Amount</th></tr></thead>
<tbody>
<tr><td>1</td><td>Short row</td><td>$10.00</td></tr>
<tr><td>2</td><td>A deliberately long description that tests whether a row can move as a unit when it reaches the bottom of a page.</td><td>$20.00</td></tr>
<tr><td>3</td><td>Repeat this row enough times to force a second page.</td><td>$30.00</td></tr>
</tbody>
</table>
</div>
</body>
</html>
Render it from the command line so the command itself is part of the record:
wkhtmltopdf --print-media-type --page-size A4 --margin-top 18mm --margin-right 14mm --margin-bottom 18mm --margin-left 14mm table-test.html table-test.pdf
If this fixture is correct but the production document is not, add production features back one at a time. The first change that reintroduces the defect is usually the useful clue.
Recommended Free Tools
Apply print CSS fixes in a controlled order
1. Remove a flex root or flex print wrapper
A flex container around the page can trigger bad pagination. In issue 1524, commenter DmitryKuznetsovTTD reported that the page root used display: flex; changing the print wrapper to display: block resolved the overlap. Override only the print layout so the screen design remains unchanged:
Rank #2
- VIEW & PRINT ANY PDF
- USE LIQUID MODE FOR OPTIMAL PDF VIEWING
- EDIT PDFs
- MERGE & ORGANIZE PDFs WITH THE PDF CONVERTER
- SHARE PDFs & COLLABORATE
@media print {
.app-root,
.print-wrapper,
.page {
display: block !important;
}
}
Do the same for grid or positioned wrappers while diagnosing. Keep the table itself a real HTML table, not a set of divs styled to look like one.
2. Remove horizontal overflow and transforms
Responsive classes such as .table-responsive commonly add overflow and an extra scrolling box. That box can confuse an old pagination engine. Disable it for print and remove transforms that alter the table’s coordinate system:
@media print {
.table-responsive {
overflow: visible !important;
}
table {
width: 100% !important;
transform: none !important;
}
}
If the table is genuinely wider than the selected paper, choose landscape orientation or reduce columns; do not rely on a clipped scrolling container.
Do these 3 things before closing this tab:
1Clear out junk files and repair common Windows errors2Scan for outdated or missing drivers - takes under a minute3Repair Windows errors before they cause bigger problems3. Treat row break avoidance as a hint
Use page-break-inside: avoid on rows (and, where useful, on a containing block):
@media print {
tr, .keep-together {
page-break-inside: avoid;
}
}
wkhtmltopdf may ignore this for a row taller than the printable page or for complex nested content. A very large cell must be allowed to split or be redesigned into smaller rows; no CSS rule can fit content that is physically taller than one page.
Rank #3
- Create and edit PDFs. Collaborate with ease. E-sign documents and collect signatures. Get everything done in one app, wherever you go.
- Edit text and images without jumping to another app.
- E-sign documents or request e-signatures on any device. Recipients don’t need to log in to e-sign.
- Convert PDFs to editable Microsoft Word, Excel, or PowerPoint documents.
- Share PDFs for collaboration. Commenting features make it easy for reviewers to comment, mark up, and annotate.
4. Test repeated-header behavior separately
The normal print value is:
@media print {
thead { display: table-header-group; }
tfoot { display: table-footer-group; }
}
That should repeat the header on each page, but issue 2182 records cases where the repeated header overlaps the first body row. Run a controlled experiment by changing only the header display:
@media print {
thead { display: table-row-group; }
}
This can stop the overlap by suppressing repeated-header behavior, but it may also remove headers from later pages. In another layout, retaining table-header-group while adding break-avoid rules works better. Compare both PDFs and keep the version that preserves the required navigation for readers.
5. Check margins, zoom, and usable height
A header or row that barely fits at one margin setting can cross the boundary after a small change. Keep paper size, margins, and zoom fixed while debugging. Make sure CSS dimensions use units that wkhtmltopdf handles consistently, and avoid placing a fixed-height container around the table.
Upgrade or replace the renderer deliberately
The wkhtmltopdf GitHub repository is archived, and issue 3737 documents recurring pagination defects in 0.12.x-era workflows. Test a newer available build or a maintained renderer only after you have a minimal fixture. Render the same HTML with the same paper size, margins, fonts, and media mode, then compare:
| Evaluation point | What to inspect |
|---|---|
| Header repetition | Does the header repeat exactly once, without covering the first body row? |
| Row integrity | Are short rows kept together, and do long rows split at readable boundaries? |
| CSS support | Do flex, overflow, transforms, and print rules behave as intended? |
| Fonts | Are the same fonts installed and embedded or substituted consistently? |
| JavaScript timing | Does content finish loading before capture? |
| Accessibility | Are tags, table structure, and reading order preserved? |
| Reproducibility | Do identical inputs produce the same pagination on each operating system? |
Do not assume a version change fixes every CSS limitation. Keep the fixture and command in your regression tests so a future upgrade can be evaluated instead of guessed at.
Rank #4
- Perfect Adobe Acrobat Pro alternative – lifetime license for Windows 10 and 11.
- EDIT text, images, pages, hyperlinks, designs in PDF documents. ORGANIZE PDFs.
- READ and Comment on PDFs – Intuitive reading modes & document commenting and mark up tools!
- CREATE, COMBINE, SCAN and COMPRESS PDFs.
- FILL forms & Digitally Sign PDFs. Work with Digital certificates
Repair accessibility after the visual layout is stable
A PDF can look correct while its tags or reading order are wrong. First repair the semantic HTML: use one table, a real thead, meaningful header cells, and a logical row order. Then use Acrobat Pro’s Reading Order and Tags tools for remediation. Visual pagination fixes and accessibility tagging are separate tasks; changing tags in Acrobat will not repair an overlap created by wkhtmltopdf.
Free tools Windows power users keep installed
One-click scans. No signup required.
Common symptoms, causes, and fixes
| Symptom | Likely cause | Action |
|---|---|---|
| Header text sits over the first row on page two | Repeated thead pagination defect |
Test table-header-group with break-avoid rules, then test table-row-group and verify whether repeating headers is still acceptable. |
Rows split despite page-break-inside: avoid |
Old renderer limitation or a row taller than the page | Simplify nested content, shorten the row, or accept a split for oversized content; compare another renderer. |
| Large blank gap before a row | Pagination around flex, overflow, or fixed-height wrappers | Switch print wrappers to block, remove overflow and transforms, and retest the minimal fixture. |
| Only Acrobat shows the defect | Viewer installation, browser embedding, or display preferences | Update Acrobat, open another PDF, reset browser display preferences if applicable, then repair or reinstall. |
| Changing CSS has no effect | The wrong stylesheet or media mode is being used | Confirm --print-media-type, inspect the generated HTML, and ensure the print override loads before rendering. |
| Results differ between servers | Different wkhtmltopdf builds, fonts, OS, margins, or zoom | Log wkhtmltopdf --version and all rendering parameters; standardize the runtime. |
Or skip the browser setup
If your immediate goal is a clean visual capture of a web page rather than preserving a wkhtmltopdf-specific PDF pipeline, ScreenshotNeo provides a single-request screenshot API and an MCP server. It accepts consent banners like a visitor and removes more than 60 known consent platforms, newsletter popups, and chat widgets before capture. Bot checks, blank pages, timeouts, failed loads, and cache hits are not billed, and each response identifies the page verdict and billing status in X-Page-Verdict and X-Billed headers.
For API details, see the ScreenshotNeo documentation. The following calls are runnable; replace the URL with the page containing your table.
cURL
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
Python
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)
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}`);
ScreenshotNeo also supports full-page captures with lazy images loaded, CSS-selector element captures, dark mode, 12 device presets or custom viewports, retina scale, PDF paper size and margins, custom CSS and JavaScript, click-before-capture actions, selector hiding, selector/delay/network-idle waits, request and resource blocking, custom headers/cookies/user agents, Authorization, timezone and geolocation, transparent backgrounds, resizing, selectable cache TTLs, signed image links, asynchronous jobs with signed webhooks, bulk capture of up to 100 URLs per call, a usage API, an OpenAPI specification, and compatible parameter names used by other screenshot APIs. Its MCP tools—take_screenshot, get_page_info, and capture_pdf—let Claude, Cursor, or another MCP client perform captures.
The Free plan includes 1,000 shots per month with no card. Paid plans start at $5 for 3,000 shots; every feature is included on every plan. Create a free ScreenshotNeo account to try it.
PC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11Crashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minuteFAQ
Should I remove repeated headers permanently?
Only if your document does not need a header on subsequent pages. The table-row-group workaround can hide the symptom by disabling repetition, so verify navigation and accessibility requirements before adopting it.
Best Value
- Create and edit PDFs. Collaborate with ease. E-sign documents and collect signatures. Get everything done in one app, wherever you go.
- Edit text and images without jumping to another app.
- E-sign documents or request e-signatures on any device. Recipients don’t need to log in to e-sign.
- Convert PDFs to editable Microsoft Word, Excel, or PowerPoint documents.
- Share PDFs for collaboration. Commenting features make it easy for reviewers to comment, mark up, and annotate.
Can a CSS rule guarantee that every row stays on one page?
No. Break-avoid properties are pagination hints. A row whose content exceeds the printable page, or one that the 0.12.x renderer cannot paginate, may still split.
Is replacing wkhtmltopdf automatically safer?
No. A different renderer changes CSS support, font handling, JavaScript timing, and tagging behavior. Use the same minimal fixture and rendering parameters to make a deliberate comparison.
Frequently Asked Questions
Should I remove repeated headers permanently?
Only if your document does not need a header on subsequent pages. The table-row-group workaround can hide the symptom by disabling repetition, so verify navigation and accessibility requirements before adopting it.
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 →Can a CSS rule guarantee that every row stays on one page?
No. Break-avoid properties are pagination hints. A row whose content exceeds the printable page, or one that the 0.12.x renderer cannot paginate, may still split.
Is replacing wkhtmltopdf automatically safer?
No. A different renderer changes CSS support, font handling, JavaScript timing, and tagging behavior. Use the same minimal fixture and rendering parameters to make a deliberate comparison.
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.

