RadPdfRepro

Throwaway probes that answer RAD PDF questions empirically, against the live shared RAD PDF store. No login. Read the header comment in each page's .cshtml.cs before trusting what it prints.

This page is deliberately static. It calls no RAD PDF API and creates no document. The ops cert monitor GETs / on every public hostname hourly from both VMs; when the crash repro lived here that was a new docs row every 30 minutes (2,107 rows / 232 MB before it was caught). Don't put a CreateDocument page back on the root.

Read-only censuses of an existing document

Pass ?id=<radPdfId>. These never write and never save.

/FieldDump Every field a server-side PdfDocumentEditor actually sees — name, type, rectangle, font size. The right way to count Auto-size fields (a docXml regex counts check fields too). mapping-portal#91
/Inspect Signature shapes in an existing document, with the capability flags the client's cursor chain reads (movable, popupInput, changeable). end-user-portal#355
/FieldCustomData Classifies every field's CustomData — the only way to see it, since /FieldDump doesn't print it and /Inspect lists shapes only. With no id, proves a bare-string marker survives Save + a fresh LoadDocument. mapping-portal#110
/Comb Comb / MaxLength census. With no id, seeds, clears and re-reads its own throwaway document. Its docXml check proves nothing about layer reach — see the header comment. mapping-portal#109

Does a server-side write stick?

/FontSize PdfField.Font.Size over an explicit size and over Auto, re-read through a fresh LoadDocument. Both held. mapping-portal#106
/RenameProbe Does a server-side rename move the field in place or leave the original behind on a new object? Does a resize stick? mapping-portal#91, #92
/TextAnchor Where a single-line value actually renders inside its box. mapping-portal#92
/Retain SaveDocumentChanges / api.download() with SuppressDownloadSave on and off. Writes its results to C:\radpdf-probe so it can run headless. client-portal#148
/Tick When a check field's checked becomes true — the off-by-one that made intake answers record the state before the click. client-portal#152

Copy, delete and the shared pdfs row

/CopyProbe CopyDocument fidelity — why a case document seeded from one template arrives complete and from another arrives missing its created check fields and signature shape.
/DelTest What DeleteDocument actually removes. Settled that it drops only the docs row, leaves keys, and never reaps the shared pdfs blob — even on the last reference. Runs against the live database and keeps its guards accordingly. end-user-portal#565
/Prune Does RemoveOldPrintRenderings really target the pges table? Assumed throughout #148/#150 and never measured. client-portal#150
/ReadPdf Reads field values out of a PDF on disk with RAD PDF's own parser — needed because grepping inflated streams can't read compressed object streams. client-portal#148

The unsupported-features delete guard

/Unsupported What RenderUnsupportedPdfFeatures = false buys and what it costs. Use ?raw=true for the honest answer — the default tags its bytes to avoid dedupe, which hides the fact that CreateDocument over bytes that already have a pdfs row attaches to it and inherits its state, flag ignored. mapping-portal#113
/UnsupportedClient The half /Unsupported can't reach: the client-side deleteObject(), which deletes the very objects the server-side Delete() refuses.

Signatures

/Sig Which signature-box configuration gets a hand cursor at rest, and what each costs. end-user-portal#355
/SigOut Why an unsigned signature box prints and downloads as an empty rectangle with the mapper's caption inside it. end-user-portal#591

Originals

/Crash The original RadPdf.axd rt=2 crash repro this site was built for. Creates a document on every load — this is the page that used to be the root. #385/#386/#388
/Load LoadDocument against an existing id (?id=), mirroring the production WSController.doccase() reuse path.