C# 询问用户需要合并的 PDF 在哪个目录中。然后问用户新的子文件夹将被称为合并

因此,我想出了转到目录的 C# 代码,搜索 PDF 文件名及其带有 _1 的免费 PDF 文件,并将它们合并到该目录中名为“合并”的文件夹中


  using PdfSharp.Pdf;

    using PdfSharp.Pdf.IO;

    using System;

    using System.Collections.Generic;

    using System.IO;

    using System.Linq;

    using System.Text;

    using System.Threading.Tasks;

    namespace ConsoleApp1

    {

        class Program

        {

                   //private const string dir = @"C:\Users\XBorja\Desktop\IMAGES\";

        static void Main(string[] args)

        {

            Console.WriteLine("Please Enter Location");

            var dir = Console.ReadLine();

            File.SetAttributes(dir, FileAttributes.Normal);

            string[] files = Directory.GetFiles(dir, "*.pdf");

            IEnumerable<IGrouping<string, string>> groups = files.GroupBy(n => n.Split('.')[0].Split('_')[0]);

            //string f = files[0].Split('_')[0];

            foreach (var items in groups)

                {

                    Console.WriteLine(items.Key);

                    PdfDocument outputPDFDocument = new PdfDocument();

                    foreach (var pdfFile in items)

                    {

                        Merge(outputPDFDocument, pdfFile);

                    }

                    outputPDFDocument.Save(Path.GetDirectoryName(items.Key) + @"\Merge\" + Path.GetFileNameWithoutExtension(items.Key) + ".pdf");

                }

                Console.ReadKey();

            }

            private static void Merge(PdfDocument outputPDFDocument, string pdfFile)

            {

                PdfDocument inputPDFDocument = PdfReader.Open(pdfFile, PdfDocumentOpenMode.Import);

                outputPDFDocument.Version = inputPDFDocument.Version;

                foreach (PdfPage page in inputPDFDocument.Pages)

                {

                    outputPDFDocument.AddPage(page);

                }

            }

        }

    }

这很好用,但我更希望它不是硬编码,而是通过询问 PDF 所在的目录是要合并的目录来提示用户。然后,一旦这样做,就询问用户合并后的 pdf 将转到的新子文件夹将被命名为什么。


我对 C# 还很陌生


万千封印
浏览 162回答 1
1回答

千万里不及你

没有验证等,让用户提供信息很简单:Console.WriteLine("Please enter location");var location = Console.ReadLine();
打开App,查看更多内容
随时随地看视频慕课网APP