チュートリアル
簡単にライブラリーを使用するためのチュートリアルコレクション
Spire.Doc for Python は、開発者が Word 文書の作成、読み取り、書き込み、変換、比較を迅速かつ高品質に行うために特別に設計された専門的な Word Python API です。
独立した Word Python API として、Spire.Doc for Python は開発環境やターゲットシステムに Microsoft Word のインストールを必要としません。ただし、Microsoft Word の文書作成機能を Python アプリケーションに組み込むことができます。
Excel ワークブックから冗長または未使用のワークシートを削除することで、組織の効率を向上させることができます。このプロセスにより、不要なワークシートを排除し、ファイル構造を改善し、最も関連性の高いデータに集中することができます。不要なワークシートを削除すると、ストレージスペースが解放され、ナビゲーションが簡素化され、ワークブックがクリーンで効率的になります。
この記事では、Spire.XLS for .NET ライブラリを使用して、C# で Excel ワークブックからワークシートを削除する方法を説明します。
まず、Spire.XLS for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.XLS
Spire.XLS for .NET は、ワークブックから特定のインデックスによってワークシートを削除するための WorksheetsCollection.RemoveAt(int index) メソッドを提供します。詳細な手順は以下の通りです:
using Spire.Xls;
using Spire.Xls.Collections;
namespace RemoveWorksheetByIndex
{
class Program
{
static void Main(string[] args)
{
// Workbookインスタンスを作成
Workbook workbook = new Workbook();
// Excelファイルを読み込む
workbook.LoadFromFile("Sample.xlsx");
// ドキュメントからワークシートコレクションを取得
WorksheetsCollection worksheets = workbook.Worksheets;
// インデックスで特定のワークシートを削除
worksheets.RemoveAt(0);
// ワークブックを別のExcelファイルに保存
workbook.SaveToFile("インデックスによるワークシートの削除.xlsx", ExcelVersion.Version2016);
// リソースを解放
workbook.Dispose();
}
}
}
削除したいワークシートの名前が既に分かっている場合は、WorksheetsCollection.Remove(string sheetName) メソッドを使用して削除できます。詳細な手順は以下の通りです:
using Spire.Xls;
using Spire.Xls.Collections;
namespace RemoveWorksheetByName
{
class Program
{
static void Main(string[] args)
{
// ワークブックオブジェクトを作成
Workbook wb = new Workbook();
// Excelファイルを読み込む
wb.LoadFromFile("Sample.xlsx");
// ドキュメントからワークシートコレクションを取得
WorksheetsCollection worksheets = wb.Worksheets;
// 名前で特定のワークシートを削除
worksheets.Remove("商品リスト");
// ワークブックを別のExcelファイルに保存
wb.SaveToFile("シート名によるワークシートの削除.xlsx", ExcelVersion.Version2016);
// リソースを解放
wb.Dispose();
}
}
}
一度にすべてのワークシートを削除するには、WorksheetsCollection.Clear() メソッドを使用できます。詳細な手順は以下の通りです:
using Spire.Xls;
using Spire.Xls.Collections;
namespace RemoveAllWorksheets
{
class Program
{
static void Main(string[] args)
{
// ワークブックオブジェクトを作成
Workbook wb = new Workbook();
// Excelファイルを読み込む
wb.LoadFromFile("Sample.xlsx");
// ドキュメントからワークシートコレクションを取得
WorksheetsCollection worksheets = wb.Worksheets;
// すべてのワークシートを削除
worksheets.Clear();
// ワークブックを別のExcelファイルに保存
wb.SaveToFile("すべてのワークシートを削除.xlsx", ExcelVersion.Version2016);
// リソースを解放
wb.Dispose();
}
}
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
Word 文書ページにとじしろを追加することで、文書のプロフェッショナリズムと美観を向上させることができます。とじしろは文書をより整然とした印象にするだけでなく、印刷時にガイドとしても機能し、読者が内容をナビゲートしやすくします。文書ページにとじしろを追加することで、物理的な文書で見られる一般的な製本ライン効果を模倣し、文書に印刷されたような品質を与えることができます。この記事では、C# プロジェクト内で Spire.Doc for .NET を使用して、Word 文書ページにとじしろを追加する方法を説明します。
まず、Spire.Doc for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.Doc
ページの上部にとじしろを有効にするには、section.PageSetup.IsTopGutter = true を設定します。デフォルトのとじしろエリアは空白でコンテンツが表示されません。この例では、とじしろエリア内にテキストを追加する方法も含まれています。以下は詳細な手順です。
using Spire.Doc;
using Spire.Doc.Documents;
using Spire.Doc.Fields;
using Spire.Doc.Formatting;
using System.Drawing;
using System.Text;
namespace SpireDocDemo
{
internal class Program
{
static void Main(string[] args)
{
// ドキュメントオブジェクトを作成
Document document = new Document();
// ドキュメントをロード
document.LoadFromFile("Sample.docx");
// ドキュメントの全セクションを繰り返し処理
for (int i = 0; i < document.Sections.Count; i++)
{
// 現在のセクションを取得
Section section = document.Sections[i];
// ページの上部にガターを追加するかどうかをtrueに設定
section.PageSetup.IsTopGutter = true;
// ガターの幅を100fに設定
section.PageSetup.Gutter = 100f;
// 上部ガターにテキストを追加するメソッドを呼び出す
AddTopGutterText(section);
}
// 修正されたドキュメントをファイルに保存
document.SaveToFile("上部とじしろの追加.docx", FileFormat.Docx2016);
// ドキュメントリソースを解放
document.Dispose();
}
// 上部ガターにテキストを追加するメソッド
static void AddTopGutterText(Section section)
{
// セクションのヘッダーを取得
HeaderFooter header = section.HeadersFooters.Header;
// テキストボックスの幅をページの幅に設定
float width = section.PageSetup.PageSize.Width;
// テキストボックスの高さを40に設定
float height = 40;
// ヘッダーにテキストボックスを追加
TextBox textBox = header.AddParagraph().AppendTextBox(width, height);
// テキストボックスの枠線をなしに設定
textBox.Format.NoLine = true;
// テキストボックスの垂直開始位置を上マージンエリアに設定
textBox.VerticalOrigin = VerticalOrigin.TopMarginArea;
// テキストボックスの垂直位置を設定
textBox.VerticalPosition = 140;
// テキストボックスの水平配置を左に設定
textBox.HorizontalAlignment = ShapeHorizontalAlignment.Left;
// テキストボックスの水平開始位置を左マージンエリアに設定
textBox.HorizontalOrigin = HorizontalOrigin.LeftMarginArea;
// テキストアンカーを下に設定
textBox.Format.TextAnchor = ShapeVerticalAlignment.Bottom;
// テキストの折り返しスタイルをテキストの前に設定
textBox.Format.TextWrappingStyle = TextWrappingStyle.InFrontOfText;
// テキストの折り返しタイプを両側に設定
textBox.Format.TextWrappingType = TextWrappingType.Both;
// パラグラフオブジェクトを作成
Paragraph paragraph = new Paragraph(section.Document);
// パラグラフを水平に中央揃えに設定
paragraph.Format.HorizontalAlignment = HorizontalAlignment.Center;
// フォントオブジェクトを作成
Font font = new Font("Yu Gothic UI", 8);
// ドローイングオブジェクトを作成
Graphics graphics = Graphics.FromImage(new Bitmap(1, 1));
string text1 = " - ";
SizeF size1 = graphics.MeasureString(text1, font);
float textWidth1 = size1.Width / 96 * 72;
int count = (int)(textBox.Width / textWidth1);
StringBuilder stringBuilder = new StringBuilder();
for (int i = 1; i < count; i++)
{
stringBuilder.Append(text1);
}
// 文字フォーマットオブジェクトを作成
CharacterFormat characterFormat = new CharacterFormat(section.Document);
characterFormat.FontName = font.Name;
characterFormat.FontSize = font.Size;
TextRange textRange = paragraph.AppendText(stringBuilder.ToString());
textRange.ApplyCharacterFormat(characterFormat);
// パラグラフをテキストボックスに追加
textBox.ChildObjects.Add(paragraph);
}
}
}
ページの左側にとじしろを設定するには、Section.PageSetup.IsTopGutter プロパティを false に設定する必要があります。以下は詳細な手順です。
using Spire.Doc;
using Spire.Doc.Documents;
using Spire.Doc.Fields;
using Spire.Doc.Formatting;
using System.Drawing;
using System.Text;
namespace SpireDocDemo
{
internal class Program
{
static void Main(string[] args)
{
// ドキュメントオブジェクトを作成
Document document = new Document();
// ドキュメントをロード
document.LoadFromFile("Sample.docx");
// ドキュメントの全セクションを繰り返し処理
for (int i = 0; i < document.Sections.Count; i++)
{
// 現在のセクションを取得
Section section = document.Sections[i];
// ページの上部にガターを追加するかどうかをfalseに設定。ガターはページの左側に追加される
section.PageSetup.IsTopGutter = false;
// ガターの幅を100fに設定
section.PageSetup.Gutter = 100f;
// 左側ガターにテキストを追加するメソッドを呼び出す
AddLeftGutterText(section);
}
// 修正されたドキュメントをファイルに保存
document.SaveToFile("左とじしろの追加.docx", FileFormat.Docx2016);
// ドキュメントリソースを解放
document.Dispose();
}
// 左側ガターにテキストを追加するメソッド
static void AddLeftGutterText(Section section)
{
// セクションのヘッダーを取得
HeaderFooter header = section.HeadersFooters.Header;
// テキストボックスの幅を40に設定
float width = 40;
// ページの高さを取得
float height = section.PageSetup.PageSize.Height;
// ヘッダーにテキストボックスを追加
TextBox textBox = header.AddParagraph().AppendTextBox(width, height);
// テキストボックスの枠線をなしに設定
textBox.Format.NoLine = true;
// テキストボックス内のテキスト方向を右から左に設定
textBox.Format.LayoutFlowAlt = TextDirection.RightToLeft;
// テキストボックスの水平開始位置を設定
textBox.HorizontalOrigin = HorizontalOrigin.LeftMarginArea;
// テキストボックスの水平位置を設定
textBox.HorizontalPosition = 140;
// テキストボックスの垂直配置を上に設定
textBox.VerticalAlignment = ShapeVerticalAlignment.Top;
// テキストボックスの垂直開始位置を上マージンエリアに設定
textBox.VerticalOrigin = VerticalOrigin.TopMarginArea;
// テキストアンカーを上に設定
textBox.Format.TextAnchor = ShapeVerticalAlignment.Top;
// テキストの折り返しスタイルをテキストの前に設定
textBox.Format.TextWrappingStyle = TextWrappingStyle.InFrontOfText;
// テキストの折り返しタイプを両側に設定
textBox.Format.TextWrappingType = TextWrappingType.Both;
// パラグラフオブジェクトを作成
Paragraph paragraph = new Paragraph(section.Document);
// パラグラフを水平に中央揃えに設定
paragraph.Format.HorizontalAlignment = HorizontalAlignment.Center;
// フォントオブジェクトを作成
Font font = new Font("Yu Gothic UI", 8);
// ドローイングオブジェクトを作成
Graphics graphics = Graphics.FromImage(new Bitmap(1, 1));
string text1 = " - ";
// テキストのサイズを測定
SizeF size1 = graphics.MeasureString(text1, font);
float textWidth1 = size1.Width / 96 * 72;
int count = (int)(textBox.Height / textWidth1);
StringBuilder stringBuilder = new StringBuilder();
for (int i = 1; i < count; i++)
{
stringBuilder.Append(text1);
}
// 文字フォーマットオブジェクトを作成
CharacterFormat characterFormat = new CharacterFormat(section.Document);
characterFormat.FontName = font.Name;
characterFormat.FontSize = font.Size;
TextRange textRange = paragraph.AppendText(stringBuilder.ToString());
textRange.ApplyCharacterFormat(characterFormat);
// パラグラフをテキストボックスに追加
textBox.ChildObjects.Add(paragraph);
}
}
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
Word 文書に編集権限領域を追加することで、特定のセクションを他のユーザーが編集できるようにし、それ以外の部分は誤って変更されるのを防ぐことができます。これは、共同作業文書や文書レビュー、コメントなどのシナリオに特に有用です。一方で、編集可能領域機能を削除することで、特定のセクションが編集される必要がない場合に文書を読み取り専用の状態に戻し、文書内容の整合性とセキュリティを確保できます。この記事では、C# プロジェクト内で Spire.Doc for .NET を使用して、Word 文書に編集可能領域を追加または削除する方法を説明します。
まず、Spire.Doc for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.Doc
Word 文書に編集可能領域を追加する手順は、文書内に PermissionStart および PermissionEnd オブジェクトを挿入し、文書を読み取り専用保護モードに設定して、指定された領域内のコンテンツが編集可能であることを確保しながら、それ以外の部分を読み取り専用に保つことです。以下は詳細な手順です:
using Spire.Doc;
using Spire.Doc.Documents;
namespace SpireDocDemo
{
internal class Program
{
static void Main(string[] args)
{
// 新しいドキュメントオブジェクトを作成する
Document document = new Document();
// 指定されたパスからドキュメントを読み込む
document.LoadFromFile("Sample.docx");
// ドキュメントの最初のセクションを取得する
Section section = document.Sections[0];
// 権限開始オブジェクトを作成する
PermissionStart permissionStart = new PermissionStart(document, "restricted1");
// 権限終了オブジェクトを作成する
PermissionEnd permissionEnd = new PermissionEnd(document, "restricted1");
// セクション内の2番目の段落を取得する
Paragraph paragraph = section.Paragraphs[1];
// 権限開始オブジェクトを段落の最初に挿入する
paragraph.ChildObjects.Insert(0, permissionStart);
// 権限終了オブジェクトを段落の最後に追加する
paragraph.ChildObjects.Add(permissionEnd);
// ドキュメントを読み取り専用に保護する
document.Protect(ProtectionType.AllowOnlyReading, "123456");
// 修正されたドキュメントを指定されたパスに保存する
document.SaveToFile("Word文書に編集許可領域を追加.docx", FileFormat.Docx);
// ドキュメントを閉じ、ドキュメントオブジェクトによって占有されているリソースを解放する
document.Close();
document.Dispose();
}
}
}
Word 文書から編集可能領域を削除するための重要な手順は、文書の各段落を反復処理し、PermissionStart および PermissionEnd オブジェクトを削除することです。以下は詳細な手順です:
using Spire.Doc;
using Spire.Doc.Documents;
namespace SpireDocDemo
{
internal class Program
{
static void Main(string[] args)
{
// 新しいドキュメントオブジェクトを作成する
Document document = new Document();
// 指定されたパスからドキュメントを読み込む
document.LoadFromFile("Word文書に編集許可領域を追加.docx");
// ドキュメントのセクションを反復処理する
for (int a = 0; a < document.Sections.Count; a++)
{
// 現在のセクションの本文を取得する
Body body = document.Sections[a].Body;
// 本文の子オブジェクトを反復処理する
for (int i = 0; i < body.ChildObjects.Count; i++)
{
// 子オブジェクトが段落かどうかを確認する
if (body.ChildObjects[i] is Paragraph)
{
// 現在の段落を取得する
Paragraph paragraph = (Paragraph)body.ChildObjects[i];
// 段落の最後の子オブジェクトから逆向きに反復処理する
for (int j = paragraph.ChildObjects.Count - 1; j >= 0; j--)
{
// 現在の子オブジェクトを取得する
DocumentObject documentObject = paragraph.ChildObjects[j];
// 現在の子オブジェクトが権限開始オブジェクトである場合は削除する
if (documentObject.DocumentObjectType == DocumentObjectType.PermissionStart)
{
paragraph.ChildObjects.RemoveAt(j);
}
// 現在の子オブジェクトが権限終了オブジェクトである場合は削除する
else if (documentObject.DocumentObjectType == DocumentObjectType.PermissionEnd)
{
paragraph.ChildObjects.RemoveAt(j);
}
}
}
}
}
// 修正されたドキュメントを指定されたパスに保存する
document.SaveToFile("Word文書の編集許可領域を削除.docx", FileFormat.Docx);
// ドキュメントを閉じ、ドキュメントオブジェクトによって占有されているリソースを解放する
document.Close();
document.Dispose();
}
}
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
皆様にお知らせです。Spire.Doc for Python、Spire.PDF for Python、Spire.XLS for Python、Spire.Presentation for Python、Spire.Barcode for Python そして Spire.Office for Python がウェブサイトにて公開されました。ダウンロードしてお試しください。弊社は、皆様の文書処理業務をより良くするために、今後も新製品を継続的に提供してまいります。
Spire.Office for Python は、Python プログラミング言語を使用してさまざまなファイル形式のドキュメントを処理するための強力で包括的なライブラリです。Spire.Doc for Python、Spire.XLS for Python、Spire.Presentation for Python、Spire.PDF for Python、Spire.Barcode for Python を含んでいます。
Spire.Doc for Python は、Python 向けのプロフェッショナルな Word 開発コンポーネントです。これを使用することで、開発者は Word 文書の作成、読み取り、編集、変換などの機能を簡単に自分の Python アプリケーションに統合することができます。
Spire.PDF for Python は、完全に独立した PDF 開発コンポーネントであり、Python プログラム内で PDF 文書の作成、読み取り、編集、変換、保存を行うことができます。開発者は Spire.PDF for Python ライブラリを使用して、新しい PDF 文書を作成したり、既存の PDF 文書を処理することができ、第三者ツールは一切必要ありません。
Spire.XLS for Python は、Python 向けのプロフェッショナルな Excel 開発コンポーネントであり、様々な Python プラットフォームに対応しています。Spire.XLS for Python は、テンプレートに基づいた新しい Excel 文書の作成、既存の Excel 文書の編集、Excel 文書の変換など、様々なプログラミング操作を Python プラットフォーム上で迅速に行うことができるオブジェクトモデル Excel 開発コンポーネントを提供します。
Spire.Presentation for Python は、PowerPoint と高度に互換性があり、スライドの管理、テキストと画像の追加、表とグラフの作成、ビデオとオーディオの挿入、プレゼンテーションの暗号化と復号、透かしの挿入、注釈の操作などの機能をサポートするプロフェッショナルなプレゼンテーション処理 API です。
Spire.Barcode for Python は、多機能なバーコード生成および認識ライブラリです。開発者は直感的な API を利用して、Python プログラムにバーコード機能を統合することができます。1D バーコードと 2D バーコードを含むさまざまなバーコード形式に対応しており、バーコードの生成、読み取り、およびスキャンのタスクを簡素化します。
メールアドレス:
複数のワークシートを含む Excel ファイルを扱うとき、いくつかのワークシートが不要になったり、異なる方法で整理する必要があることがあります。そのような場合、ワークシートを移動または削除してスプレッドシートをより適切に管理することができます。この記事では、Spire.XLS for .NET を使用して、C# で Excel ワークブックのワークシートを移動または削除する方法を説明します。
まず、Spire.XLS for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.XLS
Spire.XLS for .NET は、指定したインデックスによって Excel ワークシートを希望の位置に移動するために Worksheet.MoveWorksheet(int destIndex) メソッドを提供しています。詳細な手順は以下の通りです:
using Spire.Xls;
namespace MoveSheet
{
class Program
{
static void Main(string[] args)
{
// Workbookインスタンスを作成
Workbook workbook = new Workbook();
// Excelファイルを読み込む
workbook.LoadFromFile("Sample.xlsx");
// 最初のワークシートを取得
Worksheet sheet = workbook.Worksheets[0];
// ワークシートを3番目の位置に移動
sheet.MoveWorksheet(2);
// 結果ファイルを保存
workbook.SaveToFile("Excelワークシートの移動.xlsx", ExcelVersion.Version2016);
workbook.Dispose();
}
}
}
Workbook.Worksheets.RemoveAt(int index) または Workbook.Worksheets.Remove(string sheetName) メソッドを使用して、シートインデックスまたはシート名で特定のワークシートを Excel から削除できます。詳細な手順は以下の通りです:
using Spire.Xls;
namespace RemoveSheet
{
class Program
{
static void Main(string[] args)
{
// Workbookインスタンスを作成
Workbook workbook = new Workbook();
// Excelファイルを読み込む
workbook.LoadFromFile("Sample.xlsx");
// インデックスで特定のワークシートを削除
workbook.Worksheets.RemoveAt(0);
// 名前で特定のワークシートを削除
//workbook.Worksheets.Remove("売上予測");
// 結果ファイルを保存
workbook.SaveToFile("Excelワークシートの削除.xlsx", ExcelVersion.Version2016);
workbook.Dispose();
}
}
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
デジタル署名は、電子署名の一種で、デジタルドキュメントの真正性と整合性を確認するために使用できます。受信者は、デジタルドキュメントがどこから来たのか、署名後に第三者によって変更されていないかを確認できます。この記事では、C# で Spire.XLS for .NET を使用して、Excel ファイルにデジタル署名を追加または削除する方法を説明します。
まず、Spire.XLS for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.XLS
デジタル署名を追加することで、Excel ファイルの整合性を保護できます。デジタル署名が追加されると、ファイルは読み取り専用になり、さらなる編集を防ぎます。誰かがファイルを変更すると、デジタル署名は直ちに無効になります。
Spire.XLS for .NET は、Workbook クラスの AddDigitalSignature メソッドを提供しており、これを使用して Excel ファイルにデジタル署名を追加できます。手順は以下の通りです:
using Spire.Xls;
using Spire.Xls.Core.MergeSpreadsheet.Interfaces;
using System;
using System.Security.Cryptography.X509Certificates;
namespace AddSignatureInExcel
{
class Program
{
static void Main(string[] args)
{
// Workbookインスタンスを作成
Workbook workbook = new Workbook();
// Excelファイルを読み込む
workbook.LoadFromFile("Sample.xlsx");
// デジタル署名をファイルに追加
X509Certificate2 cert = new X509Certificate2("gary.pfx", "e-iceblue");
DateTime certtime = new DateTime(2020, 7, 1, 7, 10, 36);
IDigitalSignatures signature = workbook.AddDigitalSignature(cert, "e-iceblue", certtime);
// 結果ファイルを保存
workbook.SaveToFile("Excelに電子署名を追加.xlsx", FileFormat.Version2013);
workbook.Dispose();
}
}
}
Spire.XLS for .NET は、Workbook クラスの RemoveAllDigitalSignatures メソッドを提供しており、これを使用して Excel ファイルからデジタル署名を削除できます。手順は以下の通りです:
using Spire.Xls;
namespace DeleteSignatureInExcel
{
class Program
{
static void Main(string[] args)
{
// Workbookインスタンスを作成
Workbook workbook = new Workbook();
// Excelファイルを読み込む
workbook.LoadFromFile("Excelに電子署名を追加.xlsx");
// ファイル内の全てのデジタル署名を削除
workbook.RemoveAllDigitalSignatures();
// 結果ファイルを保存
workbook.SaveToFile("Excelから電子署名を削除.xlsx", FileFormat.Version2013);
workbook.Dispose();
}
}
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
Word ドキュメントは、セキュリティ要件に応じてさまざまな方法で保護できます。文書を開くのを許可されていない人を防ぐために、パスワードで暗号化することができます。文書を開くことは許可しつつ、その内容の編集や変更を禁止する場合は、読み取り専用にするか最終版としてマークすることができます。文書の一部を編集可能にする場合は、文書全体をロックしつつも、特定のセクションを編集可能にすることができます。この記事では、を使用して Spire.Doc for .NET を使って C# で Word ドキュメントを保護または解除する方法に焦点を当てています。
まず、Spire.Doc for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.Doc
ドキュメントをパスワードで暗号化することで、あなただけでなく特定の人々のみが読み取りや編集が可能になります。以下は Spire.Doc for .NET を使用してパスワードで Word ドキュメントを保護する手順です。
using Spire.Doc;
namespace PasswordProtectWordDocument
{
class Program
{
static void Main(string[] args)
{
// ドキュメントオブジェクトを作成
Document document = new Document();
// Wordファイルをロード
document.LoadFromFile("Sample.docx");
// ドキュメントをパスワードで暗号化
document.Encrypt("open-psd");
// ドキュメントを別のWordファイルとして保存
document.SaveToFile("Word文書を暗号化.docx", FileFormat.Docx);
document.Close();
}
}
}
開くパスワードで暗号化されたドキュメントは、パスワードを知らない人には開くことができません。文書を閲覧することは許可しつつ、編集や変更の種類を制限したい場合は、文書の権限を設定できます。以下は Spire.Doc for .NET を使用して Word ドキュメントの権限を変更する手順です。
using Spire.Doc;
namespace ChangeDocumentPermission
{
class Program
{
static void Main(string[] args)
{
// ドキュメントオブジェクトを作成
Document document = new Document();
// Wordドキュメントをロード
document.LoadFromFile("Sample.docx");
// ドキュメントの権限を設定し、パーミッションパスワードを設定
document.Protect(ProtectionType.AllowOnlyFormFields, "permission-psd");
// ドキュメントを別のWordファイルとして保存
document.SaveToFile("Word文書の権限を変更.docx");
document.Close();
}
}
}
文書を保護する際に、一部を編集可能にしつつ他の部分を変更不可にすることができます。以下は Spire.Doc for .NET を使用して特定のセクションを保護する手順です。
using Spire.Doc;
namespace ProtectSpecificSection
{
class Program
{
static void Main(string[] args)
{
// ドキュメントオブジェクトを作成
Document doc = new Document();
// Wordドキュメントをロード
doc.LoadFromFile("Sample.docx");
// 編集制限を「フォームフィールドのみにする」に設定
doc.Protect(ProtectionType.AllowOnlyFormFields, "permissionPsd");
// セクション2の保護を解除
doc.Sections[1].ProtectForm = false;
// ドキュメントを別のWordファイルとして保存
doc.SaveToFile("Word文書のセクションを保護.docx");
doc.Close();
}
}
}
ドキュメントを最終版としてマークすることで、入力、編集、書式変更の機能が無効になり、読者には文書が最終版である旨のメッセージが表示されます。以下は Spire.Doc for .NET を使用して Word ドキュメントを最終版としてマークする手順です。
using Spire.Doc;
namespace MarkAsFinal
{
class Program
{
static void Main(string[] args)
{
// ドキュメントオブジェクトを作成
Document doc = new Document();
// Wordドキュメントをロード
doc.LoadFromFile("Sample.docx");
// カスタムドキュメントプロパティを取得
CustomDocumentProperties customProperties = doc.CustomDocumentProperties;
// "_MarkAsFinal" プロパティをドキュメントに追加
customProperties.Add("_MarkAsFinal", true);
// ドキュメントを別のWordファイルとして保存
doc.SaveToFile("Word文書の最終マーク.docx");
doc.Close();
}
}
}
暗号化が不要になった場合、暗号化された文書からパスワードを削除することができます。以下はその詳細な手順です。
using Spire.Doc;
namespace RemovePassword
{
class Program
{
static void Main(string[] args)
{
// ドキュメントオブジェクトを作成
Document document = new Document();
// 暗号化されたWordドキュメントをロード
document.LoadFromFile("Word文書を暗号化.docx", FileFormat.Docx, "open-psd");
// 暗号化を解除
document.RemoveEncryption();
// ドキュメントを別のWordファイルとして保存
document.SaveToFile("Word文書の復号化.docx", FileFormat.Docx);
document.Close();
}
}
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
Word ドキュメントからコンテンツを読み取ることは、多くの仕事や学習タスクにおいて重要です。Word ドキュメントからページを読むことは、主要な情報を素早く閲覧し要約するのに役立ち、Word ドキュメントからセクションを読むことは、特定のトピックやセクションを深く理解するのに役立ちます。一方、Word ドキュメント全体を読むことは、全体的な情報を包括的に把握し、総合的な分析と理解を促進します。この記事では、Spire.Doc for .NET を使用して C# プロジェクト内で Word ドキュメントのページ、セクション、および全体のコンテンツを読み取る方法を紹介します。
まず、Spire.Doc for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.Doc
FixedLayoutDocument クラスと FixedLayoutPage クラスを使用すると、指定されたページのコンテンツを簡単に取得できます。抽出したコンテンツを表示しやすくするために、このサンプルコードでは読み取ったコンテンツを新しい Word ドキュメントに保存します。詳細な手順は以下の通りです:
using Spire.Doc;
using Spire.Doc.Pages;
using Spire.Doc.Documents;
namespace SpireDocDemo
{
internal class Program
{
static void Main(string[] args)
{
// 新しいドキュメントオブジェクトを作成する
Document document = new Document();
// 指定されたファイルからドキュメントの内容をロードする
document.LoadFromFile("Sample.docx");
// 固定レイアウトドキュメントオブジェクトを作成する
FixedLayoutDocument layoutDoc = new FixedLayoutDocument(document);
// 最初のページを取得する
FixedLayoutPage page = layoutDoc.Pages[0];
// ページが含まれているセクションを取得する
Section section = page.Section;
// ページの最初の段落を取得する
Paragraph paragraphStart = page.Columns[0].Lines[0].Paragraph;
int startIndex = 0;
if (paragraphStart != null)
{
// セクション内の段落のインデックスを取得する
startIndex = section.Body.ChildObjects.IndexOf(paragraphStart);
}
// ページの最後の段落を取得する
Paragraph paragraphEnd = page.Columns[0].Lines[page.Columns[0].Lines.Count - 1].Paragraph;
int endIndex = 0;
if (paragraphEnd != null)
{
// セクション内の段落のインデックスを取得する
endIndex = section.Body.ChildObjects.IndexOf(paragraphEnd);
}
// 新しいドキュメントオブジェクトを作成する
Document newdoc = new Document();
// 新しいセクションを追加する
Section newSection = newdoc.AddSection();
// 元のセクションのプロパティを新しいセクションにクローンする
section.CloneSectionPropertiesTo(newSection);
// 元のドキュメントのページの内容を新しいドキュメントにコピーする
for (int i = startIndex; i <= endIndex; i++)
{
newSection.Body.ChildObjects.Add(section.Body.ChildObjects[i].Clone());
}
// 新しいドキュメントを指定されたファイルに保存する
newdoc.SaveToFile("Wordのページから内容を読む.docx", Spire.Doc.FileFormat.Docx);
// 新しいドキュメントを閉じてリソースを解放する
newdoc.Close();
newdoc.Dispose();
// 元のドキュメントを閉じてリソースを解放する
document.Close();
document.Dispose();
}
}
}
Document.Sections[index] プロパティを使用すると、ヘッダー、フッター、本文コンテンツを含む特定のセクションオブジェクトを取得できます。この例では、セクションのすべてのコンテンツを別のドキュメントにコピーする簡単な方法を提供します。詳細な手順は以下の通りです:
using Spire.Doc;
namespace ReadWordSectionContent
{
internal class Program
{
static void Main(string[] args)
{
// 新しいドキュメントオブジェクトを作成する
Document document = new Document();
// ファイルからWordドキュメントをロードする
document.LoadFromFile("Sample.docx");
// ドキュメントの2番目のセクションを取得する
Section section = document.Sections[1];
// 新しいドキュメントオブジェクトを作成する
Document newdoc = new Document();
// デフォルトスタイルを新しいドキュメントにクローンする
document.CloneDefaultStyleTo(newdoc);
// 2番目のセクションを新しいドキュメントにクローンする
newdoc.Sections.Add(section.Clone());
// 新しいドキュメントをファイルに保存する
newdoc.SaveToFile("Wordのセクションから内容を読む.docx", Spire.Doc.FileFormat.Docx);
// 新しいドキュメントオブジェクトを閉じてリソースを解放する
newdoc.Close();
newdoc.Dispose();
// 元のドキュメントオブジェクトを閉じてリソースを解放する
document.Close();
document.Dispose();
}
}
}
この例では、元のドキュメントの各セクションを順に繰り返し処理し、各セクションを新しいドキュメントにクローンすることで、ドキュメント全体のコンテンツを読み取る方法を示します。詳細な手順は以下の通りです:
using Spire.Doc;
namespace ReadWordDocumentContent
{
internal class Program
{
static void Main(string[] args)
{
// 新しいドキュメントオブジェクトを作成する
Document document = new Document();
// ファイルからWordドキュメントをロードする
document.LoadFromFile("Sample.docx");
// 新しいドキュメントオブジェクトを作成する
Document newdoc = new Document();
// デフォルトスタイルを新しいドキュメントにクローンする
document.CloneDefaultStyleTo(newdoc);
// 元のドキュメントの各セクションを反復処理して新しいドキュメントにクローンする
foreach (Section sourceSection in document.Sections)
{
newdoc.Sections.Add(sourceSection.Clone());
}
// 新しいドキュメントをファイルに保存する
newdoc.SaveToFile("Word文書からコンテンツを読み込む.docx", Spire.Doc.FileFormat.Docx);
// 新しいドキュメントオブジェクトを閉じてリソースを解放する
newdoc.Close();
newdoc.Dispose();
// 元のドキュメントオブジェクトを閉じてリソースを解放する
document.Close();
document.Dispose();
}
}
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
Word ドキュメントにページを追加、挿入、削除することは、コンテンツの管理と提示にとって重要です。Word に新しいページを追加または挿入することで、ドキュメントを拡張してより多くのコンテンツを収容し、より構造化され読みやすくすることができます。ページを削除することで、不必要な情報や誤ったコンテンツを取り除いてドキュメントを整理するのに役立ちます。この記事では、Spire.Doc for .NET を使用して C# プロジェクト内で Word ドキュメントにページを追加、挿入、または削除する方法を説明します。
まず、Spire.Doc for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.Doc
Word ドキュメントの末尾に新しいページを追加する手順は、まず最後のセクションを取得し、そのセクションの最後の段落の末尾に改ページを挿入して、後で追加されるコンテンツが新しいページに表示されるようにすることです。以下は詳細な手順です:
using Spire.Doc;
using Spire.Doc.Documents;
using Spire.Doc.Pages;
namespace AddPageWord
{
class Program
{
static void Main(string[] args)
{
// 新しいドキュメントオブジェクトを作成する
Document document = new Document();
// ドキュメントをロードする
document.LoadFromFile("Sample.docx");
// ドキュメントの最後のセクションの本文を取得する
Body body = document.LastSection.Body;
// 本文の最後の段落の後に改ページを挿入する
body.LastParagraph.AppendBreak(BreakType.PageBreak);
// 新しい段落スタイルを作成する
ParagraphStyle paragraphStyle = new ParagraphStyle(document);
paragraphStyle.Name = "CustomParagraphStyle1";
paragraphStyle.ParagraphFormat.LineSpacing = 12;
paragraphStyle.ParagraphFormat.AfterSpacing = 8;
paragraphStyle.CharacterFormat.FontName = "Yu Mincho";
paragraphStyle.CharacterFormat.FontSize = 12;
// ドキュメントのスタイルコレクションに段落スタイルを追加する
document.Styles.Add(paragraphStyle);
// 新しい段落を作成し、テキスト内容を設定する
Paragraph paragraph = new Paragraph(document);
paragraph.AppendText("弊社の Spire.Doc for .NET 製品をご利用いただきありがとうございます。試用版では生成されるドキュメントに赤い透かしが追加され、最初の10ページのみ他の形式に変換可能です。ライセンスを購入して適用すると、これらの透かしが削除され、機能制限が解除されます。");
// 段落スタイルを適用する
paragraph.ApplyStyle(paragraphStyle.Name);
// 段落を本文のコンテンツコレクションに追加する
body.ChildObjects.Add(paragraph);
// もう一つの新しい段落を作成し、テキスト内容を設定する
paragraph = new Paragraph(document);
paragraph.AppendText("製品をより完全に体験していただくために、お客様には1ヶ月の無料仮ライセンスを提供しています。sales @e-iceblue.com にメールを送っていただければ、1営業日以内にライセンスをお送りします。");
// 段落スタイルを適用する
paragraph.ApplyStyle(paragraphStyle.Name);
// 段落を本文のコンテンツコレクションに追加する
body.ChildObjects.Add(paragraph);
// 指定されたパスにドキュメントを保存する
document.SaveToFile("Wordにページを追加.docx", FileFormat.Docx);
// ドキュメントを閉じる
document.Close();
// ドキュメントオブジェクトのリソースを解放する
document.Dispose();
}
}
}
新しいページを挿入する前に、セクション内の指定されたページコンテンツの終了位置インデックスを特定する必要があります。その後、この位置の後に新しいページのコンテンツを一つずつドキュメントに追加します。最後に、コンテンツを後続のページから分離するために改ページを追加することが重要です。詳細な手順は以下の通りです:
using Spire.Doc;
using Spire.Doc.Pages;
using Spire.Doc.Documents;
namespace InsertPageWord
{
internal class Program
{
static void Main(string[] args)
{
// 新しいドキュメントオブジェクトを作成する
Document document = new Document();
// サンプルドキュメントをファイルからロードする
document.LoadFromFile("Sample.docx");
// 固定レイアウトドキュメントオブジェクトを作成する
FixedLayoutDocument layoutDoc = new FixedLayoutDocument(document);
// 最初のページを取得する
FixedLayoutPage page = layoutDoc.Pages[0];
// ドキュメントの本文を取得する
Body body = page.Section.Body;
// 現在のページの最後の段落を取得する
Paragraph paragraphEnd = page.Columns[0].Lines[page.Columns[0].Lines.Count - 1].Paragraph;
// 終了インデックスを初期化する
int endIndex = 0;
if (paragraphEnd != null)
{
// 最後の段落のインデックスを取得する
endIndex = body.ChildObjects.IndexOf(paragraphEnd);
}
// 新しい段落スタイルを作成する
ParagraphStyle paragraphStyle = new ParagraphStyle(document);
paragraphStyle.Name = "CustomParagraphStyle1";
paragraphStyle.ParagraphFormat.LineSpacing = 12;
paragraphStyle.ParagraphFormat.AfterSpacing = 8;
paragraphStyle.CharacterFormat.FontName = "Yu Mincho";
paragraphStyle.CharacterFormat.FontSize = 12;
// ドキュメントのスタイルコレクションに段落スタイルを追加する
document.Styles.Add(paragraphStyle);
// 新しい段落を作成し、テキスト内容を設定する
Paragraph paragraph = new Paragraph(document);
paragraph.AppendText("弊社の Spire.Doc for .NET 製品をご利用いただきありがとうございます。試用版では生成されるドキュメントに赤い透かしが追加され、最初の10ページのみ他の形式に変換可能です。ライセンスを購入して適用すると、これらの透かしが削除され、機能制限が解除されます。");
// 段落スタイルを適用する
paragraph.ApplyStyle(paragraphStyle.Name);
// 指定された位置に段落を挿入する
body.ChildObjects.Insert(endIndex + 1, paragraph);
// もう一つの新しい段落を作成する
paragraph = new Paragraph(document);
paragraph.AppendText("製品をより完全に体験していただくために、お客様には1ヶ月の無料仮ライセンスを提供しています。sales @e-iceblue.com にメールを送っていただければ、1営業日以内にライセンスをお送りします。");
// 段落スタイルを適用する
paragraph.ApplyStyle(paragraphStyle.Name);
// 改ページを追加する
paragraph.AppendBreak(BreakType.PageBreak);
// 指定された位置に段落を挿入する
body.ChildObjects.Insert(endIndex + 2, paragraph);
// 指定されたパスにドキュメントを保存する
document.SaveToFile("Wordにページを挿入.docx", Spire.Doc.FileFormat.Docx);
// ドキュメントを閉じ、リソースを解放する
document.Close();
document.Dispose();
}
}
}
ページのコンテンツを削除するには、まずドキュメント内のそのページの開始要素と終了要素のインデックス位置を特定します。その後、これらの要素を一つずつ順に削除するためにループを利用します。詳細な手順は以下の通りです:
using Spire.Doc;
using Spire.Doc.Pages;
using Spire.Doc.Documents;
namespace DeletePageWord
{
internal class Program
{
static void Main(string[] args)
{
// 新しいドキュメントオブジェクトを作成する
Document document = new Document();
// サンプルドキュメントをファイルからロードする
document.LoadFromFile("Wordにページを挿入.docx");
// 固定レイアウトドキュメントオブジェクトを作成する
FixedLayoutDocument layoutDoc = new FixedLayoutDocument(document);
// 2ページ目を取得する
FixedLayoutPage page = layoutDoc.Pages[1];
// ページのセクションを取得する
Section section = page.Section;
// 1ページ目の最初の段落を取得する
Paragraph paragraphStart = page.Columns[0].Lines[0].Paragraph;
int startIndex = 0;
if (paragraphStart != null)
{
// 開始段落のインデックスを取得する
startIndex = section.Body.ChildObjects.IndexOf(paragraphStart);
}
// 最後のページの最後の段落を取得する
Paragraph paragraphEnd = page.Columns[0].Lines[page.Columns[0].Lines.Count - 1].Paragraph;
int endIndex = 0;
if (paragraphEnd != null)
{
// 終了段落のインデックスを取得する
endIndex = section.Body.ChildObjects.IndexOf(paragraphEnd);
}
// 指定された範囲内のすべてのコンテンツを削除する
for (int i = 0; i <= (endIndex - startIndex); i++)
{
section.Body.ChildObjects.RemoveAt(startIndex);
}
// 指定されたパスにドキュメントを保存する
document.SaveToFile("Wordからページを削除.docx", Spire.Doc.FileFormat.Docx);
// ドキュメントを閉じ、リソースを解放する
document.Close();
document.Dispose();
}
}
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。