Может ли кто-нибудь показать мне, как извлекать страницы на основе номеров страниц, найденных в поиске, и создавать новый PDF-файл для печати? Я имею в виду, что я буду искать pdf, используя vb. net, и страницы, на которых есть мой ответ, будут извлечены в другой pdf, и в конце поиска он распечатает новый pdf. Что я делал до сих пор, так это то, что я выполнил поиск, и он возвращает номер страницы для правильных результатов, но я не знаю отсюда, что делать, см. Ниже:
Public Shared Function SearchTextFromPdf(ByVal sourcePdf As String, ByVal searchPhrase As String, Optional ByVal caseSensitive As Boolean = False) As List(Of Integer)
Dim fBrowse As New OpenFileDialog
With fBrowse
.Filter = "PDF Files(*.pdf)|*.pdf|All Files(*.*)|*.*"
.Title = "Choose Pdf"
End With
If fBrowse.ShowDialog() = Windows.Forms.DialogResult.OK Then
sourcePdf = fBrowse.FileName
Else
Exit Function
End If
Dim foundList As New List(Of Integer)
Dim raf As iTextSharp.text.pdf.RandomAccessFileOrArray = Nothing
Dim reader As iTextSharp.text.pdf.PdfReader = Nothing
Try
raf = New iTextSharp.text.pdf.RandomAccessFileOrArray(sourcePdf)
reader = New iTextSharp.text.pdf.PdfReader(raf, Nothing)
If caseSensitive = False Then
searchPhrase = searchPhrase.ToLower()
End If
For i As Integer = 1 To reader.NumberOfPages()
Dim pageText As String = iTextSharp.text.pdf.parser.PdfTextExtractor.GetTextFromPage(reader, i)
If caseSensitive = False Then
pageText = pageText.ToLower()
End If
If pageText.Contains(searchPhrase) Then
MsgBox(i)
foundList.Add(i)
End If
Next
reader.Close()
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
Return foundList
End Function