C# 如何按文件名顺序合并文件
我想用iTextSharp创建一个新的pdf文件。我所有的代码都正常工作,但新文件没有按页码排序 您能告诉我如何修改以下代码以创建按文件名(页码)排序的新pdf文件吗C# 如何按文件名顺序合并文件,c#,C#,我想用iTextSharp创建一个新的pdf文件。我所有的代码都正常工作,但新文件没有按页码排序 您能告诉我如何修改以下代码以创建按文件名(页码)排序的新pdf文件吗 foreach(目录.GetFiles(路径)中的var文件) { 读卡器=新的PDF读卡器(文件); 对于(int i=0;i
foreach(目录.GetFiles(路径)中的var文件)
{
读卡器=新的PDF读卡器(文件);
对于(int i=0;i
文件夹包含102个文件。文件名为第1页、第2页、第3页
我希望输出的页面是有序的
提前非常感谢因为您需要按数字顺序排序(即如果按字母顺序排序,
Page_15
在Page_2
之前),因此您需要从文件名中提取,例如:
// Needs some work but you get the idea
private int GetNumberFromFilename(string filename)
{
var baseName = Path.GetFileName(filename);
var parts = filename.Split('_','.');
if(int.TryParse(parts[1], out var number))
{
return number;
}
return 0;
}
现在,您可以按如下方式获取已排序的文件:
var files = Directory.GetFiles(path)
.Where(f => Path.GetFileName(f).StartsWith("Page_")) //filter out non matching files
.OrderBy(GetNumberFromFilename);
你在用哪个图书馆?
var files = Directory.GetFiles(path)
.Where(f => Path.GetFileName(f).StartsWith("Page_")) //filter out non matching files
.OrderBy(GetNumberFromFilename);