作成日: 2022/04/20 最終更新日: 2022/04/20
文書種別
使用方法
詳細
エクスポートするPDFを暗号化し、パスワードや許可属性(印刷や編集など)を設定できます。
使用するプロパティは、以下の通りです。
-
Encryptプロパティ
ドキュメントを暗号化するかどうかを決定します。下記のパスワードやユーザー許可を有効にする場合には、本プロパティをTrueに設定する必要があります。
-
OwnerPasswordプロパティ
オーナーパスワードを設定します。ドキュメントを開く際に、このプロパティに設定したパスワードが入力された場合、Permissionsプロパティで指定したユーザー許可の設定内容にかかわらず、ドキュメントへのフルアクセスが許可されます。
Permissionsプロパティを設定する場合は、OwnerPasswordプロパティも必ず設定してください。
オーナーパスワードが設定されていないPDFは常にフルアクセスが許可された状態で開かれます。
したがって、Permissionsプロパティを設定する意味がなくなります。 -
UserPasswordプロパティ
ユーザーパスワードを設定します。ドキュメントを開くために、ユーザは本パスワードを入力する必要があります。このプロパティを設定しない場合、ドキュメントを開くときにパスワードを入力するダイアログは表示されません。
※OwnerPasswordプロパティのみを設定したPDFは、パスワードの入力なしに開けます。
-
Permissionsプロパティ
ドキュメントのためのユーザ許可を設定します。設定可能な値は以下をご参照ください。
上記の値はOR演算を使用して複数の設定を組み合わせることが可能です。(デフォルトはすべての属性を許可した状態です)
たとえば、「印刷」と「フォームフィールドの入力または署名」のみ許可したPDFとしてエクスポートする場合、以下のようなコードになります。
ページレポート/RDLレポートの場合
◆サンプルコード (C#)
// 描画するレポートファイルをロードします。 var rpt = new GrapeCity.ActiveReports.PageReport(new System.IO.FileInfo("PageReport1.rdlx")); // セキュリティ設定を行います。 var settings = new GrapeCity.ActiveReports.Export.Pdf.Page.Settings(); settings.Encrypt = true; settings.OwnerPassword = "Owner"; settings.UserPassword = "User"; settings.Permissions = GrapeCity.ActiveReports.Export.Pdf.Page.PdfPermissions.AllowPrint | GrapeCity.ActiveReports.Export.Pdf.Page.PdfPermissions.AllowFillIn; // PDFにエクスポートします。 var renderingExtension= new GrapeCity.ActiveReports.Export.Pdf.Page.PdfRenderingExtension(); var outputDirectory = new System.IO.DirectoryInfo(Application.StartupPath); var provider = new GrapeCity.ActiveReports.Rendering.IO.FileStreamProvider(outputDirectory, "Sample.pdf"); rpt.Document.Render(renderingExtension, provider, settings);
◆サンプルコード (VB.NET)
' 描画するレポートファイルをロードします。 Dim rpt As New GrapeCity.ActiveReports.PageReport(New System.IO.FileInfo("PageReport1.rdlx")) ' セキュリティ設定を行います。 Dim settings As New GrapeCity.ActiveReports.Export.Pdf.Page.Settings() settings.Encrypt = True settings.OwnerPassword = "Owner" settings.UserPassword = "User" settings.Permissions = GrapeCity.ActiveReports.Export.Pdf.Page.PdfPermissions.AllowPrint Or GrapeCity.ActiveReports.Export.Pdf.Page.PdfPermissions.AllowFillIn ' PDFにエクスポートします。 Dim renderingExtension As New GrapeCity.ActiveReports.Export.Pdf.Page.PdfRenderingExtension() Dim outputDirectory As New System.IO.DirectoryInfo(Application.StartupPath) Dim provider As New GrapeCity.ActiveReports.Rendering.IO.FileStreamProvider(outputDirectory, "Sample.pdf") rpt.Document.Render(renderingExtension, provider, settings)
セクションレポートの場合
◆サンプルコード (C#)
// セクションレポートを生成します。 var rpt = new SectionReport1(); rpt.Run(false); // セキュリティ設定を行います。 var pdfExport = new GrapeCity.ActiveReports.Export.Pdf.Section.PdfExport(); pdfExport.Security.Encrypt = true; pdfExport.Security.OwnerPassword = "Owner"; pdfExport.Security.UserPassword = "User"; pdfExport.Security.Permissions = GrapeCity.ActiveReports.Export.Pdf.Section.PdfPermissions.AllowPrint | GrapeCity.ActiveReports.Export.Pdf.Section.PdfPermissions.AllowFillIn; // PDFにエクスポートします。 pdfExport.Export(rpt.Document, "Sample.pdf");
◆サンプルコード (VB.NET)
' セクションレポートを生成します。 Dim rpt As New SectionReport1 rpt.Run(False) ' セキュリティ設定を行います。 Dim pdfExport As New GrapeCity.ActiveReports.Export.Pdf.Section.PdfExport pdfExport.Security.Encrypt = True pdfExport.Security.OwnerPassword = "Owner" pdfExport.Security.UserPassword = "User" pdfExport.Security.Permissions = _ GrapeCity.ActiveReports.Export.Pdf.Section.PdfPermissions.AllowPrint Or _ GrapeCity.ActiveReports.Export.Pdf.Section.PdfPermissions.AllowFillIn ' PDFにエクスポートします。 pdfExport.Export(rpt.Document, "Sample.pdf")