ZimReaderSharp 1.0.0
dotnet add package ZimReaderSharp --version 1.0.0
NuGet\Install-Package ZimReaderSharp -Version 1.0.0
<PackageReference Include="ZimReaderSharp" Version="1.0.0" />
paket add ZimReaderSharp --version 1.0.0
#r "nuget: ZimReaderSharp, 1.0.0"
// Install ZimReaderSharp as a Cake Addin #addin nuget:?package=ZimReaderSharp&version=1.0.0 // Install ZimReaderSharp as a Cake Tool #tool nuget:?package=ZimReaderSharp&version=1.0.0
ZimReaderSharp - A Robust Library for reading ZIM files
ZimReaderSharp
provides a streamlined interface to efficiently read and handle ZIM files. With support for multiple compression types—including BZip2, LZMA, and ZStd—this library prioritizes performance, loading only necessary data on-the-fly for rapid startup.
Installation
To incorporate ZimReaderSharp into your project, choose one of the following methods:
.NET CLI
dotnet add package ZimReaderSharp
NuGet Package Manager
Install-Package ZimReaderSharp
For detailed package information, visit ZimReaderSharp on NuGet.
Key Usages
The main class ZimFile
offers an interface for accessing all the entries in a given ZIM file. You can either iterate over them, retrieve them by URL or by retrieve them by index.
Given a returned Entry, it has the following properties:
Format
: An object containing all the metadata for a given entry:Namespace
,Revision
,Url
,Title
,Parameter
.Index
: The index of the entry in the file.IsRedirect
: If the user requested to not follow redirects, then this flag will be true and data will be null.Data
: A byte[] containing the data of the entryMime
: A string representation of the mime type.
Sample usage
Here is an example to read all the HTML entries in a given ZIM file:
string filename = "wikipedia_en_all_nopic_2023-06.zim";
using var zimFile = new ZimFile(filename);
foreach (var (index, mime) in zimFile.IterateArticles()) {
if (mime == "text/html") {
var entry = zimFile.GetArticleByIndex(index, fFollowRedirect: false);
if (entry.IsRedirect) continue;
string html = Encoding.UTF8.GetString(entry.Data);
}
}
Or, here is an example to get an entry by a URL:
string filename = "wikipedia_en_all_nopic_2023-06.zim";
using var zimFile = new ZimFile(filename);
var entry = zimFile.GetEntryByUrl('A', "some_url");
Console.WriteLine(entry.Format.Title);
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | 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 was computed. 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. |
-
net6.0
- DotNext (>= 4.15.0)
- SharpCompress (>= 0.34.1)
- ZstdNet (>= 1.4.5)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.0.0 | 180 | 11/25/2023 |