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.