Understand a PDF
Inspect a PDF in your browser or .NET
Inspect PDF pages, encryption, forms, annotations, attachments, active content, signature markers, and rewrite readiness without changing the file.
Inspection summary
- Input
- Output
- JSON report
- Package
- OfficeIMO.Pdf
- Runs on
- Browser-local WebAssembly or .NET
- Microsoft Office
- Not required
- License
- MIT
The browser accepts one PDF up to 25 MiB and applies bounded parsing limits.
Browse all PDF workflowsPractical steps
Inspect a PDF without changing it
Create a bounded preflight report before deciding whether to extract, rewrite, or reject a document.
- SelectChoose one PDF or load the built-in sample; the file remains in the current tab.
- InspectRun the preflight reader to collect document, security, form, active-content, and rewrite evidence.
- ReviewRead the visible readiness messages and download the JSON report when the evidence belongs with a job record.
Use inspection before a workflow assumes that a PDF can be read, searched, or rewritten. The report distinguishes basic read access from rewrite readiness and records blockers instead of treating every file as an ordinary unencrypted document.
Inspect from .NET
using OfficeIMO.Pdf;
byte[] input = File.ReadAllBytes("document.pdf");
PdfDocumentPreflight report = PdfDocument.Preflight(input);
Console.WriteLine($"Readable: {report.CanRead}");
Console.WriteLine($"Rewritable: {report.CanRewrite}");
Console.WriteLine($"Pages: {report.DocumentInfo?.PageCount}");
foreach (string diagnostic in report.Diagnostics) {
Console.WriteLine(diagnostic);
}
Inspection reports page count, encryption, forms, annotations, attachments, tagged content, active content, signature markers, and the current capability gates. A signature marker is evidence that signing structures exist; it is not by itself a trust decision or certificate validation result.
What it does not do
Inspection does not decrypt a file without valid credentials, certify that a signature is trusted, run OCR on image-only pages, or prove that every visual feature can survive a rewrite. Use the reported blockers and diagnostics as policy input rather than a blanket safety label.