public PdfSecurityOptionsControl(PdfSecurityOptions options) { InitializeComponent(); InitializeCheckBoxes(options); if (string.IsNullOrEmpty(txtPassword.Text)) { pictureBoxOk.Visible = false; } }
public PdfSecurityDialog(PdfSecurityOptions options) : base(WorkshareFormUtility.DialogLevel.Secondary) { InitializeComponent(); m_PdfSecurityOptionsControl = new PdfSecurityOptionsControl(options); this.panel1.Controls.Add(m_PdfSecurityOptionsControl); m_PdfSecurityOptionsControl.Visible = true; m_PdfSecurityOptionsControl.AllowCleaning = false; m_PdfSecurityOptionsControl.VisibleChanged += new EventHandler(m_PdfSecurityOptionsControl_VisibleChanged); }
private void InitializeCheckBoxes(PdfSecurityOptions options) { if (options != null) { if (options.ConvertToPDFA) { DisableAllPdfSecurityOptions(); cbCleanBeforePDF.Checked = options.CleanBeforePdf; m_ShowAdvancedCleaningOptions = false; return; } txtPassword.Text = options.Password; txtPasswordConfirm.Text = options.Password; checkBoxProhibitComments.Checked = options.DisableComments; checkBoxProhibitCopying.Checked = options.DisableCopy; checkBoxProhibitModification.Checked = options.DisableModification; checkBoxProhibitPrinting.Checked = options.DisablePrinting; } }
internal bool CreateFinalPdf(Dictionary<string, WorkbookItemInfo> workbookItems, string outputFile, PdfSecurityOptions permissions) { try { TraceWorkbookItems(workbookItems); if (workbookItems.Count == 0) { WsMessage.ShowMessage(IntPtr.Zero, "No interim PDFs have been created", MessageButtons.WsOK, MessageBranding.WsDefault, MessageType.WsErrorIcon, "", -1); return false; } Workshare.Pdf.Edit.Combine(WorkbookItemsAdapter(workbookItems), outputFile); if (ConvertPDFToPDFA) DocumentPublisher.ConvertPDFToPDFA(outputFile); if (permissions != null && !ConvertPDFToPDFA) { DocumentPublisher.SetPermissions(outputFile, permissions); } return true; } catch (Exception ex) { WsMessage.ShowMessage(IntPtr.Zero, "Failed to create final PDF: " + Environment.NewLine + "[" + ex.Message + "]", MessageButtons.WsOK, MessageBranding.WsDefault, MessageType.WsErrorIcon, "", -1); } return false; }
private static void CopySecurityInformation(PdfSecurityOptions pdfSecurityOptions, WorkbookItem wi) { if (pdfSecurityOptions == null) return; if (wi.PdfSecurityOptions == null) { wi.PdfSecurityOptions = new PdfSecurityOptions(); } wi.PdfSecurityOptions.DisableComments = pdfSecurityOptions.DisableComments; wi.PdfSecurityOptions.DisableCopy = pdfSecurityOptions.DisableCopy; wi.PdfSecurityOptions.DisableModification = pdfSecurityOptions.DisableModification; wi.PdfSecurityOptions.DisablePrinting = pdfSecurityOptions.DisablePrinting; wi.PdfSecurityOptions.FullSecurity = pdfSecurityOptions.FullSecurity; wi.PdfSecurityOptions.Password = pdfSecurityOptions.Password; wi.PdfSecurityOptions.PassWordVerified = pdfSecurityOptions.PassWordVerified; }
private void btnSecurity_Click(object sender, EventArgs e) { AnalyticsListener.SendEventStatistic(Properties.Resources.STR_SECURITY_EVENT); if (listViewFiles.Items.Count == 0) return; PdfSecurityOptions pso = null; IBatchCleanController bcc = null; WorkbookItem item = null; if (listViewFiles.SelectedItems.Count > 0) { item = listViewFiles.SelectedItems[0].Tag as WorkbookItem; } else { item = listViewFiles.Items[0].Tag as WorkbookItem; } if (item != null) pso = item.PdfSecurityOptions; if (ConverPDFToPDFA) { pso = new PdfSecurityOptions(); pso.ConvertToPDFA = ConverPDFToPDFA; } PdfSecurityDialog securityDialog = new PdfSecurityDialog(pso); bool isProtectInstalled = Workshare.Common.Configuration.EnabledFeatures.SecurityEnabled; if (isProtectInstalled && listViewFiles.SelectedItems.Count > 0) { bcc = BatchCleanFactory.GetInstance(); if (bcc != null) { List<string> filesToClean = new List<string>(); foreach (ListViewItem lvi in listViewFiles.SelectedItems) { WorkbookItem wi = lvi.Tag as WorkbookItem; filesToClean.Add(wi.TempCopy); } bcc.AddFiles(filesToClean.ToArray(), true); if (pso != null && pso.CleanBeforePdf) { bcc.SetCleaningOptions(pso.CleaningOptions); } } securityDialog.CleanController = bcc; } if (DialogResult.OK == securityDialog.ShowDialog()) { // Update security options for ALL files (but clean ONLY for those selected :) foreach (ListViewItem lvi in listViewFiles.Items) { WorkbookItem wi = lvi.Tag as WorkbookItem; CopySecurityInformation(securityDialog.PdfSecurityOptions, wi); } // updates clean for selected :) foreach (ListViewItem lvi in listViewFiles.SelectedItems) { WorkbookItem wi = lvi.Tag as WorkbookItem; wi.PdfSecurityOptions.CleanBeforePdf = securityDialog.PdfSecurityOptions.CleanBeforePdf; wi.PdfSecurityOptions.CleaningOptions = securityDialog.PdfSecurityOptions.CleaningOptions; } m_state.IsModified = true; } }
private bool IsSecurityOptionsModified(PdfSecurityDialog securityDialog) { PdfSecurityOptions dialogOptions = securityDialog.PdfSecurityOptions; if (m_saveInfo != null) { if (m_saveInfo.CleanBeforePdf == dialogOptions.CleanBeforePdf && m_saveInfo.DisableComments == dialogOptions.DisableComments && m_saveInfo.DisableCopy == dialogOptions.DisableCopy && m_saveInfo.DisableModification == dialogOptions.DisableModification && m_saveInfo.DisablePrinting == dialogOptions.DisablePrinting && m_saveInfo.FullSecurity == dialogOptions.FullSecurity) { return false; } } m_state.IsModified = true; m_saveInfo = dialogOptions; return true; }