Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Some links on this page are affiliate links: if you buy through them we may earn a commission, at no extra cost to you.

ContentNotFoundError means wkhtmltopdf could not load at least one page resource. It is not a diagnosis of whether the missing resource was a local file, remote URL, redirect, certificate, permission, authentication failure or something else. Start by capturing the complete stderr output and identifying the warning immediately before Exit with code 1 due to network error: ContentNotFoundError.

Then test that exact URL or path from the same machine, container, operating-system account and service environment that runs wkhtmltopdf. Repair the underlying access problem first; change error-handling mode only when you deliberately accept missing content.

What ContentNotFoundError actually tells you

wkhtmltopdf loads HTML and then fetches its dependencies: images, stylesheets, fonts, scripts, frames and other referenced resources. If one cannot be loaded, the final message may be reported as a network error even when the failed item is a local file. The final line is therefore a symptom, not a universal cause.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The useful evidence is earlier in stderr. Look for lines such as Warning: Failed to load ... or Blocked access to file .... Record the complete URL or filesystem path named there. A browser test from your laptop is not enough: a container, worker, service account or proxy can have different DNS, certificates, credentials and filesystem permissions.

#1 Best Overall
Sale
ETIKEZ D90E Inkless Portable Thermal Printer with Case – 8.5" x 11", Black
  • Portable Wireless Printer - The ETIKEZ D90E is an inkless printer and portable printer that uses advanced thermal technology, requiring no ink, toner, or ribbons, delivering cost-effective prints. Weighs only 2.08lb, the portable printer is incredibly lightweight and compact. Perfect for on-the-go printing during business travels, work, or university, it easily fits into backpacks or briefcases. Ideal for emergency scenarios, contracts, office documents, and more. only prints black and white
  • Bluetooth & USB Connectivity - Connect this D90E portable printer to iPhones or Android via Bluetooth. This wireless printer also works with PC over USB. As a thermal printer, it requires the Labelnize app for mobile printing; for PC, install drivers from Labelnize.com or the USB drive. This small portable printeris not compatible with Chromebooks. (Note: For laptop and computer use, connect via USB after downloading the driver from Labelnize.com.)
  • Multiple Printing and Format – The wireless portable printer supports 8.5" x 11" US Letter thermal paper (B0GD61HPDC, B0GD5JFC2Q). It meets all your various printing requirements, whether you're on the go or in a car. (Note: This thermal printer is compatible exclusively with A4 thermal paper and does not accept ordinary copy paper)
  • Gift-Ready - This portable printer, a gift for pros & students, works as a thermal printer for classroom, classroom printer for teachers, printer for college student, small classroom printer, printer for dorm room, thermal printer for teachers, and portable printer for classroom. It combines thermal & inkless, ideal for notaries, truckers, teachers, parents. Package: D90E Printer, USB-C Cable, 10-sheet Paper, Travel Case, Guide. (Charging adapter not included.)
  • How to solve paper jams: 1) Click once to pop up the paper - If the machine gets a paper jam, simply press the power button and the machine will automatically eject the paper. 2) Do not forcefully open the machine cover as it may cause injury or scratches . 3) Choose our flat thermal paper to avoid curling of the paper after printing. Note: Cannot use regular paper for printing

