当我使用 iText 从 PDF 文件中提取文本时,我从前一页获取值

2024-07-01

我正在尝试从多页 PDF 文件中每个页面的特定位置提取文本块。

我知道文本的位置,并且能够在第一页上正确提取它。 然而,在第一页之后的页面上,提取的文本似乎正在累积。

例如,如果第 1 页上的文本值为“A”,第 2 页为“B”,第 3 页为“C”,那么对于通过 FOR 循环的每次迭代,我将在输出字符串中收到以下值:

循环 1:输出 = A

循环 2:输出 = B A

循环 3:输出 = C B A

我在我的项目中使用 iTextSharp,用 C# 编写。

任何帮助,将不胜感激。

var reader = new PdfReader(foregroundFile);

RectangleJ customerIdRectangle = new RectangleJ(0, 495, 108, 27);
RenderFilter[] filters = new RenderFilter[1];
LocationTextExtractionStrategy regionFilter = new LocationTextExtractionStrategy();
filters[0] = new RegionTextRenderFilter(customerIdRectangle);
FilteredTextRenderListener strategy = new FilteredTextRenderListener(regionFilter, filters);

for (int i = 1; i <= reader.NumberOfPages; i++)
{
    string output = "";
    output = PdfTextExtractor.GetTextFromPage(reader, i, strategy);
    Console.WriteLine(output);
}

请像这样调整您的代码:

var reader = new PdfReader(foregroundFile);

RectangleJ customerIdRectangle = new RectangleJ(0, 495, 108, 27);

