/pdf-clown

https://sourceforge.net/projects/clown/ mirror

Primary LanguageC#

Pdf Clown - Skia Sharp

https://sourceforge.net/projects/clown/ mirror.

Fork Task

Status

  • Successfully render Pdf on 'SkiaSharp.SKCanvas'

    • Basic painting reguired just replace System.Drawing by SkiaSharp, thanks to author Stefano Chizzolini
    • New mandatory features of SkiaSharp(for Blazor, Tiling, Image Mask, Gradient and Patch shaders) by mattleibow
    • XObject Masking by warappa
  • Change Code amd Docs formatting

  • Rendering and Editing Pdf Annotations

  • Move core projects to .net6 (Blazor on .net8)

  • Performance improvements

    • PdfName cached globbaly
    • Suppress reflections invocation
    • PdfObjects Wrappers caching
    • Force use of Memory<byte>, Span<byte>
  • Fonts, Encryption, Functions, Shadings by integrate Apache PdfBox Project from mirror.

    • Source code translated from java to C#
    • Full Fonts processing & text rendering engine
    • LZW, CCITTFax and other fixes of Images loading engine
    • Decryption
    • Signature Fields - basic models
    • Functions 0-4
    • Shaders 4, 5, 6
  • Images and ColorSpaces by integrate Mozilla Pdf.js

    • Source code translated from js to C#
    • JPX, CCITTFax, JBIG2 - decoding

TODO

  • Release Nuget packages (maybe PdfClown.Skia, PdfClown.Skia.UI.Core, PdfClown.Skia.UI.Blazor)
  • Rendering
    • Try to move from SKPicture to to SKImage with rescan on each scale change, without in-memory bitmaps caching(maybe tempFile cache or redecoding)
    • Streaming Decoding and optimization
    • Masking won't work correctly after my refactoring
  • Encryption.
    • Encryption not tested
    • Public key Certificat - requer completly rework PdfBox solution
    • Digital Signature