導入

Aspose.Words FOSS for .NET が利用可能になりました: Microsoft Word のインストール不要で、純粋な C# で Word 文書の作成、読み取り、編集を行う無料のオープンソース .NET ライブラリです。テンプレートからレポートやレターを生成したり、既存の .docx ファイルからコンテンツを読み取って再構築したり、処理パイプラインの一部として Word 文書を Markdown やプレーンテキストに変換したりする開発者を対象としており、商用 SDK のライセンスを取得する必要はありません。

このライブラリは MIT ライセンスでリリースされており、ネイティブ依存性はありません — すべてがマネージドコードで実行されます。.NET Standard 2.0 を対象としているため、.NET Framework 4.6.2 以降および .NET 6、8、10 上で、Windows、Linux、macOS で動作します。NuGet でインストールするか、単一の dotnet build コマンドでソースからライブラリをビルドできます(以下のクイックスタートをご参照ください)。

このライブラリが一般的な新しいオープンソース文書ライブラリと異なる点は、書き直しやラッパーではないことです。Aspose.Words FOSS for .NET は本物の Aspose.Words コードベースであり、2003 年から本番環境で Word 文書を処理してきた同じ文書エンジンを、無料の MIT ライセンスコアに縮小したものです。このエディションでは機能が足りず、ページレイアウトやレンダリング、追加のフォーマットコンバータが必要な開発者は、コードを書き直すことなく商用の Aspose.Words for .NET に移行できます。なぜなら、基盤となる API は同一だからです。


主な機能

文書の作成と編集

new Document() と高レベルの DocumentBuilder を使用してゼロから文書を構築するか、new Document(fileName) で既存の .docx ファイルを開きます。DocumentBuilderWrite()Writeln()InsertParagraph()InsertBreak() といったシーケンシャルな執筆手法を提供し、挿入時にコンテンツに適用される書式プロパティ(FontParagraphFormatPageSetup)も備えています。低レベルのアクセスが必要な場合は、SectionParagraphRunTable ノードを直接たどるか、DocumentVisitor をサブクラス化してすべてのノードタイプを一括で処理できます。

表とリスト

テーブルは TableRowCell ノードから構築されます。Table.SetBorders()Table.SetShading()Table.AutoFit() はテーブル全体を一度にフォーマットし、Table.Rows と行単位の Cell アクセスにより細かい制御が可能です。番号付きリストと箇条書きリストは ListCollectionListFormat を通じて処理され、ListFormat.ApplyBulletDefault() または ApplyNumberDefault() で組み込みスタイルを適用するか、ListCollection.Add() でカスタムリスト定義を登録します。

変更履歴の追跡と文書保護

編集前に Document.StartTrackRevisions() を呼び出して挿入、削除、書式変更を記録し、RevisionCollectionAcceptAll()RejectAll()Accept(criteria)Reject(criteria))を通じてそれらを検査、受諾、または却下し、または Document.AcceptAllRevisions() で一括受諾します。Document.Protect()DocumentSecurity 列挙型(ReadOnlyEnforcedReadOnlyRecommendedPasswordProtected および関連値)を使用してパスワード保護または読み取り専用の強制を適用し、Document.Unprotect() でそれを解除します。

フィールド、マクロ、デジタル署名

フィールド評価エンジンは、FieldDateDATE フィールド)や FieldDocPropertyDOCPROPERTY フィールド)などのフィールドを Document.UpdateFields() を通じてその場で更新します――ページ番号などページレイアウトに依存するフィールドは、このエディションにはページレイアウトが含まれないためプレースホルダー値として評価されます。DOCM と DOTM ファイルは VBA プロジェクトを保持したまま往復できます。既存のデジタル署名は DigitalSignatureCollectionDigitalSignatureIsValidSubjectNameIssuerNameSignTime)を通じて検査でき、文書が署名されていて改ざんされていないかを確認できます;新しい署名の作成はこのエディションの対象外です。

チャート

DocumentBuilder.InsertChart() を使用して文書にチャートを挿入し、返された Chart オブジェクトを介してデータ系列を構成します。

using Aspose.Words;
using Aspose.Words.Drawing.Charts;

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

Shape shape = builder.InsertChart(ChartType.Line, 432, 252);
Chart chart = shape.Chart;

// Delete default generated series.
chart.Series.Clear();

string[] categories = new string[] { "AW Category 1", "AW Category 2", "AW Category 3" };
chart.Series.Add("AW Series 1", categories, new double[] { 4.3, 2.5, 3.5 });

doc.Save("chart.docx");

クイックスタート

Aspose.Words FOSS for .NET は NuGet を通じて利用可能です:

dotnet add package Aspose.Words.FOSS

代わりにソースからビルドするには:

git clone https://github.com/aspose-words-foss/Aspose.Words-FOSS-for-.NET.git
cd Aspose.Words-FOSS-for-.NET
dotnet build Aspose.Words.sln -c Release

次に、アプリケーションから Aspose.Words.csproj へのプロジェクト参照を追加します。参照が設定されたら、チャート付きのドキュメントを作成し、DOCX に保存します:

using Aspose.Words;
using Aspose.Words.Drawing.Charts;

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

Shape shape = builder.InsertChart(ChartType.Line, 432, 252);
Chart chart = shape.Chart;

// Delete default generated series.
chart.Series.Clear();

string[] categories = new string[] { "AW Category 1", "AW Category 2", "AW Category 3" };
chart.Series.Add("AW Series 1", categories, new double[] { 4.3, 2.5, 3.5 });

doc.Save("chart.docx");
Console.WriteLine("Saved chart.docx");

サポートされている形式

フォーマット拡張子読み込み書き込み
DOCX.docx
DOCM.docm
DOTX.dotx
DOTM.dotm
フラット OPC (すべてのバリエーション)(さまざま)
Markdown.md
Text.txt

このエディションは意図的にページレイアウトとレンダリングを除外しています — PDF、XPS、画像エクスポートはなく、印刷もサポートされません。そのため、ページ番号などのレイアウト依存フィールド値は計算されずプレースホルダーとして評価されます。追加のフォーマットコンバータ(DOC、RTF、ODT、HTML、EPUB、MHTML、MOBI、AZW3、そして WordML)は読み書きできず、メールマージ実行、LINQ Reporting、文書比較、新しいデジタル署名の作成、埋め込みフォントのサブセット化も含まれていません。これらは、エディションを無料に保つために商用コードベースから削除されたのと同じサブシステムです。


オープンソース & ライセンス

Aspose.Words FOSS for .NET は MIT ライセンスの下でリリースされており、商用・個人利用ともにロイヤリティや再配布制限なしで無料です。完全なソースは GitHub の Aspose.Words FOSS for .NET リポジトリ にあります。


はじめに

関連リソース