Ejemplo n.º 1
0
        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;
            }));
        }
Ejemplo n.º 2
0
        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));
        }