Skip to content
zayg21-pixelPublic

About

Resources

Contributing

Security policy

Stars

34 stars

Watchers

1 watching

Forks

Latest commit

 

History

859 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PDF Pixel

NuGet Publish NuGet Package CI

PDF Pixel is a native C# PDF rendering library for .NET, built around SkiaSharp as its rendering engine. It renders PDF documents to raster output with full fidelity, optimized for both CPU and GPU rendering, with no dependency on external PDF frameworks — just SkiaSharp, standard Microsoft libraries, bundled Adobe CMap resources for character mapping, and the bundled URW Core 35 fonts used for the Standard 14 fonts. Coverage spans the full PDF specification for static content, with all essential rendering features supported. A ready-made panel component makes it straightforward to embed PDF viewing directly into any application.


Documentation

  • PdfPixel.Examples — a console project with runnable examples: rendering a PDF page, extracting its text and images, applying ICC transforms, decoding JPEG, JPEG 2000, JBIG2, CCITT and TIFF, and decoding and encoding PNG

Feature Support

Images

  • ✅ CCITT (G3, G4)
  • ✅ JBIG2
  • ✅ JPEG
  • ✅ JPEG 2000 (JPX)

Stream Filters

  • ✅ Flate
  • ✅ LZW
  • ✅ ASCII Hex
  • ✅ ASCII 85
  • ✅ Run Length
  • ✅ Predictors
  • ✅ Crypt

Fonts

  • ✅ Type 1 (PostScript)
  • ✅ Type 3 (User-defined)
  • ✅ TrueType
  • ✅ OpenType
  • ✅ CID Fonts

Shading

  • ✅ Type 1 — Function-based
  • ✅ Type 2 — Axial
  • ✅ Type 3 — Radial
  • ✅ Type 4 — Free-form Gouraud triangle mesh
  • ✅ Type 5 — Lattice-form Gouraud triangle mesh
  • ✅ Type 6 — Coons patch mesh
  • ✅ Type 7 — Tensor-product patch mesh

Functions

  • ✅ Type 0 — Sampled
  • ✅ Type 2 — Exponential interpolation
  • ✅ Type 3 — Stitching
  • ✅ Type 4 — PostScript calculator

Color Management

  • ✅ DeviceGray, DeviceRGB, DeviceCMYK
  • ✅ CalGray, CalRGB, Lab
  • ✅ ICC profiles (v2, v4)
  • ✅ Indexed
  • ✅ Separation, DeviceN
  • ✅ Pattern

