private bool DoExportToPdf(string path) { var metadata = options.UseSavedMetadata ? pdfSettingsContainer.PdfSettings.Metadata : new PdfMetadata(); metadata.Creator = ConsoleResources.NAPS2; if (options.PdfTitle != null) { metadata.Title = options.PdfTitle; } if (options.PdfAuthor != null) { metadata.Author = options.PdfAuthor; } if (options.PdfSubject != null) { metadata.Subject = options.PdfSubject; } if (options.PdfKeywords != null) { metadata.Keywords = options.PdfKeywords; } var encryption = options.UseSavedEncryptConfig ? pdfSettingsContainer.PdfSettings.Encryption : new PdfEncryption(); if (options.EncryptConfig != null) { try { using (Stream configFileStream = File.OpenRead(options.EncryptConfig)) { var serializer = new XmlSerializer(typeof(PdfEncryption)); encryption = (PdfEncryption)serializer.Deserialize(configFileStream); } } catch (Exception ex) { Log.ErrorException(ConsoleResources.CouldntLoadEncryptionConfig, ex); errorOutput.DisplayError(ConsoleResources.CouldntLoadEncryptionConfig); } } var pdfSettings = new PdfSettings { Metadata = metadata, Encryption = encryption }; bool useOcr = !options.DisableOcr && (options.EnableOcr || options.OcrLang != null || userConfigManager.Config.EnableOcr); string ocrLanguageCode = useOcr ? (options.OcrLang ?? userConfigManager.Config.OcrLanguageCode) : null; return(pdfSaver.SavePdf(path, startTime, scannedImages, pdfSettings, ocrLanguageCode, i => { OutputVerbose(ConsoleResources.ExportingPage, i, scannedImages.Count); return true; })); }
private void ExportPdfProcess() { var pdfSettings = pdfSettingsContainer.PdfSettings; pdfSettings.Metadata.Creator = MiscResources.NAPS2; var ocrLanguageCode = userConfigManager.Config.EnableOcr ? userConfigManager.Config.OcrLanguageCode : null; pdfSaver.SavePdf(Filename, DateTime.Now, Images, pdfSettings, ocrLanguageCode, num => { Invoke(new ThreadStart(() => SetStatus(num, Images.Count))); return(true); }); Invoke(new ThreadStart(Close)); }