Skip to main content

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.

Practical steps

Inspect a PDF without changing it

Create a bounded preflight report before deciding whether to extract, rewrite, or reject a document.

  1. SelectChoose one PDF or load the built-in sample; the file remains in the current tab.
  2. InspectRun the preflight reader to collect document, security, form, active-content, and rewrite evidence.
  3. 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.