DocumentRestrictions.cs
// 
// このコードは、DioDocs for PDF のサンプルの一部として提供されています。
// © MESCIUS inc. All rights reserved.
// 
using System;
using System.IO;
using System.Drawing;
using GrapeCity.Documents.Pdf;
using GrapeCity.Documents.Text;
using GrapeCity.Documents.Pdf.Security;

namespace DsPdfWeb.Demos
{
    // このサンプルでは、PDF に制限を設定する方法を説明します。
    // 例えば、ドキュメントのコンテンツを印刷またはコピーする機能を制限します。
    public class DocumentRestrictions
    {
        public int CreatePDF(Stream stream)
        {
            // 新規 PDF ドキュメントを作成します。
            var doc = new GcPdfDocument();
            Common.Util.AddNote("このドキュメントには以下の制限があります。\n" +
                "  - 印刷はできません。\n" +
                "  - コンテンツのコピーはできません。\n" +
                "  - ドキュメントの編集はできません。", doc.NewPage());

            // Rev4のセキュリティハンドラを作成し、いくつかの制限事項を指定します。
            var ssh4 = new StandardSecurityHandlerRev4()
            {
                // EncryptionAlgorithm = EncryptionAlgorithm.AES,
                // EncryptStrings = true,
                PrintingPermissions = PrintingPermissions.Disabled,
                CopyContent = false,
                EditingPermissions = EditingPermissions.Disabled
            };

            // 作成したハンドラをドキュメントに割り当てて、PDFを保存する際に使用するようにします。
            doc.Security.EncryptHandler = ssh4;

            // PDF ドキュメントを保存します。
            doc.Save(stream);
            return doc.Pages.Count;
        }
    }
}