JetsonPDF.Reader
1.0.0
dotnet add package JetsonPDF.Reader --version 1.0.0
NuGet\Install-Package JetsonPDF.Reader -Version 1.0.0
<PackageReference Include="JetsonPDF.Reader" Version="1.0.0" />
<PackageVersion Include="JetsonPDF.Reader" Version="1.0.0" />
<PackageReference Include="JetsonPDF.Reader" />
paket add JetsonPDF.Reader --version 1.0.0
#r "nuget: JetsonPDF.Reader, 1.0.0"
#:package JetsonPDF.Reader@1.0.0
#addin nuget:?package=JetsonPDF.Reader&version=1.0.0
#tool nuget:?package=JetsonPDF.Reader&version=1.0.0
JetsonPDF.Reader
Parses PDF files into a navigable, in-memory object model — ReadDocument —
following ISO 32000-2 (PDF 2.0). Headless, no native deps, pure net8.0.
using JetsonPDF.Reading;
ReadDocument doc = Reader.Load("input.pdf");
Console.WriteLine($"{doc.Pages.Count} pages, version {doc.Version}");
foreach (var page in doc.Pages)
{
Console.WriteLine($" page {page.Index + 1}: {page.MediaBox.Width}×{page.MediaBox.Height}");
foreach (var item in page.Items)
// text runs, vector paths, images, inline images, shadings, …
Console.WriteLine($" {item.GetType().Name}");
}
Reader.Load accepts a path, Stream, or byte[], with an optional password
for encrypted documents.
What's covered
- File structure: classic xref + xref streams, object streams, encrypted files (RC4-40/128, AES-128, AES-256), incremental updates, linearized ("Fast Web View") layouts, hint tables.
- Content streams: text, vector paths, raster images, inline images
(
BI / ID / EI), Form XObjects, clipping, marked content, optional content. - Color: Device + CIE-based (CalGray, CalRGB, Lab), ICC, Indexed,
Separation, DeviceN/NChannel, Pattern; full
PdfFunctionevaluator (Types 0, 2, 3, 4). - Shadings: axial, radial, function-based, mesh (Types 4–7 decoded to triangle / patch lists).
- Fonts: Type 1 with
/Differencesvia Adobe Glyph List, TrueType / OpenType, CID composite (Identity-H), Type 3 with/ToUnicodepreference. - Filters: Flate (with PNG predictors), LZW, ASCII85, ASCIIHex, RunLength, CCITTFax (T.4 1D + T.4 2D / K>0 + T.6), JBIG2 (MMR + arithmetic + symbol dicts + text regions + refinement + halftones + pattern dicts + Huffman tables), JPX (JP2 metadata extraction; image data passthrough).
- Annotations: Link, Highlight / Underline / StrikeOut / Squiggly, FreeText, Stamp, Caret, FileAttachment, Popup, Sound, Redact, Line / Polygon / PolyLine, Ink, plus markup target binding.
- Forms: AcroForm widgets (Tx / Btn / Ch / Sig / barcode),
/AAtriggers,/COcalculation order, signature/SVseed values,/Lock, DocMDP / FieldMDP, DocTimeStamp, DSS / VRI for LTV. - Document metadata: Outlines, page labels, named destinations, viewer
preferences, page layout / mode, OpenAction, XMP packet, OCG / layers,
associated files, structure tree (real nested elements + role/class maps),
PDF/A-1b/2/3 + PDF/UA-1/2 conformance flags, output intents,
/Measure+/VPviewports + coordinate systems.
Optional validation
ReadDocument doc = Reader.Load("input.pdf");
var issues = doc.Validate(); // PDF/A-1b, PDF/A-2/3 a/u/b, PDF/UA-1/2 rules
foreach (var i in issues) Console.WriteLine($"{i.Severity}: {i.Code} {i.Message}");
Targets
net8.0
License
MIT.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 is compatible. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETFramework 4.6.2
- JetsonPDF.Common (>= 1.0.0)
- Microsoft.Bcl.HashCode (>= 6.0.0)
- System.Buffers (>= 4.5.1)
- System.Memory (>= 4.5.5)
- System.Text.Encoding.CodePages (>= 8.0.0)
- System.ValueTuple (>= 4.5.0)
-
.NETStandard 2.0
- JetsonPDF.Common (>= 1.0.0)
- Microsoft.Bcl.HashCode (>= 6.0.0)
- System.Buffers (>= 4.5.1)
- System.Memory (>= 4.5.5)
- System.Text.Encoding.CodePages (>= 8.0.0)
-
net8.0
- JetsonPDF.Common (>= 1.0.0)
- System.Text.Encoding.CodePages (>= 8.0.0)
NuGet packages (6)
Showing the top 5 NuGet packages that depend on JetsonPDF.Reader:
| Package | Downloads |
|---|---|
|
JetsonPDF.Writer
Builds PDF documents from scratch, following ISO 32000-2. |
|
|
JetsonPDF.Wpf
WPF integration for JetsonPDF. Bundles the XAML-to-PDF authoring pipeline (xmlns:jetsonpdf="http://schemas.jetsonpdf.com/authoring/2025" dialect, driven by real WPF Measure/Arrange) and the PDF-to-XAML viewer-emitter (turns a parsed ReadDocument into WPF XAML that XamlReader.Parse renders directly). Authoring types live under JetsonPDF.Wpf.Authoring; viewer/markup types live under JetsonPDF.Wpf. Windows-only (net8.0-windows + WPF). |
|
|
JetsonPDF.Forms
Open a PDF, discover and modify its AcroForm fields (text, image stamps, choices, checkboxes), and save back via single-layer incremental update. |
|
|
JetsonPDF.OpenSilver
OpenSilver integration for JetsonPDF. Bundles both directions of the XAML pipeline. Authoring (XAML→PDF): the same xmlns:jetsonpdf="http://schemas.jetsonpdf.com/authoring/2025" dialect as the WPF integration, driven by the OpenSilver runtime so the same XAML compiles to a PDF from inside a WebAssembly app, an Edge WebView2 simulator, or a Playwright-driven Chromium CLI. Viewer (PDF→XAML): emits XAML that OpenSilver's XamlReader.Load renders in the browser — text via vector paths (no font cache), images via base64 data URIs, AcroForm widgets as live OpenSilver controls. Walker + image encoder + widget-action dispatch are OpenSilver-specific; emission code, snapshot model, and PDF emission are shared with the WPF flavour. Authoring types live under JetsonPDF.OpenSilver.Authoring; viewer/markup types under JetsonPDF.OpenSilver. |
|
|
JetsonPDF.Tiff
Managed (netstandard2.0) TIFF reader and writer used by JetsonPDF.OpenSilver to display .tif files in the browser without a JS dependency or server-side transcode, and by JetsonPDF.PdfToTiffConverter to emit TIFFs without GDI+. Decodes baseline TIFF strips (no compression, PackBits, CCITT G3 1D/2D, G4, LZW, Deflate) and the common photometric interpretations (WhiteIsZero, BlackIsZero, RGB, Palette, CMYK) to RGBA8888; encodes None / PackBits / Deflate. Includes a minimal PNG encoder so each frame can be served as a base64 data URI to OpenSilver's TiffViewer control. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.0 | 388 | 5/23/2026 |
| 0.2.0-preview | 359 | 5/23/2026 |
| 0.1.0-preview | 330 | 5/17/2026 |