WeasyPrint appears on both legitimate first-generation output and downstream re-save flows — context (the other tool on the same document) is what flips the signal.
Back to all statisticsForensic verdictBased on this tool’s share of the HTPBE? corpus.
Corpus profile
WeasyPrint is a Python HTML-to-PDF library used in many internal report-generation pipelines.
WeasyPrint is genuinely the original generator on many web-template reports. Contextual signal: producer/creator mismatch on documents whose Creator was institutional.
Role in the workflow
Every PDF carries a Creator (the application that produced the original document) and a Producer (the engine that wrote the PDF). The same tool can appear in either slot, with very different modification profiles.
Name fingerprints
Different version strings and spellings observed for WeasyPrint in the wild. All are merged into the same canonical profile.
Why variants matter
The same tool publishes itself under 5 different metadata strings — version bumps, locale tags, build IDs. We canonicalize them so the corpus reflects one identity, not noise.
Distributions
The PDF versions WeasyPrint writes when acting as Producer, and the other tools that appear in the same documents.
Most output is PDF 1.7 (100% of files where WeasyPrint is the Producer).
Expert PDF 15 sits upstream in 57% of cases — read this row as “what kinds of documents end up routed through WeasyPrint.”
Related profiles
Other tools that frequently share metadata with WeasyPrint in the same documents. Each card links to its own forensic profile.
Long tail
Smaller cuts of the WeasyPrint corpus — useful context, but treat each row as a single data point rather than a strong signal.
Create your account — API key on signup, free test environment on every plan.
From $15/mo. No sales call. Cancel any time.