Nedev.FileConverters.DocxToDoc 0.1.0

dotnet add package Nedev.FileConverters.DocxToDoc --version 0.1.0
                    
NuGet\Install-Package Nedev.FileConverters.DocxToDoc -Version 0.1.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Nedev.FileConverters.DocxToDoc" Version="0.1.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Nedev.FileConverters.DocxToDoc" Version="0.1.0" />
                    
Directory.Packages.props
<PackageReference Include="Nedev.FileConverters.DocxToDoc" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Nedev.FileConverters.DocxToDoc --version 0.1.0
                    
#r "nuget: Nedev.FileConverters.DocxToDoc, 0.1.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Nedev.FileConverters.DocxToDoc@0.1.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Nedev.FileConverters.DocxToDoc&version=0.1.0
                    
Install as a Cake Addin
#tool nuget:?package=Nedev.FileConverters.DocxToDoc&version=0.1.0
                    
Install as a Cake Tool

Nedev.FileConverters.DocxToDoc

A high-performance .NET library for converting OpenXML .docx documents to legacy binary .doc format. The package targets .NET 8.0 and .NET Standard 2.1 and exposes both a reusable class library and a simple command‑line interface (CLI).

Prerequisite: the library depends on Nedev.FileConverters.Core for shared utilities. The CLI project references the library, so installing the main package transitively brings in the core dependency.


Features

  • Fast, zero-external‑dependency conversion from .docx to .doc.
  • Supports large documents with minimal memory overhead.
  • Multi‑targeted for broad platform support.
  • Includes an MIT‑licensed CLI for batch processing or scripting.
  • Packaged with rich metadata (README & LICENSE) for NuGet.

Feature completeness

The converter implements the following capabilities:

Area Status
Paragraphs and runs ✅ Complete
Tables ✅ Complete
Styles and fonts ✅ Complete
Sections and headers/footers ✅ Complete
Numbering and lists ✅ Complete
Images (embedded) ⚠️ Partial (extracted but not re‑embedded in DOC)
Complex fields (TOC, hyperlinks) ⚠️ Partial

This project aims to faithfully represent most common Word constructs; however, very advanced features such as smart art, equations or macros are not supported. Contributions to expand coverage are welcome.


Installation

Use NuGet to install the library in your project:

dotnet add package Nedev.FileConverters.DocxToDoc --version 0.1.0

or add the package reference directly to your .csproj:

<PackageReference Include="Nedev.FileConverters.DocxToDoc" Version="0.1.0" />

The Nedev.FileConverters.Core dependency will be resolved automatically.


Library Usage

using Nedev.FileConverters.DocxToDoc;

// convert files on disk
var converter = new DocxToDocConverter();
converter.Convert("input.docx", "output.doc");

// or work with streams
using var inStream = File.OpenRead("input.docx");
using var outStream = File.Create("output.doc");
converter.Convert(inStream, outStream);

The converter throws ArgumentNullException for invalid paths and wraps I/O exceptions for other failures.


CLI Usage

The CLI is a thin wrapper around the library. Build it with:

cd src\Nedev.FileConverters.DocxToDoc.Cli
dotnet build -c Release

Run directly from the build output:

dotnet bin\Release\net8.0\Nedev.FileConverters.DocxToDoc.Cli.dll <input.docx> <output.doc>

It returns 0 on success, non‑zero codes for missing arguments or errors. Use -h or --help to display usage.


Development

Clone the repo and open it in Visual Studio or VS Code.

git clone <repository-url>
cd Nedev.FileConverters.DocxToDoc
dotnet restore

Projects are located under src/:

  • Nedev.FileConverters.DocxToDoc – core library
  • Nedev.FileConverters.DocxToDoc.Cli – executable frontend
  • Nedev.FileConverters.DocxToDoc.Tests – unit tests (xUnit)

Run tests with dotnet test.


Packaging

A .nuspec file is not required; dotnet pack already includes README and LICENSE. Example:

dotnet pack src\Nedev.FileConverters.DocxToDoc\Nedev.FileConverters.DocxToDoc.csproj -c Release -o nupkg

The resulting package is versioned 0.1.0 and can be pushed to NuGet.org.


License

This project is licensed under the MIT License – see LICENSE for details.


Contributing

Contributions are welcome! Please fork the repo, make changes on a feature branch, and open a pull request. Adhere to the existing coding style and update tests as appropriate.


Author

Developed by Nedev – feel free to reach out on GitHub with issues or suggestions.

Product 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 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 netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.1 is compatible. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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
0.1.0 91 3/6/2026