因此,我想出了转到目录的 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# 还很陌生
千万里不及你
相关分类