for (int i = 1; i <= reader.NumberOfPages; i++)
{
    RenderFilter[] filters = new RenderFilter[1];
    LocationTextExtractionStrategy regionFilter = new LocationTextExtractionStrategy();
    filters[0] = new RegionTextRenderFilter(customerIdRectangle);
    FilteredTextRenderListener strategy = new FilteredTextRenderListener(regionFilter, filters);
    string output = "";
    output = PdfTextExtractor.GetTextFromPage(reader, i, strategy);
    Console.WriteLine(output);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当我使用 iText 从 PDF 文件中提取文本时,我从前一页获取值 的相关文章

随机推荐

  • Django Rest 框架和外部 api

    我想从外部 API 获取数据 https example com consumers https example com consumers 我可以像这样构建我的 urls py 吗 url r P
  • 如何在 Android 设备上添加给定日期的日历事件?

    来自堆栈溢出问题如何在Android中添加日历事件 https stackoverflow com questions 3721963 how to add calendar events in android我开始知道如何添加日历事件 但
  • 从 IE 打印时,如何防止 元素出现在多个页面上?

    我有一个 HTML 数据表 其中每个单元格可以有多行文本 打印表格时 一行可能会被分解 以便一些数据出现在第一页的底部 而一些数据出现在下一页的顶部 是否有类似于 Word 的 保持在一起 功能可以防止表格行内发生分页 我认为这将是一个常见
  • Heroku 中的 ActionController::RoutingError (未初始化常量 User::UsersController)(但一切都在本地工作)

    我正在尝试在 heroku 中运行我的应用程序 但在尝试注册甚至访问设备的登录页面时出现此错误 ActionController RoutingError uninitialized constant User UsersControlle
  • 是否可以使用 CMD/BAT/VBS 更改 WiFi 托管网络设置?

    我试图改变两个托管网络设置 of my 无线热点使用CMD BAT VBS 但我无法做到这一点 我想更改的设置 身份验证 例如 WPA WPA2PSK 密码 例如 CCMP AES 以下代码提供有关托管网络设置的信息 netsh wlan
  • 更新主干模型/视图的轮询请求

    我需要找到一种方法来更新使用以下实现的网络应用程序backbone 用例如下 我有几个视图 每个视图 或者可能与该视图相关的模型 集合 需要在不同的时间向服务器发出不同的轮询请求以发现某些变化 我想知道最通用的方法是什么 1 实施Tradi
  • 通过setRequestHeader授权

    我发现这段代码可以使用 setRequestheader 和 Ajax 进行身份验证 this xmlDoc setRequestHeader Authorization Basic Base64 encode User Password
  • Python Pandas:使用 groupby() 和 agg() 时顺序是否保留?

    我经常使用熊猫 agg 函数对 data frame 的每一列运行摘要统计 例如 以下是生成平均值和标准差的方法 df pd DataFrame A group1 group1 group2 group2 group3 group3 B 1
  • 如何在 kubernetes 中“部署”而不进行任何更改,只是为了让 pod 循环

    我正在尝试做的事情 Pod 中运行的应用程序在启动时会刷新其数据文件 每次我想刷新数据时都需要重新启动容器 刷新可能需要几分钟 所以我有一个探针检查准备情况 What I think是一个解决方案 我将运行一个预定的工作 http kube
  • CVS 只读签出

    我必须在项目中使用CVS 到目前为止 在我的整个工作生涯中 我只使用过 perforce 而且我对 CVS 一无所知 我阅读了整个 CVS 手册 但找不到如何执行此操作 在perforce中 当你签出一个文件时 你首先必须执行p4 edit
  • C# 参数隐式转换

    有这个代码 class Program static void Main string args Check 3 Console ReadLine static void Check int i Console WriteLine I am
  • Python中字典转小写

    我希望这样做 但为了一本字典 My string lower 是否有内置函数或者我应该使用循环 您将需要使用循环或列表 生成器理解 如果你想将所有的键和值都小写 你可以这样做 dict k lower v lower for k v in
  • 为什么 Sequence 是 mypy 中 + 不支持的操作数类型?

    mypy给出一个错误Sequence str 不是受支持的操作数类型 操作员 test py from typing import Sequence def test x Sequence str y Sequence str gt Seq
  • React + Redux 中的多个/批量删除

    我有一个允许多重选择和删除功能的数据网格 我的 api 有一个删除端点 DELETE http localhost 8888 api audit id 这就是动作创建者 export function deleteAudit audits
  • 使用 mqtt 协议和 kafka 作为消息代理

    我们如何使用 mqtt 协议和 kafka 作为消息代理 客户端 android ios 桌面 java 应用程序等 将使用 mqtt phao 客户端库生成和使用消息 这些客户端库可使用 kafka 作为消息代理以不同语言提供 有什么建议
  • Python,针对频繁模式的网络日志数据挖掘

    我需要开发一个用于网络日志数据挖掘的工具 由于在特定用户会话中请求了许多 url 序列 从 Web 应用程序日志中检索 我需要找出网站用户的使用模式和组 集群 我是数据挖掘的新手 现在经常检查谷歌 发现一些有用的信息 即查询似乎指向几乎完全
  • Electron v4 支持 ECMAScript 模块吗?

    我正在使用 Electron 编写应用程序 当前版本 4 0 6 基于 Node 10 11 0 和 Chrome 69 0 3947 106 我认为最新版本的 Electron 将支持 ECMAScript ES6 模块 但到目前为止我还
  • Jenkins 管道脚本未运行

    对于下面的管道脚本 Helo World 未打印 甚至节点也没有被分配 pipeline agent any stages stage Example steps echo Hello World 安装了 Pipeline Declarat
  • 为什么当缩放改变时,具有相同高度的元素“看起来”不同?

    基本上 要点就在主题中 当我创建两个具有固定高度 2px 的相同 div 并将缩放更改为 75 或 125 时 由于某种原因它们 看起来 不同 有人可以解释一下这里发生了什么吗 我该如何解决这个问题 gradient slider line
  • 当我使用 iText 从 PDF 文件中提取文本时,我从前一页获取值

    我正在尝试从多页 PDF 文件中每个页面的特定位置提取文本块 我知道文本的位置 并且能够在第一页上正确提取它 然而 在第一页之后的页面上 提取的文本似乎正在累积 例如 如果第 1 页上的文本值为 A 第 2 页为 B 第 3 页为 C 那么