Encryption

  • ✅ RC4 40–128-bit (R2–R4)
  • ✅ AES-128 (R4)
  • ✅ AES-256 (R5, R6)
  • ✅ Crypt filters
  • 🔲 Public-key security handler (Adobe.PubSec) (planned; decryption requires the recipient's certificate and private key, not available in Browser WASM)
  • ❌ Proprietary DRM security handlers (e.g. Adobe LiveCycle Rights Management, Microsoft IRM; keys are issued by the vendor's server)

Annotations

  • ✅ Text
  • ✅ Line, Square, Circle, Polygon, PolyLine
  • ✅ Highlight, Underline, Squiggly, StrikeOut
  • ✅ Ink
  • ✅ Link
  • ✅ Popup
  • ✅ File Attachment
  • ✅ Stamp
  • ✅ Caret
  • ✅ FreeText
  • ✅ Redact
  • 🔲 Widget (AcroForm) (planned)
  • ❌ Sound, Movie, Screen, 3D

Interactive & Scripting

  • ✅ Text Extraction
  • ✅ Outlines (bookmarks)
  • ✅ Optional content (layers)
  • ✅ Article threads
  • ✅ Attachments
  • 🔲 Portable collections (PDF Portfolios)
  • 🔲 Presentation mode (page transitions, automatic advance and sub-page navigation)
  • 🔲 JavaScript (through an external handler)
  • ❌ XFA

Actions

  • ✅ GoTo, GoToR (local and remote destinations, including structure destinations)
  • ✅ GoToE (embedded go-to: the path through parent and child documents, by embedded file name or file attachment annotation)
  • ✅ URI
  • ✅ Launch (file specification and Windows launch parameters)
  • ✅ Named (NextPage, PrevPage, FirstPage, LastPage; other names are exposed as written)
  • ✅ SetOCGState
  • ✅ Thread
  • ⚠️ Hide (annotation targets; form field targets planned with AcroForm)
  • ✅ Action chains (/Next)
  • ✅ Triggers: document open, page open and close, outline items, link annotations
  • 🔲 Widget annotation triggers (planned with AcroForm)
  • 🔲 SubmitForm, ResetForm, ImportData (planned with AcroForm)
  • 🔲 GoToDp (planned with document parts)
  • 🔲 Trans (planned with presentation mode)
  • 🔲 JavaScript (planned with an external handler)
  • ❌ Sound, Movie, Rendition, GoTo3DView, RichMediaExecute

Viewer (PdfPanel)

Feature Core (PdfPanel) WPF Web WinForms Avalonia MAUI
Content rendering ✅ ✅ ✅ ❌ ❌ ❌
Annotation rendering ✅ ✅ ✅ ❌ ❌ ❌
User graphics ✅ ✅ ✅ (overlay canvas) ❌ ❌ ❌
GPU rendering — ✅ OpenGL ✅ WebGL ❌ ❌ ❌
View manipulation (zoom, scroll, rotation) ✅ ✅ ✅ ❌ ❌ ❌
Page layout ✅ ✅ ❌ ❌ ❌ ❌
Presentation mode ❌ ❌ ❌ ❌ ❌ ❌
Thumbnails ✅ ✅ ✅ ❌ ❌ ❌
Page labels ✅ ✅ ✅ ❌ ❌ ❌
Text selection ✅ ✅ ✅ ❌ ❌ ❌
Content extraction ✅ ✅ ✅ ❌ ❌ ❌
Text search ✅ ✅ ✅ ❌ ❌ ❌
Content interaction (hover, image selection) ✅ ✅ ✅ ❌ ❌ ❌
Annotation interaction (popups, hover) ✅ ✅ ✅ ❌ ❌ ❌
Same-document navigation (links, destinations) ✅ ✅ ✅ ❌ ❌ ❌
Host-handled actions (URI, GoToR, …) ✅ ✅ ⚠️ (GoToE not supported) ❌ ❌ ❌
Interactive forms ❌ ❌ ❌ ❌ ❌ ❌
Optional content / layers ✅ ✅ ✅ ❌ ❌ ❌
Outlines / bookmarks ✅ ✅ ✅ ❌ ❌ ❌
File attachments ✅ ✅ ✅ ❌ ❌ ❌

Release Plan

Stage 1 ✅

  • Bug fixes, complete TODOs
  • Add Examples project
  • Release NuGet packages:
    • PdfPixel
    • PdfPixel.Color
    • PdfPixel.Fonts
    • PdfPixel.PostScript
    • PdfPixel.Ccitt
    • PdfPixel.Jpg
    • PdfPixel.Jpx
    • PdfPixel.Jbig2

Stage 2 ✅

  • Finalize PdfPixel.PdfPanel and demo projects for WPF and WASM (Web)
  • Stage 2 bug fixes
  • Implement text extraction and text selection
  • Implement PdfPixel.Tiff
  • Documentation
  • Release NuGet packages:
    • PdfPixel.Tiff
    • PdfPixel.PdfPanel
    • PdfPixel.PdfPanel.Wpf
    • PdfPixel.PdfPanel.Web

Stage 3

  • Add AcroForm / Widget annotation support
  • Add digital signature reading and verification: signature fields and dictionaries (/V, /Lock, /SV), /Perms (DocMDP, UR3) and /DSS validation data
  • Add AESV4 crypt filter (ISO/TS 32003) and integrity protection (ISO/TS 32004)
  • Add presentation mode, viewer preferences and page boundary display: page transitions (/Trans, transition actions), sub-page navigation (/PresSteps), automatic advance (/Dur), /ViewerPreferences and /BoxColorInfo
  • Add portable collections (PDF Portfolios): /Collection (schema, sort, folders, initial document) and collection items (/CI)
  • Add document parts: /DPartRoot hierarchy (page ranges, /DPM metadata) and the GoToDp action
  • Add WinForms, Avalonia and MAUI support
  • Investigate rich text (RC) and default style strings (DS) for FreeText and fields: support or drop
  • Unit tests with full test coverage

License

PDF Pixel is licensed under the MIT License. Bundled third-party resources keep their own licenses, each recorded next to the project that embeds it:

Every package carries the notices for the assemblies it ships, under notices/.

About

Resources

Contributing

Security policy

Stars

34 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages