PDF 合并 VB.NET 使用搜索词作为数组。该代码正在运行但复制了第一个 PDF?

PDF Merge VB.NET using search words as Arrays. The Code is working but duplicating the 1st PDF?

我编写了这段代码,它根据包含特定单词的文件名搜索 2 个不同的 PDF 文件。

在我的例子中,我正在搜索 "Complaint" 和 "Exhibit"。

我考虑过使用搜索功能和 contains() 来查找这些词。

所以我会有一个目录

ZTEST10 Complaint.pdf(2 页)

ZTEST10 Exhibit.pdf(2 页)

它们合并后的输出文件名为ZTEST10 Complaint & Exhibit.pdf。

唯一的问题是在 pdf 投诉中出现了两次?示例:

投诉第1页

投诉第2页

投诉第1页

投诉第2页

展览第 1 页

展览第 2 页

我不知道为什么我的代码会复制它找到的第一个 PDF?

这是我的代码:

 Private inputdir1 = ("G:\Word\Department Folders\Pre-Suit\Drafts-IL-IL_AttyReview18-09\Reviewed\unmerged\Merge\")
    Sub Main()
        Dim OutputFile As String
        Dim OutputDir As String = inputdir1
        Dim OutputDocument As PdfDocument
        Dim Array = {"Complaint", "Exhibit"}
        For Each Ar In Array
            Dim element = Ar

            For Each files As IO.FileInfo In Get_Files(inputdir1,
                                              IO.SearchOption.TopDirectoryOnly,
                                              "pdf",
                                              element)


                Console.WriteLine(files)
                Console.WriteLine("Merging: {0}...", GetFileName(files.Name))


                For Each fileinput As String In Directory.GetFiles(inputdir1, files.Name)


                    OutputFile = GetFileNameWithoutExtension(fileinput).Substring(0, 7) & " Complaint & Exhibit" & ".pdf"
                    If File.Exists(OutputDir & OutputFile) Then
                        OutputDocument = PdfReader.Open(OutputDir & OutputFile)
                    Else
                        OutputDocument = New PdfDocument()
                    End If

                    Using InputDocument As PdfDocument = PdfReader.Open(fileinput, PdfDocumentOpenMode.Import)
                        For Each page As PdfPage In InputDocument.Pages
                            OutputDocument.AddPage(page)

                        Next
                    End Using

                    OutputDocument.Save(OutputDir & OutputFile)
                    OutputDocument.Dispose()
                Next
            Next
        Next




    End Sub
    Private Function Get_Files(ByVal directory As String,
                           ByVal recursive As IO.SearchOption,
                           ByVal ext As String,
                           ByVal with_word_in_filename As String) As List(Of IO.FileInfo)

        Return IO.Directory.GetFiles(directory, "*" & If(ext.StartsWith("*"), ext.Substring(1), ext), recursive) _
                           .Where(Function(o) o.ToLower.Contains(with_word_in_filename.ToLower)) _
        .Select(Function(p) New IO.FileInfo(p)).ToList

    End Function

End Module

我假设输出文件创建得太早,所以输出文件稍后会复制到自身,从而复制其中一个输入文件。

" Complaint & Exhibit" 更改为例如" Combined" 并检查问题是否已解决。