为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C#
万千封印 2021-10-23 17:31:54
因此,我想出了转到目录的 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# 还很陌生
查看完整描述

1 回答

?
千万里不及你

TA贡献1784条经验 获得超9个赞

没有验证等,让用户提供信息很简单:


Console.WriteLine("Please enter location");

var location = Console.ReadLine();


查看完整回答
反对 回复 2021-10-23
  • 1 回答
  • 0 关注
  • 161 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信