Scrubkit.LegacyOffice
2.1.0
Prefix Reserved
dotnet add package Scrubkit.LegacyOffice --version 2.1.0
NuGet\Install-Package Scrubkit.LegacyOffice -Version 2.1.0
<PackageReference Include="Scrubkit.LegacyOffice" Version="2.1.0" />
<PackageVersion Include="Scrubkit.LegacyOffice" Version="2.1.0" />
<PackageReference Include="Scrubkit.LegacyOffice" />
paket add Scrubkit.LegacyOffice --version 2.1.0
#r "nuget: Scrubkit.LegacyOffice, 2.1.0"
#:package Scrubkit.LegacyOffice@2.1.0
#addin nuget:?package=Scrubkit.LegacyOffice&version=2.1.0
#tool nuget:?package=Scrubkit.LegacyOffice&version=2.1.0
Scrubkit.LegacyOffice
An add-on IFileExtractor for
Scrubkit that reads the pre-2007 binary
Microsoft Office formats — Word .doc, Excel .xls, and PowerPoint .ppt —
fully offline, with no dependencies beyond Scrubkit.Abstractions.
- Body → text — Word paragraphs, Excel cell strings, PowerPoint slide/notes text.
- Properties → metadata —
Title,Author,Subjectfrom the document'sSummaryInformation. - Zero-dependency — the OLE2 compound file and each format's streams (Word FIB + piece
table, Excel
SST/LABELSST, PowerPoint text atoms) are parsed with the BCL.
The modern OOXML formats (
.docx/.xlsx/.pptx) are handled by the Scrubkit core — this package is only for the old binary formats.
Install
dotnet add package Scrubkit.LegacyOffice
Use it
Register the extractor via ReadOptions.Extractors. Registered extractors are tried before
the built-ins, so .doc/.xls/.ppt files are routed here:
using Scrubkit;
var options = new ReadOptions();
options.Extractors.Add(new LegacyOfficeExtractor());
var scrubber = new FolderScrubber(options);
foreach (var r in await scrubber.ReadAsync(@"C:\Docs"))
Console.WriteLine($"{r.Name} — {r.Metadata.GetValueOrDefault("Title")} — {r.Text.Length} chars");
Scope
Reads .doc / .xls / .ppt (Office 97-2003). Parsing is best-effort, consistent
with Scrubkit's other extractors — it favors resilience over full-fidelity reproduction and
never throws to the batch (per-file problems surface as Warnings on the row). Rich
formatting, embedded objects, and encrypted files are out of scope; the goal is clean text
plus the core document properties. Each format's parser sits behind its own internal reader,
so one can be improved or swapped without changing this package's public surface.
License
| 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 is compatible. 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 is compatible. 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 was computed. 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. |
-
.NETStandard 2.0
- Scrubkit.Abstractions (>= 2.1.0)
-
net10.0
- Scrubkit.Abstractions (>= 2.1.0)
-
net8.0
- Scrubkit.Abstractions (>= 2.1.0)
-
net9.0
- Scrubkit.Abstractions (>= 2.1.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Scrubkit.LegacyOffice:
| Package | Downloads |
|---|---|
|
Scrubkit.All
Convenience meta-package that references the entire Scrubkit family: core engine, PDF extractor, Image EXIF extractor, email (.eml/.msg), OpenDocument, .epub, legacy binary Office (.doc/.xls/.ppt), Parquet, DI integration, Microsoft.Extensions.AI, and Semantic Kernel. Ships .AddAllExtractors() auto-registration. |
GitHub repositories
This package is not used by any popular GitHub repositories.
2.1.0 — Multi-Targeting Expansion & Tool Enhancements. Added explicit .NET 9.0 (STS) alongside .NET 8.0 (LTS), .NET 10.0, and .NET Standard 2.0 across all 14 packages; enabled Scrubkit.Pdf and Scrubkit.Images out of the box in Scrubkit.Tool CLI; updated test suites and docs. Full changelog: https://github.com/jjopensoftworks-blip/Scrubkit/blob/main/CHANGELOG.md