コード例 #1
0
        private void combineFilesConvertedToPdf_Ordered()
        {
            ModalOverlayIsVisible      = false;
            SetFileOrderModalIsVisible = false;
            UpdateLabelPdf             = "";

            try
            {
                var combined_file_names = new List <string>();
                var combine_files       = FilesConvertedToPdf_Ordered.ToList();

                var ticket_atty   = FilesConvertedToPdf.Where(x => !string.IsNullOrEmpty(x.TicketPlusAttorney)).Select(x => x.TicketPlusAttorney).FirstOrDefault();
                var new_file_name = PdfUtilities.GenerateFilenameForNewPdf(DestinationFolderConvertedFiles, "CombinedPdf", ticket_atty);

                if (StaticSystemTests.IsAdobePdfPrinterAvailable())
                {
                    // create combined pdf
                    Models.MergePdf.SimpleMergedPdf simpleMergedPdf;
                    if (!string.IsNullOrEmpty(new_file_name))
                    {
                        simpleMergedPdf = new Models.MergePdf.SimpleMergedPdf(combine_files, "Acrobat", true, new_file_name);
                    }
                    else
                    {
                        simpleMergedPdf = new Models.MergePdf.SimpleMergedPdf(combine_files, "Acrobat", true);
                    }

                    // add new file to FilesConvertedToPdf collection
                    if (System.IO.File.Exists(simpleMergedPdf?.NewCombinedFile))
                    {
                        if (!FilesConvertedToPdf.Any(x => x.FullName == simpleMergedPdf.NewCombinedFile))
                        {
                            FilesConvertedToPdf.Add(new CockleFilePdf(simpleMergedPdf.NewCombinedFile, SourceFileTypeEnum.Combined_Pdf));
                            UpdateLabelPdf = "Created: " + simpleMergedPdf.NewCombinedFile;
                        }
                    }
                }
                else // using PdfSharp or iTextSharp ???
                {
                    //combined_file_name = new SimpleMergedPdf(SelectedPdfFiles, "PdfSharp").NewCombinedFile;
                    //var combined_file = new SimpleMergedPdf(SelectedPdfFiles, "iTextSharp").NewFileName;
                }
            }
            catch (Exception ex)
            {
                Console.Write(ex.Message);
                UpdateLabelPdf = ex.Message;
            }
        }
コード例 #2
0
        private async void executeCenterPdf()
        {
            ModalOverlayIsVisible        = false;
            CoverLengthSelectorIsVisible = false;
            UpdateLabelPdf = "";
            try
            {
                // get new file name
                var cv_type = CenteredCoverType.NotSet;
                var custom_filename_text = string.Empty;
                if (BookletSelected_CenterPdf)
                {
                    cv_type = CenteredCoverType.Booklet;
                    custom_filename_text = "CenteredOnBookletSizedPage";
                }
                else if (LetterSelected_CenterPdf)
                {
                    cv_type = CenteredCoverType.Letter;
                    custom_filename_text = "CenteredOnLetterSizedPage";
                }
                var ticket_atty   = FilesConvertedToPdf.Where(x => !string.IsNullOrEmpty(x.TicketPlusAttorney)).Select(x => x.TicketPlusAttorney).FirstOrDefault();
                var new_file_name = PdfUtilities.GenerateFilenameForNewPdf(DestinationFolderConvertedFiles, custom_filename_text, ticket_atty);

                // typeset -- upper left
                if (UpperLeftPosition_CenterPdf)
                {
                    // this is a simple typeset centering, done with the one step process
                    int?cv_len = null;
                    if (HasCover_CenterPdf)
                    {
                        // two ways to get cover length: 1) check other files in directory, 2) iText method
                        if (FilesConvertedToPdf.Any(x => null != x.CoverLength))
                        {
                            cv_len = FilesConvertedToPdf.Where(x => null != x.CoverLength).FirstOrDefault().CoverLength;
                        }
                        else
                        {
                            cv_len = PdfCropAndNUp.StaticUtils.GetCoverLength_FirstPageTypesetPdf(SelectedPdfFile.FullName);
                        }
                    }
                    var c = await System.Threading.Tasks.Task.Run(() =>
                                                                  new Models.CenterPdfText.CenterTypesetPdf(SelectedPdfFile, cv_len, new_file_name, cv_type));

                    if (null != c && null != c.NewFileCreated &&
                        System.IO.File.Exists(c.NewFileCreated.FullName))
                    {
                        if (!FilesConvertedToPdf.Any(x => x.FullName == c.NewFileCreated.FullName))
                        {
                            FilesConvertedToPdf.Add(c.NewFileCreated);
                        }
                        UpdateLabelPdf = "Created: " + System.IO.Path.GetFileNameWithoutExtension(c.NewFileCreated.FullName);
                    }
                }
                // already centered
                else if (CenterPosition_CenterPdf)
                {
                    // if already centered, no need to separate out cover
                    Models.CenterPdfText.CenterCameraReadyBrief ctr = null;
                    if (BookletSelected_CenterPdf)
                    {
                        ctr = await System.Threading.Tasks.Task.Run(() =>
                                                                    new Models.CenterPdfText.CenterCameraReadyBrief(SelectedPdfFile, new_file_name, CenteredCoverType.Booklet));
                    }
                    else if (LetterSelected_CenterPdf)
                    {
                        ctr = await System.Threading.Tasks.Task.Run(() =>
                                                                    new Models.CenterPdfText.CenterCameraReadyBrief(SelectedPdfFile, new_file_name, CenteredCoverType.Letter));
                    }
                    if (null != ctr && null != ctr.NewFileCreated &&
                        System.IO.File.Exists(ctr.NewFileCreated.FullName))
                    {
                        if (!FilesConvertedToPdf.Any(x => x.FullName == ctr.NewFileCreated.FullName))
                        {
                            FilesConvertedToPdf.Add(ctr.NewFileCreated);
                            UpdateLabelPdf = "Created: " + System.IO.Path.GetFileNameWithoutExtension(ctr.NewFileCreated.FullName);
                        }
                    }
                }
                // need to develop this: method to crop (find text boundaries) and center
                else if (NotCentered_CenterPdf)
                {
                }
            }
            catch (Exception ex)
            {
                Console.Write(ex.Message);
                UpdateLabelPdf = ex.Message;
            }
        }