- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
VB2017 使用 iText7。我正在寻找一种在 PDF 中搜索关键文本的方法。当我找到关键文本时,我想返回它所在的框中的所有文本。
例如,在此 PDF 中,我查找关键词“可用长度”,并希望在找到它的框中返回文本“Rwy 33 PAPI-L,可用长度,注释。”
这是我目前所拥有的 ( based on this ),并希望对此概念有任何建议或建议:
Public Function FindTextInPdfFile(ByVal fileName As String, ByVal searchText As String, ByVal IsCaseSensitive As Boolean) As List(Of String)
'basic checks
If String.IsNullOrWhiteSpace(fileName) Then Return Nothing
If String.IsNullOrWhiteSpace(searchText) Then Return Nothing
If Not File.Exists(fileName) Then Return Nothing
'setup the regex to use or not use case sensitivity in the match
Dim pattern As String = String.Format("({0})", searchText)
Dim regEx As Regex = Nothing
If IsCaseSensitive Then
regEx = New Regex(pattern)
Else
regEx = New Regex(pattern, RegexOptions.IgnoreCase)
End If
'setup the extraction strategy and temp buffer
Dim strategy As ITextExtractionStrategy = New SimpleTextExtractionStrategy
Dim buffBasic As New StringBuilder
'open the PDF and do a basic search for the text in each page. for each page where we detect the search item
'we will add that to the temp buffer.
Using pdfReader As PdfReader = New PdfReader(fileName)
Using pdfDocument As PdfDocument = New PdfDocument(pdfReader)
For pageNum As Integer = 1 To pdfDocument.GetNumberOfPages
Dim page As PdfPage = pdfDocument.GetPage(pageNum)
Dim currentPageText As String = PdfTextExtractor.GetTextFromPage(page, strategy)
If regEx.Matches(currentPageText).Count > 0 Then
'Debug.Print("found search text [{0}] in page num {1}", searchText, pageNum)
'Debug.Print("GetResultantText={0}", strategy.GetResultantText)
'GetResultantText has lines of text separated by an LF
buffBasic.Append(strategy.GetResultantText & lf)
End If
Next pageNum
End Using
End Using
'the buffer should have lines of text separated by an LF
Dim linesBasic As List(Of String) = buffBasic.ToString.Split(lf).ToList
Dim linesMatch As List(Of String) = linesBasic.FindAll(Function(x) regEx.Matches(x).Count > 0)
Debug.Print("match count={0}", linesMatch.Count)
For Each line In linesMatch
Debug.Print("line={0}", line)
Next line
Return linesMatch
End Function
在示例 PDF 上测试此结果
FindTextInPdfFile(pdf, "usable length", True)
match count=1
line=Rwy 33 PAPI-L, usable length, notes.
最佳答案
其中 page = PdfPage
/// <summary>
/// determines if this document contains the provided text
/// </summary>
/// <param name="find">string</param>
/// <param name="caseSensitive">bool</param>
/// <returns>bool</returns>
public bool Contains(string find, bool caseSensitive = true)
{
string content = PdfTextExtractor.GetTextFromPage(page);
if (string.IsNullOrEmpty(content))
{
return false;
}
return content.IndexOf(find, caseSensitive ? StringComparison.InvariantCulture : StringComparison.InvariantCultureIgnoreCase) > -1;
}
关于.net - 使用 iText7 在 PDF 中搜索文本并取回整个框文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56942874/
如何处理在 EditText 上键入时按返回键的事件?当显示虚拟键盘并且用户按回时,它会被隐藏。我想处理这个事件,但是在 EditText 中设置 OnKeyListener 并没有帮助。 最佳答案
我编写了 SMS 应用程序,并为其编写了 BroadcastReceiver。我想从 BroadcastReceiver 获取数据到我的 Activity 中,那么我该如何获取呢。 我的广播接收器代码
有一个场景,其中 httpentity 在 InputStream 中有图像的二进制数据,为了进一步处理,它被转换为库文件中的字符串 [String str = EntityUtils.toStrin
如何获取 uiwebview 的返回和转发 URL。我想要 URL,以便我可以相应地启用和禁用我的网络浏览器上的后退和前进按钮 谢谢 最佳答案 UIWebView 包含后退或前进的构建方法 只需使用执
CGRect rect = Temp_3_Artwork_Big_Image.frame; NSLog(@"Rect : %.2f,%.2f,%.2f,%.2f",rect.origin.x,rect
在返回旧项目并更新其依赖项后,我必须意识到,自版本 1.1.5 以来,logback 不再将 MDC 传播给子项:https://github.com/qos-ch/logback/commit/aa
holder.js 我想向我的页面动态添加占位符图像。 这样插入是行不通的: $('',{class:'file-item'}) .append($('',{'data-src':'holde
我在 C# 中使用 ExecuteOracleNonQuery 来使用存储过程将记录插入到我的 Oracle 数据库中,但似乎无法返回 ROWID。 在 C# 中 ... using (OracleC
我正在努力将一条记录插入到 postgresql 中: val res = DB.withConnection { implicit con => SQL(
我是新手,正在尝试使用 React 和 Redux 构建一个简单的书签应用程序。 我无法解决这个问题: 用户可以创建一个书签并将其添加到多个文件夹。所以我发送一个 addMark(bookmark)
我有一个像下面这样的网址 /pages/edit_product/11 在我的行动 edit_product我怎样才能得到 id 11 这样我就可以做@p = Product.find_by_id(1
我在php中有一个外部文件,输出为json格式 我希望数据以数组的形式发送回 jquery ....该怎么做? php: $options = "data 0 data 1 data 2 data 3
我有以下 C++ 代码: __declspec(dllimport) char* get_mac() { size_t byteToAlloc = 17; char *mac_addr
我正在编写一个 Azure 函数,该函数从 Microsoft 获取 OAuth token ,我已经成功获取了该 token 。我正在尝试使用该 token 访问 Microsoft Graph。我
我有一个 Python Google App Engine 应用程序,我想在 Emacs 中的开发服务器上进行调试。我创建了一个 pdb 可执行文件,以便在 Emacs 中进行调试: $ which
我正在开发一个 google chrome 扩展程序,需要在其中对 Twitch 上的用户进行身份验证。根据https://github.com/justintv/Twitch-API/blob/ma
我有一个简单的 Web API,它返回一个 Iobservable。我正在使用 HttpClient 获取 Observable,以便我可以订阅它。我的问题是订阅时返回的 Iobservable 发出
我正在使用 Ionic 2 构建 Web 应用程序的移动版本,该应用程序使用 SAML 进行 SSO,在我的客户端服务器上运行。现在我们有一个 api,当您未登录网站时会调用它,该网站会重定向到他们的
几个月前,我创建了一个使用 oauth2 与谷歌进行身份验证的 rails 应用程序 - 特别是 omniauth-google-oauth2 gem。我已经完成了创建身份验证和存储刷新 token
我正在尝试将一个值作为 JSON 从我的后端传递到我的应用程序的前端。我目前正在运行 express.js 并且所有发布方法的连接都是完美的。 在我的应用程序的前端单击按钮后,我想从我的服务器取回发票
我是一名优秀的程序员,十分优秀!