using System; using System.Collections.Generic; using System.Configuration; using System.Data; using System.IO; using System.Linq; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using ComPDFKit.NativeMethod; using ComPDFKit_Conversion.Converter; using PDF_Office.CustomControl; using PDF_Office.CustomControl.SystemControl; using PDF_Office.ViewModels; using PDF_Office.Views; using PDF_Office.Views.BOTA; using PDF_Office.Views.Dialog; using PDF_Office.Views.HomePanel; using Prism.DryIoc; using Prism.Ioc; using Prism.Regions; using PDF_Office.Model; using PDF_Office.Views.PageEdit; using PDF_Office.Properties; using PDFSettings.Settings; using PDF_Office.Views.Tools; using PDF_Office.Views.Dialog.ToolsDialogs.SaftyDialogs; using PDF_Office.Views.Dialog.ToolsDialogs.CompressDialogs; using PDF_Office.Views.Dialog.PageEditDialogs; using PDF_Office.Helper; using PDF_Office.Views.Dialog.HomePageToolsDialogs; using PDF_Office.Views.Dialog.HomePageToolsDialogs.HomePagePrinter; using PDF_Office.Views.PropertyPanel; using PDF_Office.Views.Dialog.BOTA; using PDF_Office.Views.PropertyPanel.AnnotPanel; using PDF_Office.Views.FillAndSign; using PDF_Office.Views.FillAndSign.PropertyPanel; using PDF_Office.Views.PropertyPanel.ViewModular; using PDF_Office.Views.Dialog.HomePageToolsDialogs.HomePageBatchProcessing; using PDF_Office.Views.Dialog.ConverterDialogs; using PDF_Office.Helper; using PDF_Office.Views.Dialog.HomePageToolsDialogs.HomePageBatchProcessing.HomePageConverter; using PDF_Office.Views.EditTools.Watermark; using PDF_Office.Views.EditTools.Background; using PDF_Office.Views.EditTools.Bates; using PDF_Office.Views.EditTools.HeaderFooter; using PDF_Office.Views.EditTools.Redaction; using PDF_Office.Views.Form; using PDF_Office.Views.Dialog.HomePageToolsDialogs.HomePageBatchProcessing.HomePageHeaderFooter; using PDF_Office.Views.Dialog.HomePageToolsDialogs.HomePageBatchProcessing.HomePageBates; using PDF_Office.Views.Dialog.HomePageToolsDialogs.HomePageBatchProcessing.HomePageWatermark; using PDF_Office.Views.Dialog.HomePageToolsDialogs.HomePageBatchProcessing.HomePageBackground; namespace PDF_Office { /// /// App.xaml 的交互逻辑 /// public partial class App : PrismApplication { public static string CurrentPath = System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Personal), "PDF Office"); public static MainWindowViewModel mainWindowViewModel; public static List OpenedFileList = new List(); public static CacheFilePath CachePath; public static bool IsFirstOpen = true; public static bool IsBookMode = false; public App() { #if !DEBUG //接入Appcenter后台数据检测 string appkey = "b099dccc-1ca5-4ea1-a2fa-afd4a6e1f8bb" AppCenter.Start(appkey, typeof(Analytics), typeof(Crashes)); var countryCode = RegionInfo.CurrentRegion.TwoLetterISORegionName;//上传国家信息 AppCenter.SetCountryCode(countryCode); #endif } private void InitSettings() { if (Settings.Default.RecentOpenFiles == null) Settings.Default.RecentOpenFiles = new RecentOpenFiles(); if (Settings.Default.AppProperties == null) Settings.Default.AppProperties = new PDFSettings.APPSettingProperties(); if (Settings.Default.AllPDFToolsList == null) Settings.Default.AllPDFToolsList = new PDFSettings.AllPDFToolsList(); if (Settings.Default.QuickPDFToolsList == null) Settings.Default.QuickPDFToolsList = new PDFSettings.QuickPDFToolsList(); } protected override void OnStartup(StartupEventArgs e) { LicenseVerify(); InitSettings(); CachePath = CacheFilePath.Instance; //清除临时文件 CacheFilePath.Instance.ClearDeleteFiles(); try { DirectoryInfo info = new DirectoryInfo(CurrentPath); //避免因存在同名文件,导致无法创建文件夹 if (File.Exists(CurrentPath)) { File.Delete(CurrentPath); } if (!info.Exists) { info.Create(); } } catch (Exception ex) { } base.OnStartup(e); } /// /// 创建启动窗口 /// /// protected override Window CreateShell() { return Container.Resolve(); } protected override void RegisterTypes(IContainerRegistry containerRegistry) { #region 注册内容组件 containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation("Cloud"); containerRegistry.RegisterForNavigation("Tools"); containerRegistry.RegisterForNavigation("Guid"); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); //填写与签名 containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); //Form表单 containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); #endregion 注册内容组件 #region 注册弹窗 containerRegistry.RegisterDialog(DialogNames.VerifyPassWordDialog); containerRegistry.RegisterDialog(DialogNames.FullScreenDialog); containerRegistry.RegisterDialog(DialogNames.CompressDialog); containerRegistry.RegisterDialog(DialogNames.SetPasswordDialog); containerRegistry.RegisterDialog(DialogNames.CheckPasswordDialog); containerRegistry.RegisterDialog(DialogNames.DeleteSafetySettingsDialog); containerRegistry.RegisterDialog(DialogNames.CompressProgressBarDialog); containerRegistry.RegisterDialog(DialogNames.InsertDialog); containerRegistry.RegisterDialog(DialogNames.SplitDialog); containerRegistry.RegisterDialog(DialogNames.ExtractDialog); containerRegistry.RegisterDialog(DialogNames.HomePageExtractDialog); containerRegistry.RegisterDialog(DialogNames.HomePageInsertDialog); containerRegistry.RegisterDialog(DialogNames.HomePageSplitDialog); containerRegistry.RegisterDialog(DialogNames.HomePagePrinterDialog); containerRegistry.RegisterDialog(DialogNames.HomePagePrinterPaperSettingsDialog); containerRegistry.RegisterDialog(DialogNames.HomePagePictureToPDFDialog); containerRegistry.RegisterDialog(DialogNames.HomePageBatchProcessingDialog); containerRegistry.RegisterDialog(DialogNames.DynamicPropertyDialog); containerRegistry.RegisterDialog(DialogNames.CustomCreateDialog); containerRegistry.RegisterDialog(DialogNames.SignatureCreateDialog); containerRegistry.RegisterDialog(DialogNames.ConverterCSVDialog); containerRegistry.RegisterDialog(DialogNames.ConverterPPTDialog); containerRegistry.RegisterDialog(DialogNames.ConverterTextDialog); containerRegistry.RegisterDialog(DialogNames.ConverterWordDialog); containerRegistry.RegisterDialog(DialogNames.ConverterHTMLDialog); containerRegistry.RegisterDialog(DialogNames.ConverterImgDialog); containerRegistry.RegisterDialog(DialogNames.ConverterRTFDialog); containerRegistry.RegisterDialog(DialogNames.ConverterExcelDialog); containerRegistry.RegisterDialog(DialogNames.ConverterProgressBarDialog); containerRegistry.RegisterDialog(DialogNames.ScreenAnnotationDialog); #endregion 注册弹窗 } protected override void ConfigureRegionAdapterMappings(RegionAdapterMappings regionAdapterMappings) { var region = new SingleActiveRegion() { Name = RegionNames.MainRegion }; region.Behaviors.Add(DragablzWindowBehavior.BehaviorKey, new DragablzWindowBehavior()); Container.Resolve().Regions.Add(region); base.ConfigureRegionAdapterMappings(regionAdapterMappings); } /// /// 验证SDK和转档库密钥 /// /// private static bool LicenseVerify() { bool result = false; try { result = CPDFSDKVerifier.LoadNativeLibrary(); if (!result) return false; } catch { } SDKLisenceHelper sdkhelper = new SDKLisenceHelper(); string devKey = ""; string devSecret = ""; #if DEBUG devKey = "ehrnKqkWc1XSEAWyPUt6+95GzCoLEyoKrCbsUuJkCqGmxmP5ozX4bS0R6crHItQVNTFvC5mBZ1M7QjJ6Ekdu4Daj7PM+EDLTBKbFJinK4Ri9E5E2X+a9vF5zSj0TkIscQPVnwj9ikxAFOWGIyybMwQQzwc8a4j1cGOqGXQRDMMY="; devSecret = "mG0c3O3Mzeu5dkZJW3gpqq9uA7o7EGQveSC38Q8TK4gQurxTxGuBlGAhs0P1mD3X3bHT+AHfcLiymaqE4DY7kTFHoPs9I3tl5ErS+BHdzHRhrp9sGpqfp0B228KI+IMTu4aGVjtYuk+Uxs/kosIBw1367/WkJ00tM7U7tttD6ccHhEu996bvBgqf8Sw8OekQKQq13VBewK5AckaDux4W7SGRhCUNWC4MItkr36JnXMD2tiFQYzMG8C66HYmRGSLh"; devKey = sdkhelper.DevKey; devSecret = sdkhelper.DevSecret; #endif string userKey = sdkhelper.UserKey; string userSecret = sdkhelper.UserSecret; try { LicenseErrorCode verifyResult = CPDFSDKVerifier.LicenseVerify(devKey, devSecret); if (verifyResult != LicenseErrorCode.LICENSE_ERR_SUCCESS) return false; } catch { } string ConverterDevKey = sdkhelper.ConverterDevKey; string ConverterDevSecret = sdkhelper.ConverterDevSecret; string ConverterUserkey = sdkhelper.ConverterUserkey; string ConverterUserSecret = sdkhelper.ConverterUserSecret; try { /*LicenseError licenseerror = CPDFConverter.SDKLicenseVerify(ConverterDevKey, ConverterDevSecret, ConverterUserkey, ConverterUserSecret); string resPath = Path.GetDirectoryName(typeof(MainWindow).Assembly.Location) + "\\"; if (licenseerror != LicenseError.ERR_SUCCESS) { return false; } CPDFConverter.Init(resPath);*/ string resPath = Path.GetDirectoryName(typeof(MainWindow).Assembly.Location) + "\\"; LicenseError licenseerror = CPDFConverter.LicenseVerify(ConverterDevKey, ConverterDevSecret); if (licenseerror != LicenseError.ERR_SUCCESS) { //MessageBox.Show("ComPDFKit Conversion SDK Load Failed!"); return false; } CPDFConverter.Init(resPath); } catch { } return result; } protected override void OnExit(ExitEventArgs e) { Environment.Exit(1); base.OnExit(e); } } }