チュートリアル

簡単にライブラリーを使用するためのチュートリアルコレクション

チュートリアル»docnetsecurity

Displaying items by tag: docnetsecurity

Word 文書に編集権限領域を追加することで、特定のセクションを他のユーザーが編集できるようにし、それ以外の部分は誤って変更されるのを防ぐことができます。これは、共同作業文書や文書レビュー、コメントなどのシナリオに特に有用です。一方で、編集可能領域機能を削除することで、特定のセクションが編集される必要がない場合に文書を読み取り専用の状態に戻し、文書内容の整合性とセキュリティを確保できます。この記事では、C# プロジェクト内で Spire.Doc for .NET を使用して、Word 文書に編集可能領域を追加または削除する方法を説明します。

Spire.Doc for .NET をインストールします

まず、Spire.Doc for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。

PM> Install-Package Spire.Doc

C# を使用して Word 文書に編集可能領域を追加する

Word 文書に編集可能領域を追加する手順は、文書内に PermissionStart および PermissionEnd オブジェクトを挿入し、文書を読み取り専用保護モードに設定して、指定された領域内のコンテンツが編集可能であることを確保しながら、それ以外の部分を読み取り専用に保つことです。以下は詳細な手順です:

  • Document オブジェクトを作成する。
  • Document.LoadFromFile() メソッドを使用して Word 文書を読み込む。
  • Document.Sections[index] プロパティを通じて文書のセクションにアクセスする。
  • PermissionStart permissionStart = new PermissionStart(document, id) を使用して編集可能領域の開始を示す PermissionStart オブジェクトを作成する。
  • PermissionEnd permissionEnd = new PermissionEnd(document, id) を使用して編集可能領域の終了を示す PermissionEnd オブジェクトを作成する。
  • Section.Paragraphs[index] プロパティを使用して段落にアクセスする。
  • Paragraph.ChildObjects.Insert(0, permissionStart) メソッドを使用して段落の先頭に PermissionStart オブジェクトを挿入する。
  • Paragraph.ChildObjects.Add(permissionEnd) メソッドを使用して段落の最後に PermissionEnd オブジェクトを追加する。
  • Document.Protect(ProtectionType.AllowOnlyReading, password) メソッドを使用して文書を読み取り専用保護モードに設定し、編集権限を制限する。
  • Document.SaveToFile() メソッドを使用して結果の文書を保存する。
  • C#
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();
        }
    }
}

C#:Word 文書に編集可能領域を追加または削除する方法

C# を使用して Word 文書から編集可能領域を削除する

Word 文書から編集可能領域を削除するための重要な手順は、文書の各段落を反復処理し、PermissionStart および PermissionEnd オブジェクトを削除することです。以下は詳細な手順です:

  • Document オブジェクトを作成する。
  • Document.LoadFromFile() メソッドを使用して Word 文書を読み込む。
  • 文書の各セクション内の各段落を反復処理し、PermissionStart または PermissionEnd オブジェクトの存在を確認してそれらを削除する。
  • Document.SaveToFile() メソッドを使用して結果の文書を保存する。
  • C#
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();
        }
    }
}

C#:Word 文書に編集可能領域を追加または削除する方法

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

Published in 保護
Tagged under

Word ドキュメントは、セキュリティ要件に応じてさまざまな方法で保護できます。文書を開くのを許可されていない人を防ぐために、パスワードで暗号化することができます。文書を開くことは許可しつつ、その内容の編集や変更を禁止する場合は、読み取り専用にする最終版としてマークすることができます。文書の一部を編集可能にする場合は、文書全体をロックしつつも、特定のセクションを編集可能にすることができます。この記事では、を使用して Spire.Doc for .NET を使って C# で Word ドキュメントを保護または解除する方法に焦点を当てています。

Spire.Doc for .NET をインストールします

まず、Spire.Doc for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。

PM> Install-Package Spire.Doc

C# で Word ドキュメントをパスワードで保護する方法

ドキュメントをパスワードで暗号化することで、あなただけでなく特定の人々のみが読み取りや編集が可能になります。以下は Spire.Doc for .NET を使用してパスワードで Word ドキュメントを保護する手順です。

  • Document オブジェクトを作成する。
  • Document.LoadFromFile() メソッドを使用して Word ドキュメントを読み込む。
  • Document.Encrypt() メソッドを使用してドキュメントをパスワードで暗号化する。
  • Document.SaveToFile() メソッドを使用してドキュメントを保存する。
  • C#
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();
        }
    }
}

C#:Word ドキュメントを保護・解除する方法

C# で Word ドキュメントの権限を変更する方法

開くパスワードで暗号化されたドキュメントは、パスワードを知らない人には開くことができません。文書を閲覧することは許可しつつ、編集や変更の種類を制限したい場合は、文書の権限を設定できます。以下は Spire.Doc for .NET を使用して Word ドキュメントの権限を変更する手順です。

  • Document オブジェクトを作成する。
  • Document.LoadFromFile() メソッドを使用して Word ドキュメントを読み込む。
  • Document.Protect() メソッドを使用して文書の権限と権限パスワードを設定する。
  • Document.SaveToFile() メソッドを使用してドキュメントを保存する。
  • C#
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();
        }
    }
}

