PdfPig.Filters.Jpx.OpenJpeg
0.1.12.1
dotnet add package PdfPig.Filters.Jpx.OpenJpeg --version 0.1.12.1
NuGet\Install-Package PdfPig.Filters.Jpx.OpenJpeg -Version 0.1.12.1
<PackageReference Include="PdfPig.Filters.Jpx.OpenJpeg" Version="0.1.12.1" />
<PackageVersion Include="PdfPig.Filters.Jpx.OpenJpeg" Version="0.1.12.1" />
<PackageReference Include="PdfPig.Filters.Jpx.OpenJpeg" />
paket add PdfPig.Filters.Jpx.OpenJpeg --version 0.1.12.1
#r "nuget: PdfPig.Filters.Jpx.OpenJpeg, 0.1.12.1"
#:package PdfPig.Filters.Jpx.OpenJpeg@0.1.12.1
#addin nuget:?package=PdfPig.Filters.Jpx.OpenJpeg&version=0.1.12.1
#tool nuget:?package=PdfPig.Filters.Jpx.OpenJpeg&version=0.1.12.1
UglyToad.PdfPig.Filters.Jpx.OpenJpeg
PdfPig implementation of the JPX (Jpeg2000) filter, based on OpenJPEG.net
Other filters
- JPX filter alternative approach available here: https://github.com/BobLd/UglyToad.PdfPig.Filters.Jpx.OpenJpegDotNet
- DCT filter available here: https://github.com/BobLd/UglyToad.PdfPig.Filters.Dct.JpegLibrary
- JBIG2 filter available here: https://github.com/BobLd/UglyToad.PdfPig.Filters.Jbig2.PdfboxJbig2
Usage
// Create your filter provider
public sealed class MyFilterProvider : BaseFilterProvider
{
/// <summary>
/// The single instance of this provider.
/// </summary>
public static readonly IFilterProvider Instance = new MyFilterProvider();
/// <inheritdoc/>
private MyFilterProvider() : base(GetDictionary())
{
}
private static Dictionary<string, IFilter> GetDictionary()
{
var ascii85 = new Ascii85Filter();
var asciiHex = new AsciiHexDecodeFilter();
var ccitt = new CcittFaxDecodeFilter();
var dct = new DctDecodeFilter();
var flate = new FlateFilter();
var jbig2 = new Jbig2DecodeFilter();
var jpx = new OpenJpegJpxDecodeFilter(); // new filter
var runLength = new RunLengthFilter();
var lzw = new LzwFilter();
return new Dictionary<string, IFilter>
{
{ NameToken.Ascii85Decode.Data, ascii85 },
{ NameToken.Ascii85DecodeAbbreviation.Data, ascii85 },
{ NameToken.AsciiHexDecode.Data, asciiHex },
{ NameToken.AsciiHexDecodeAbbreviation.Data, asciiHex },
{ NameToken.CcittfaxDecode.Data, ccitt },
{ NameToken.CcittfaxDecodeAbbreviation.Data, ccitt },
{ NameToken.DctDecode.Data, dct }, // new filter
{ NameToken.DctDecodeAbbreviation.Data, dct },
{ NameToken.FlateDecode.Data, flate },
{ NameToken.FlateDecodeAbbreviation.Data, flate },
{ NameToken.Jbig2Decode.Data, jbig2 },
{ NameToken.JpxDecode.Data, jpx },
{ NameToken.RunLengthDecode.Data, runLength },
{ NameToken.RunLengthDecodeAbbreviation.Data, runLength },
{ NameToken.LzwDecode.Data, lzw },
{ NameToken.LzwDecodeAbbreviation.Data, lzw }
};
}
}
var parsingOption = new ParsingOptions()
{
UseLenientParsing = true,
SkipMissingFonts = true,
FilterProvider = MyFilterProvider.Instance
};
using (var doc = PdfDocument.Open("test.pdf", parsingOption))
{
int i = 0;
foreach (var page in doc.GetPages())
{
foreach (var pdfImage in page.GetImages())
{
Assert.True(pdfImage.TryGetPng(out var bytes));
File.WriteAllBytes($"image_{i++}.png", bytes);
}
}
}
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 is compatible. 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 is compatible. 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. |
NuGet packages (3)
Showing the top 3 NuGet packages that depend on PdfPig.Filters.Jpx.OpenJpeg:
| Package | Downloads |
|---|---|
|
PdfPig.Rendering.Skia
Render pdf documents as images using PdfPig and SkiaSharp. |
|
|
AgentSdk
A .NET SDK for building AI agent workflows using Microsoft Agent Framework (MAF) and Azure AI Foundry. Provides workflow orchestration, agent factories, vector store management, and OpenTelemetry integration. |
|
|
AgentSdk.Pdf
PDF processing extensions for Cyclotron.Maf.AgentSdk. Provides PDF image extraction, content analysis, and markdown conversion using PdfPig. Supports vision model integration and document workflow orchestration. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.1.12.1 | 23,474 | 11/13/2025 |
| 0.1.11.3 | 16,841 | 9/16/2025 |
| 0.1.11.2 | 12,098 | 7/27/2025 |
| 0.1.11-alpha001 | 3,661 | 6/7/2025 |