private void ExportDefaultPolicy() { string tempPolicyfile = GetPolicyTemplateFromResources(); PolicyTemplate template = new PolicyTemplate(); template.Load(tempPolicyfile); MetadataSecurityRatings msr = new MetadataSecurityRatings(); Dictionary<RiskRating, List<string>> riskRatings = msr.Read(MetadataSecurityRatingsFile); Dictionary<RiskRating, List<string>> PDFriskRatings = msr.Read(PDFMetadataSecurityRatingsFile); if (!HandleFootnotesAsHiddenData()) { riskRatings = RemoveFootnoteItemFromLowRiskRatingCollection(riskRatings); } List<IPolicyAction> policyActions = new List<IPolicyAction>(); policyActions.Add(new PdfPolicy(template)); policyActions.Add(new CleanPolicy(template, riskRatings)); policyActions.Add(new PDFCleanPolicy(template, PDFriskRatings)); policyActions.Add(new ZipPolicy(template)); //policyActions.Add(new DocumentRestrictionsPolicy(template)); policyActions.Add(new DetectWorkshareStyles(template)); if (ReportOnContentPolicyViolations()) { ContentPolicyReader cpr = new ContentPolicyReader(); List<ContentRule> contentRules = cpr.Read(ContentPolicyFile); policyActions.Add(new AlertPolicy(template, contentRules)); } else { template.RemovePolicy(TemplatePolicy.AlertPolicy); } bool hideOptionsDlgForInternal = HideEmailOptionsDlg(true /*internal routing*/); bool hideOptionsDlgForExternal = HideEmailOptionsDlg(false /*external routing*/); foreach (IPolicyAction policyAction in policyActions) { if (hideOptionsDlgForInternal) { MakeAllActionsTransparent(policyAction.InternalActions, true); } if (hideOptionsDlgForExternal) { MakeAllActionsTransparent(policyAction.ExternalActions, false); } policyAction.Apply(); } template.Save(PolicyFile, RuntimePolicyFile); }