作成日: 2026/03/25 最終更新日: 2026/03/25
文書種別
使用方法
詳細
ActiveReportsのPDFエクスポート機能はPDF長期署名(PAdES)に部分的に対応しています。
以下のコードでPAdESに対応した形式のデジタル署名を追加できます。
◆ページレポート/RDLレポート
using GrapeCity.ActiveReports.Export.Pdf.Section.Signing;
...
var outputDirectory = new System.IO.DirectoryInfo(Application.StartupPath);
var provider = new GrapeCity.ActiveReports.Rendering.IO.FileStreamProvider(outputDirectory, "PAdES.pdf");
var settings = new GrapeCity.ActiveReports.Export.Pdf.Page.Settings();
settings.Version = GrapeCity.ActiveReports.Export.Pdf.Page.PdfVersion.Pdf20;
// 不可視署名を追加
settings.SignatureCertificateFileName = "sample.pfx";
settings.SignatureCertificatePassword = "password";
settings.SignatureVisibilityType = VisibilityType.Invisible;
settings.SignatureTimeStamp = new TimeStamp(@"http://ts.ssl.com", "", "");
// PAdESに対応した形式を指定
settings.SignatureFormat = SignatureFormat.ETSI_CAdES_detached;
var rpt = new GrapeCity.ActiveReports.PageReport(new System.IO.FileInfo("PageReport1.rdlx"));
rpt.Document.Render(renderingExtension, provider, settings);◆セクションレポート
using GrapeCity.ActiveReports.Export.Pdf.Section.Signing;
...
var pdfExport = new GrapeCity.ActiveReports.Export.Pdf.Section.PdfExport();
pdfExport.Version = GrapeCity.ActiveReports.Export.Pdf.Section.PdfVersion.Pdf20;
// 不可視署名を追加
pdfExport.Signature.Certificate = new X509Certificate2("sample.pfx", "password");
pdfExport.Signature.VisibilityType = VisibilityType.Invisible;
pdfExport.Signature.SignDate = DateTime.Now;
pdfExport.Signature.TimeStamp = new TimeStamp(@"http://ts.ssl.com", "", "");
// PAdESに対応した形式を指定
pdfExport.Signature.SignatureFormat = SignatureFormat.ETSI_CAdES_detached;
var rpt = new SectionReport1();
rpt.Run();
pdfExport.Export(rpt.Document, "PAdES.pdf");
ただし、署名の検証情報やアーカイブタイムスタンプの追加には対応していません。
長期検証(LTV)に対応するためには、他のライブラリやWebサービスを併用する必要があります。
なお、弊社製品の DioDocs for PDF はLTV対応の署名が可能です。