A reliable diagnostic sequence

  1. Capture all stderr

    Run the conversion while saving standard error, and do not stop at the last line. Keep every failed-load and blocked-file warning. The first useful warning normally identifies the resource that needs investigation.

    wkhtmltopdf --version
    wkhtmltopdf input.html output.pdf 2>wkhtmltopdf.stderr
    cat wkhtmltopdf.stderr
  2. Record the exact runtime

    Write down the wkhtmltopdf --version result, operating system and distribution, installation source, wrapper name and version, and the complete command line. The project’s support guidance asks for this information with a detailed reproducible case.

  3. Test the named resource in the same environment

    For a remote URL, check DNS, HTTP status, redirects, TLS negotiation, proxy requirements and authentication from the same user and container. For a local path, check existence, case-sensitive spelling, readable permissions and how the document’s base URL resolves relative references. A simple remote check might be:

    Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
    curl -v -L --fail "https://example.com/assets/logo.png" -o /tmp/logo.png

    Use the actual failing URL, and run the command inside the worker or container rather than on a different workstation. A successful browser load does not prove that wkhtmltopdf can reach the same resource.

  4. Reduce the input to one failing reference

    Create a minimal HTML file containing only the suspected image, stylesheet, font or script. Remove unrelated JavaScript, CSS, external assets and wrapper options. This distinguishes a bad reference from a page-wide rendering problem and gives you a reproducible test case for a project issue.

    <!doctype html>
    <html><body>
      <img src="file:///absolute/path/to/failing-image.png" alt="test">
    </body></html>
  5. Check local-file policy

    The project setting load.blockLocalFileAccess controls whether local and piped files may access other local files. Review every file:// URL and relative path, then grant access only to the directories the document genuinely needs. Check your build’s help output for the exact command-line spelling of its local-file access and allow-list controls.

    Rank #2
    Portable Printers Wireless for Travel, A285M Small Inkless Thermal Printer
    • Portable Printers Wireless for Travel [Compact & Space-saving]: The portable printer weighs only 1.5lb and is small in size. This inkless portable printer fits easily into a backpack or briefcase! Ideal for on-the-go printing during business travel, in car or truck, small office, construction site, school and home use. You can print documents, contracts, invoices, receipts, recipes, lists and boarding passes anytime, anywhere
    • Wireless Bluetooth Printer [High Compatibility]: The portable thermal printer compatible with iPhone, Android Phone, iPad, Tablet via Bluetooth. Print documents, pictures, web pages from your phone anytime, anywhere. You can also use the USB-C cable to connect your laptop or computer for printing. (Note: Laptops and computers only work with USB connection, need to download the driver first: a285m.labelife.cc)
    • Thermal Printer [Multi-Size Printing]: The wireless portable printer with built-in paper bin, support thermal roll paper, continuous and single sheet thermal paper. A285M small wireless printer also supports 5 sizes of thermal paper: 8.5“ X 11” US Letter, A4, 4.33'' (110mm), 3.14'' (80mm), 2.08'' (53mm) width thermal paper, can meet most of your needs
    • Inkless Printer [Cost-Effective & Inkless Printing]: The Bluetooth mobile printer adopts advanced thermal technology, no ink, toner, or ribbon required during printing, no clogging and cleaning problems! (Note: Only support the thermal paper, Does not support regular copy paper. Only supports black and white printing.)
    • Mobile Printer [High Quality Printing]: The compact printer is designed for people who work outside. A wireless inkless portable printer is good for mobile notaries, truck drivers, business travelers, office workers, teachers and students. Note: Charging with 5V 2A. Don't use the charger that outputs above 5V

    Do not broadly enable filesystem access when processing untrusted HTML. A permissive setting can expose files that the conversion process should never read.

    Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  6. Compare load-error policies only after diagnosis

    wkhtmltopdf supports three values for --load-error-handling. They determine what conversion does after a page load fails; they do not make an unavailable URL or file available.

    Value Effect Use it when
    abort Stop conversion when a load fails. The PDF must be complete and a missing dependency is an error.
    skip Continue while skipping the failed page or load. You can tolerate omitted content and want an explicit skip rather than a hard stop.
    ignore Continue despite the load failure. The output may legitimately omit the resource and you will inspect the result for omissions.

    An archived report still showed ContentNotFoundError while using --load-error-handling ignore. Treat ignore as an output-policy choice, not a guaranteed repair.

  7. Reproduce outside the wrapper

    If you use PDFKit or another library, log the generated wkhtmltopdf command and run that command directly against the same input. Then compare file input with string or piped input if your application supports both. An archived Python/pdfkit report showed different warnings for from_string, including blocked-file and about:blank protocol messages; it does not establish one wrapper fix for every application.

Fixing local-file failures

Use absolute, correctly resolved paths

Relative references are resolved against the document base URL, which can change when HTML is supplied as a file, a string or standard input. Confirm the final path in stderr, including capitalization. Linux filesystems are case-sensitive, so Images/Logo.png and images/logo.png may be different files.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Verify permissions as the service account

Check the file and every parent directory using the account that launches wkhtmltopdf. A file readable by your login user may be inaccessible to a web worker, queue process or container user. Also check volume mounts and working-directory assumptions inside containers.

