DocumentRestrictions.vb
''
'' このコードは、DioDocs for PDF のサンプルの一部として提供されています。
'' © MESCIUS inc. All rights reserved.
''
Imports System.Drawing
Imports System.IO
Imports GrapeCity.Documents.DX.DirectWrite
Imports GrapeCity.Documents.Pdf
Imports GrapeCity.Documents.Pdf.Security
Imports GrapeCity.Documents.Text
'' このサンプルでは、PDF に制限を設定する方法を説明します。
'' 例えば、ドキュメントのコンテンツを印刷またはコピーする機能を制限します。
Public Class DocumentRestrictions
Function CreatePDF(ByVal stream As Stream) As Integer
'' 新規 PDF ドキュメントを作成します。
Dim doc = New GcPdfDocument()
Dim rc = Util.AddNote("このドキュメントには以下の制限があります。" + vbLf +
" - 印刷はできません。" + vbLf +
" - コンテンツのコピーはできません。" + vbLf +
" - ドキュメントの編集はできません。", doc.NewPage())
'' Rev4のセキュリティハンドラを作成し、いくつかの制限事項を指定します。
Dim ssh4 = New StandardSecurityHandlerRev4() With
{
.PrintingPermissions = PrintingPermissions.Disabled,
.CopyContent = False,
.EditingPermissions = EditingPermissions.Disabled
}
'' 作成したハンドラをドキュメントに割り当てて、PDFを保存する際に使用するようにします。
doc.Security.EncryptHandler = ssh4
'' PDFドキュメントの制限についてのテキストを追加
Dim pg = doc.Pages.Last
Dim g = pg.Graphics
Dim tl = g.CreateTextLayout()
tl.DefaultFormat.FontName = "IPAGothic"
tl.AppendLine("セキュリティハンドラーを使用してPDFドキュメントの制限を設定する方法については、このデモのソースコードを参照してください。")
tl.MaxWidth = pg.Bounds.Width - rc.X * 2
tl.MarginLeft = rc.X
tl.MarginTop = rc.Bottom + 36
g.DrawTextLayout(tl, PointF.Empty)
'' PDF ドキュメントを保存します。
doc.Save(stream)
Return doc.Pages.Count
End Function
End Class