Scrubkit.LegacyOffice
1.12.0
Prefix Reserved
dotnet add package Scrubkit.LegacyOffice --version 1.12.0
NuGet\Install-Package Scrubkit.LegacyOffice -Version 1.12.0
<PackageReference Include="Scrubkit.LegacyOffice" Version="1.12.0" />
<PackageVersion Include="Scrubkit.LegacyOffice" Version="1.12.0" />
<PackageReference Include="Scrubkit.LegacyOffice" />
paket add Scrubkit.LegacyOffice --version 1.12.0
#r "nuget: Scrubkit.LegacyOffice, 1.12.0"
#:package Scrubkit.LegacyOffice@1.12.0
#addin nuget:?package=Scrubkit.LegacyOffice&version=1.12.0
#tool nuget:?package=Scrubkit.LegacyOffice&version=1.12.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 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 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 (>= 1.12.0)
-
net10.0
- Scrubkit.Abstractions (>= 1.12.0)
-
net8.0
- Scrubkit.Abstractions (>= 1.12.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: the core (PDF/Office/text/image EXIF + CSV/JSON output), the extractor add-ons (.eml/.msg email, OpenDocument, .epub, legacy binary Office .doc/.xls/.ppt), the AddScrubkit dependency-injection integration, the Microsoft.Extensions.AI local redaction integration, the Semantic Kernel vector store integration, and — on net8.0/net10.0 — Parquet output. Install this to get everything out of the box; install the individual packages instead if you want a lean footprint. No code of its own. |
GitHub repositories
This package is not used by any popular GitHub repositories.
1.11.0 — Platform Expansion. Added .NET 10.0 (LTS) target framework support across all Scrubkit library packages, integration extensions, CLI tool, and test suites alongside net8.0 and netstandard2.0. Full changelog: https://github.com/jjopensoftworks-blip/Scrubkit/blob/main/CHANGELOG.md