Rank #3
Sale
Gloryang Inkless Portable Printer for Travel, Wireless Thermal Printer Supports 8.5 x 11 Inch Thermal Paper, Bluetooth Machine Includes Carry Case and 3 Rolls of Paper Kit, Black
  • Inkless Printing – Gloryang portable printer uses advanced thermal technology, requiring no ink, toner, or ribbons. The package includes the printer, 3 thermal paper rolls (1 pre-installed + 2 extras), a carrying case, charging cable, manual, and guide card. Cost-effective and easy to use. Note: Only compatible with Gloryang thermal paper; not for regular, inkjet, or plain paper.
  • Seamless Bluetooth Connectivity – The Gloryang mobile sticker printer connects easily to iOS and Android via Bluetooth through the “Jadens Printer” app. It also works as a compact printer for laptops and computers—simply turn on the printer first, then install the driver to set up. Print anytime, anywhere.
  • Ultra-Portable Design - Weighing just 1.75lb and measuring 1.7in thick, the Gloryang portable printer is incredibly lightweight and compact. Perfect for on-the-go printing during travels, work, or university, it easily fits into backpacks or briefcases. Ideal for emergency scenarios, contracts, office documents, and more.
  • Space-Saving Design - Say goodbye to clutter with the built-in paper bin of the Gloryang printer. It saves space and keeps your workspace tidy, whether you're on the go or in a car. With two ways to load thermal paper and the ability to print documents ranging from 2 to 8.5 inches, it caters to various printing needs.
  • Perfect Gift for Holiday-Gloryang thermal printer can print clear photos, image, design drawings and text. It's perfect for busy professionals and students. Come with a nice case, making it as a perfect Christmas and new year gift for your families and friends.

Allow only the required locations

When local access is blocked, adjust the local-file policy for the specific asset directories rather than opening the entire filesystem. Keep the document, stylesheets, images and fonts in a known directory tree and test that minimal tree. If the HTML is user-supplied, sanitize it before conversion and apply operating-system controls such as AppArmor to limit what wkhtmltopdf can read.

Fixing remote-resource failures

HTTP status and redirects

Check whether the URL returns a successful response, whether it redirects to another hostname or protocol, and whether the final location is reachable from the conversion host. A redirect that works in an interactive browser may require credentials or a proxy that the wkhtmltopdf process does not have.

TLS, proxy and authentication

Inspect certificate validation and proxy settings from the same runtime. Private resources may need headers, cookies or an authenticated session; a public browser session does not transfer those credentials automatically. If your application adds headers or cookies through a wrapper, compare the generated command with the direct invocation so you can see exactly what was sent.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Dynamic pages and timing

A page can return HTML while a later stylesheet, image or script request fails. Keep the minimal test case, identify the individual failed request and fix that dependency instead of masking the entire page with ignore. Validate the generated PDF visually and, where appropriate, by checking that expected assets are present.

When the wrapper changes the failure

Wrappers can alter how HTML is supplied and can hide the real command line. Preserve the generated command, input mode, wrapper version and complete stderr. Run the command directly, then run the wrapper with a file input and with string or piped input. If only one mode fails, the difference is probably in base-URL resolution, temporary-file handling or the wrapper’s access options rather than in the remote server.

Security and version context

The official download page identifies the 0.12.6 series as stable and dates that release to June 11, 2020. Distribution packages can differ, and the consulted project pages have old crawl dates, so verify your operating system’s package metadata before writing installation or upgrade instructions around that number.

An official issue reported a local-file same-origin weakness affecting versions through 0.12.5, with the fix associated with milestone 0.12.6. Upgrading is therefore a security consideration, not merely a way to silence an error. Do not assume that a package named 0.12.6 has identical patches unless you have checked its build details.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

“Do not use wkhtmltopdf with any untrusted HTML – be sure to sanitize any user-supplied HTML/JS, otherwise it can lead to complete takeover of the server it is running on!”

That warning appears in the project documentation. Use input sanitization, a restricted service account, filesystem permissions and an operating-system mandatory-access-control policy. The project’s AppArmor guidance describes limiting file access and denying network connections when network access is unnecessary; tailor and test the policy against the resources your conversion actually needs.

The project status page also notes that its QtWebKit foundation needs to catch up and points readers toward a more modern browser-rendering option. Treat that as project guidance, not proof that one particular replacement will preserve your layout, JavaScript or pagination.

Common symptoms and targeted fixes