C#:Word ドキュメントを保護・解除する方法

C# で特定のセクションをロックする方法

文書を保護する際に、一部を編集可能にしつつ他の部分を変更不可にすることができます。以下は Spire.Doc for .NET を使用して特定のセクションを保護する手順です。

  • Document オブジェクトを作成する。
  • Document.LoadFromFile() メソッドを使用して Word ドキュメントを読み込む。
  • 編集制限を AllowOnlyFormFields に設定する。
  • Document.Sections[index].ProtectFormfalse に設定して特定のセクションの保護を解除する。他のセクションは引き続き保護されます。
  • Document.SaveToFile() メソッドを使用してドキュメントを保存する。
  • C#
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();
        }
    }
}

C#:Word ドキュメントを保護・解除する方法

C# で Word ドキュメントを最終版としてマークする方法

ドキュメントを最終版としてマークすることで、入力、編集、書式変更の機能が無効になり、読者には文書が最終版である旨のメッセージが表示されます。以下は Spire.Doc for .NET を使用して Word ドキュメントを最終版としてマークする手順です。

  • Document オブジェクトを作成する。
  • Document.LoadFromFile() メソッドを使用して Word ファイルを読み込む。
  • ドキュメントから CustomDocumentProperties オブジェクトを取得する。
  • カスタムプロパティ "_MarkAsFinal" をドキュメントに追加する。
  • Document.SaveToFile() メソッドを使用してドキュメントを保存する。
  • C#
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();
        }
    }
}

C#:Word ドキュメントを保護・解除する方法

C# で Word ドキュメントのパスワードを削除する方法

暗号化が不要になった場合、暗号化された文書からパスワードを削除することができます。以下はその詳細な手順です。

  • Document オブジェクトを作成する。
  • Document.LoadFromFile() メソッドを使用して Word ドキュメントを読み込む。
  • Document.RemoveEncryption() メソッドを使用してパスワードを削除する。
  • Document.SaveToFile() メソッドを使用してドキュメントを保存する。
  • C#
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 日間有効な一時ライセンスを取得してください。

Published in 保護
Tagged under

署名は、電子文書が署名者から発信されたものであり、輸送中に改ざんされていないことを確認するものです。電子署名の利用により、紙文書の送付が不要になり、印刷、郵送、保管の必要な文書の数が減り、時間とコストの節約になります。この記事では、Spire.Doc for .NET を使用して Word ドキュメントに電子署名を行う方法について説明します。

Spire.Doc for .NETをインストールする

まず、Spire.Doc for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。

PM> Install-Package Spire.Doc

Word ドキュメントに電子署名を追加する

詳細な手順は以下の通りです。

  • Document クラスのオブジェクトを作成します。
  • Document.LoadFromFile() メソッドを使用して Word ドキュメントを読み込む。
  • .pfx 形式の証明書ファイルのアドレスとパスワードを指定する。
  • Document.SaveToFile(string fileName, FileFormat fileFormat, string certificatePath, string securePassword) メソッドを使用して、文書を保存しながら電子署名を行う。その他、Word ドキュメントに電子署名を行うためのメソッドをいくつか紹介します。
    • public void SaveToFile(string fileName, FileFormat fileFormat, byte[] certificateData, string securePassword);
    • public void SaveToStream(Stream stream, FileFormat fileFormat, byte[] certificateData, string securePassword);
    • public void SaveToStream(Stream stream, FileFormat fileFormat, string certificatePath, string securePassword);
    • public static byte[] Document.Sign(Stream sourceStream, byte[] certificateData, string securePassword);
    • public static byte[] Document.Sign(Stream sourceStream, string certificatePath, string securePassword);
  • C#
  • VB.NET
using Spire.Doc;
using System;

namespace DigitallySignDocument
{
    internal class Program
    {
        static void Main(string[] args)
        {
            //Documentクラスのオブジェクトを作成する
            Document doc = new Document();

            //Wordドキュメントを読み込む
            doc.LoadFromFile("実例.docx");

            //証明書のパスを指定する
            string certificatePath = "証明書.pfx";

            //証明書のパスワードを指定する
            string password = "Cert321";

            //ドキュメントを保存する際に電子署名を行う
            doc.SaveToFile("電子署名.docx", FileFormat.Docx2013, certificatePath, password);
        }
    }
}
Imports Spire.Doc

Namespace DigitallySignWord
    Class Program
        Shared Sub Main(ByVal args() As String)
            'Documentクラスのオブジェクトを作成する
            Dim doc As New Document

            'Wordドキュメントを読み込む
            doc.LoadFromFile("実例.docx")

            '証明書のパスを指定する
            Dim certificatePath As String = "証明書.pfx"

            '証明書のパスワードを指定する
            Dim password As String = "Cert321"

            'ドキュメントを保存する際に電子署名を行う
            doc.SaveToFile("電子署名.docx", FileFormat.Docx2013, certificatePath, password)
        End Sub
    End Class
End Namespace

C#/VB.NET:Word ドキュメントに電子署名をする方法

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。 にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

Published in 保護
Tagged under