Symptom in stderr Likely class of problem Next check
Blocked access to file Local-file policy or an unsafe path. Confirm the absolute path, service-account permissions and load.blockLocalFileAccess policy; allow only the required directory.
Failed to load with an HTTP URL Reachability, status, redirect, TLS, proxy or authentication. Run a verbose request from the same container and inspect the final URL and response.
Works with a file, fails with from_string Different base URL or wrapper-generated temporary input. Compare direct and wrapper commands and provide an explicit base location where your wrapper supports one.
Conversion succeeds with missing images or CSS Ignored or skipped dependency failure. Review stderr and inspect every expected page and asset; do not treat a successful exit as proof of complete output.
Only the packaged binary fails Distribution build, sandbox or dependency difference. Record package metadata, compare with the direct binary and reproduce in the same deployment image.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Performance, reliability and operational cost

Each remote dependency adds another point at which conversion can wait or fail. Keeping assets local and making URLs deterministic can reduce environmental variability, but local assets still require correct permissions and an explicit access policy. A minimal reproduction is usually faster to diagnose than repeatedly converting a full application page.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

For reliable jobs, retain stderr with the output, record the input revision and command line, and reject PDFs that omit required pages or branding. Select abort, skip or ignore according to the business consequence of incomplete output. No per-render price or service-level figure is established by the project material; your operational cost comes from the machines, containers and maintenance needed to run the executable.

Best Value
Sale
Canon PIXMA TS4320 – Wireless Color Inkjet Printer with Print, Copy, Scan
  • Affordable Versatility - A budget-friendly all-in-one printer perfect for both home users and hybrid workers, offering exceptional value
  • Crisp, Vibrant Prints - Experience impressive print quality for both documents and photos, thanks to its 2-cartridge hybrid ink system that delivers sharp text and vivid colors
  • Effortless Setup & Use - Get started quickly with easy setup for your smartphone or computer, so you can print, scan, and copy without delay
  • Reliable Wireless Connectivity - Enjoy stable and consistent connections with dual-band Wi-Fi (2.4GHz or 5GHz), ensuring smooth printing from anywhere in your home or office
  • Scan & Copy Handling - Utilize the device’s integrated scanner for efficient scanning and copying operations

Or skip the browser setup

If your real requirement is a clean screenshot or PDF of a URL rather than maintaining a wkhtmltopdf rendering environment, ScreenshotNeo is the alternative to try first: it handles consent and nuisance overlays before capture, bills only clean shots, and has the lowest paid plan described here.

One GET request returns PNG, JPEG, WebP or PDF. Replace the example URL with the page you need.

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)
r.raise_for_status()
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}`);
if (!res.ok) throw new Error(`HTTP ${res.status}`);
const fs = await import('node:fs/promises');
await fs.writeFile('shot.webp', Buffer.from(await res.arrayBuffer()));

See the ScreenshotNeo API documentation for parameters. Before capture it accepts cookie and consent banners like a visitor and removes more than 60 known consent platforms, newsletter popups and chat widgets; each step can be disabled. Bot checks and CAPTCHAs, blank pages, timeouts, failed loads and cache hits are not billed, and the response reports the result through X-Page-Verdict and X-Billed headers.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

For developers, options include full-page capture with lazy images loaded, CSS-selector element capture, dark mode, 12 device presets or any viewport, retina scale, PDF paper size, margins, landscape and page ranges, custom CSS and JavaScript, pre-capture clicks, hidden selectors, selector/delay/network-idle waits, request and resource blocking, custom headers, cookies, user agents and Authorization, timezone and geolocation, transparent backgrounds, resizing, configurable-TTL caching, signed image links, asynchronous jobs with signed webhooks, bulk capture of up to 100 URLs per call, a usage API and an OpenAPI specification. An MCP server exposes take_screenshot, get_page_info and capture_pdf to Claude, Cursor and other MCP clients. Parameter names used by other screenshot APIs also work, which can simplify migration.

Plan Allowance and price
Free 1,000 shots per month; no card required
Starter $5 for 3,000 shots
Growth $15 for 15,000 shots
Pro $39 for 60,000 shots
Scale $99 for 250,000 shots
Business $249 for 1,000,000 shots

Yearly billing gives two months free, and every feature is available on every plan. If this fits your workflow, create a free ScreenshotNeo account for 1,000 screenshots a month with no card.

FAQ

Frequently Asked Questions

Which MCP tools does ScreenshotNeo expose?

Its MCP server provides take_screenshot, get_page_info and capture_pdf for Claude, Cursor and other MCP clients.

What output formats can the ScreenshotNeo endpoint return?

The endpoint can return PNG, JPEG, WebP or PDF; choose the format and other capture options through the request parameters documented at the API documentation.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

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.