如何使用ABCPdf.NET从PDF文件的所有页面中提取文本?

2023-11-25

如何使用ABCPdf.NET工具从PDF文件中提取内容文本?

我尝试了 GetText 方法,但没有提取内容:

var doc = new Doc();    

        var url = @".../FileName.pdf";

        doc.Read(url);

        string xmlContents = doc.GetText("Text");
        Response.Write(xmlContents);
        doc.Clear();
        doc.Dispose();

我的 pdf 有近 1000 个单词,但 GetText 只返回 4-5 个单词。我意识到它只返回第一页的文本。

所以问题应该是“如何从pdf文件的所有页面中提取文本?” -(更改标题以使其更清晰)。

Thanks,


为了你的利益,是的,你!

 public string ExtractTextsFromAllPages(string pdfFileName)
    {
        var sb = new StringBuilder();

        using (var doc = new Doc())
        {
            doc.Read(pdfFileName);

            for (var currentPageNumber = 1; currentPageNumber <= doc.PageCount; currentPageNumber++)
            {
                doc.PageNumber = currentPageNumber;
                sb.Append(doc.GetText("Text"));
            }
        }

        return sb.ToString();
    }

如果你没有 url 但有字节,那么:

public string ExtractTextsFromAllPages(Byte[] pdfBytes)
    {
        var sb = new StringBuilder();

        using (var doc = new Doc())
        {
            doc.Read(pdfBytes);

            for (var currentPageNumber = 1; currentPageNumber <= doc.PageCount; currentPageNumber++)
            {
                doc.PageNumber = currentPageNumber;
                sb.Append(doc.GetText("Text"));
            }
        }

        return sb.ToString();
    }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用ABCPdf.NET从PDF文件的所有页面中提取文本? 的相关文章

  • ASP.NET 如何在 Web API 中读取多部分表单数据?

    我将多部分表单数据发送到我的 Web API 如下所示 string example my string HttpContent stringContent new StringContent example HttpContent fil
  • ptrace和waitpid有什么关系?

    我正在练习使用ptrace但我不太了解它和之间的关系waitpid 这是我的测试程序 int main int argc char argv pid t pid 22092 if ptrace PTRACE ATTACH pid NULL
  • C# 中输入按键

    我尝试了这段代码 private void textBox1 KeyPress object sender KeyPressEventArgs e if Convert ToInt32 e KeyChar 13 MessageBox Sho
  • 在 T4 代码生成中,如何从引用的程序集中获取类型?

    由于 T4 在项目上下文之外运行 因此我无权访问当前程序集或其他程序集 如何注册对引用程序集的访问 然后从中获取类型 我猜您想访问项目中建筑物的程序集 我在下面的示例代码中所做的是将一个名为 TestLib 的项目添加到我的解决方案中 我将
  • 使用正则表达式解析日志文件

    我目前正在为我们的内部日志文件 由 log4php log4net 和 log4j 生成 开发一个解析器 到目前为止 我有一个很好的正则表达式来解析日志 除了一个烦人的一点 一些日志消息跨越多行 我无法正确匹配 我现在的正则表达式是这样的
  • 公共基类打破了元组的空基类优化

    gcc 4 7 1 对元组进行空基类优化 我认为这是一个非常有用的功能 然而 这似乎有一个意想不到的限制 include
  • 如何在控制器中使用多个 DBContext

    如何在控制器中使用多个 DBContext 我尝试以不同的方式重载构造函数 一些控制器 public C1 DBContext1 a DBContext2 b DBContext3 c public C1 DBContext1 a publ
  • 如何从命名空间内重载运算符<<

    这是我能想到的最小的包含示例 首先是类的标题 每当使用 pragma once ifndef EURO H define EURO H include
  • Moq - 是否可以在不使用 It.IsAny 的情况下设置模拟

    我一直使用 Moq 进行单元测试 有时我会嘲笑有很多参数的方法 想象一下这样的方法 public class WorkClient public void DoSomething string itemName int itemCount
  • 如何使用 Selenium Webdriver .NET 绑定设置 Chrome 首选项?

    这是我正在使用的 用户代理可以成功设置 而下载首选项则不能 Windows 7 Chrome 26 Selenium dotnet 2 31 2 chromedriver win 26 0 1383 0 ChromeOptions chro
  • 哪个更快?按引用传递与按值传递 C++

    我认为按引用传递应该比按值传递更快 因为计算机不复制数据 它只是指向数据的地址 但是 请考虑以下 C 代码 include
  • Bazel:将编译标志添加到默认 C++ 工具链

    我想向默认的 C 工具链添加一些编译器和链接器标志 以便我构建的所有目标 本地或导入 共享它们 我知道可以定义我自己的工具链 但我不想这样做 因为它非常复杂且容易出错 理想情况下我想要这样的东西 cc toolchain cc defaul
  • 如何使用回形针对多页 pdf 进行缩略图

    我想让 Paperclip 为上传的多页 PDF 文件的每一页创建 2 个缩略图 我正在运行 Paperclip 2 3 1 1 并在我的资产模型中使用它 has attached file asset styles gt medium g
  • 来自用户定义文字的整数字符序列,以字符串作为参数

    目前 只有双精度数可以在用户定义的文字中生成字符模板 template
  • 没有 FPU 的处理器中的浮点计算

    是否可以在没有浮点单元的嵌入式处理器中执行浮点运算 是的 您只需要在软件中完成即可 你的编译器可能会提供支持 http gcc gnu org onlinedocs gccint Soft float library routines ht
  • 智能感知不显示评论

    如果我在 Visual Studio 2010 中输入类似的内容数据集1 我得到所有可用方法和属性的列表 智能感知 这很好用 但是 如果我在此列表中选择一个方法或属性 我不会得到 if 的描述 例如 如果我有类似的东西 public cla
  • 在 C++ 中什么时候首选传递指针而不是引用传递?

    我可以想象一种情况 其中输入参数可以为 NULL 以便首选传递指针而不是传递引用 有人可以添加更多案例吗 在传递的对象实际上将被修改的情况下 有些人更喜欢传递指针 当对象通过引用传递时 它们使用 pass by const referenc
  • 将隐藏(生物识别)数据附加到 pdf 上的数字签名

    我想知道是否可以使用 iText 我用于签名 或 Java 中的其他工具在 pdf 上添加生物识别数据 我会更好地解释一下 在手写板上签名时 我会收集签名信息 例如笔压 签名速度等 我想将这些信息 java中的变量 与pdf上的签名一起存储
  • 从最大到最小的3个整数

    我是 C 初学者 我使用 编程 使用 C 的原理与实践 第二版 问题如下 编写一个程序 提示用户输入三个整数值 然后以逗号分隔的数字顺序输出这些值 如果两个值相同 则应将它们排列在一起 include
  • C#“var”关键字在 VB.NET 中的等价物是什么?

    例如 我如何获得 VB NET静态类型局部变量是static赋值右侧的表达式的类型 像这样 Dim http msdn microsoft com en us library 7ee5a7s1 aspx我的变量 3 你还需要 选项推断 ht

随机推荐

  • 如何在 HandshakeInterceptor 中设置主体

    我正在使用 Spring 的 WebSockets 的一个非常精简的实现 WebSocketSession 有 getPrincipal 方法 但如何在 HandshakeInterceptor 中设置它 我想将校长放入的方法是 publi
  • 在 AngularJS 中使用 $window 或 $location 进行重定向

    我正在开发的应用程序包含各种状态 使用 ui router 其中一些状态要求您登录 其他状态是公开可用的 我创建了一种有效检查用户是否登录的方法 我目前遇到的问题实际上是在必要时重定向到我们的登录页面 应该注意的是 登录页面当前并未放置在
  • Celery - 检查工作人员是否收到 SIGTERM

    我有一个Celery任务相当长 超过几分钟 有时 由于各种原因 一个工作人员被标记为终止 而另一个工作人员则开始工作 如果需要更换运行它的计算机 或者正在部署新的代码版本 则可能会发生这种情况 在这种情况下 工作线程会收到 SIGTERM
  • 设置列的最大值

    我有一个表 其中有一列 int 类型 称为年龄 此列应包含最大值 50 如果超过 则不应更新该行 表示此列应采用 0 到 50 之间的值 如果我尝试将其更新为 51 则不允许 任何人都可以帮忙吗 尝试这个 CREATE TRIGGER ch
  • 我是否已达到浏览器中 JavaScript 可以处理的对象大小的限制?

    我正在嵌入一个大数组
  • 在 SQL Server 中查找重复行

    我有一个组织的 SQL Server 数据库 并且有许多重复的行 我想运行一个 select 语句来获取所有这些内容以及重复的数量 同时还返回与每个组织关联的 id 像这样的声明 SELECT orgName COUNT AS dupes
  • 使用匹配器的组方法时“未找到匹配”

    我在用着Pattern Matcher获取 HTTP 响应中的响应代码 groupCount返回 1 但在尝试获取它时出现异常 知道为什么吗 这是代码 get response code String firstHeader reader
  • CSS数据属性条件值选择器?

    给定 html 例如 div Jonh div div Jack div div Julian div 如何选择价值优于的元素1000 x gt 1000 首选项 通过 CSS 选择器 如果没有这样的事情 那么我将重新要求 JQuery J
  • 将参数从气流运算符传递给 SQL 模板

    如果我将 BigQueryOperator 与 SQL 模板结合使用 如何将参数传递给 SQL File sql 查询 sql SELECT FROM dataset task instance variable for execution
  • 如何一次从 3 个给定点绘制连续曲线

    我正在尝试在 Flash 中绘制一条连续的曲线 方法有很多 但到目前为止我发现没有一个完全符合我的要求 首先 我想使用 flash 图形 api 的 curveTo 方法 我不想每个曲线段对 lineTo 进行数百次调用来模拟曲线 根据我的
  • 使 Django forms.DateField 显示使用本地日期格式

    我正在尝试找到一种简单的方法来构建以澳大利亚格式 dd mm yyyy 显示日期的表单 这是我能找到的唯一方法 看来应该有更好的解决方案 注意事项 创建了一个新的小部件 以 dd mm yyyy 格式呈现日期值 创建了新的日期字段 将定位日
  • 如何在 Laravel 4 路由组上应用多个过滤器?

    Laravel 4 中是否可以在组路由上添加多个过滤器 对于以 API 为中心的应用程序 我有 2 种身份验证方法 一种具有标准身份验证 针对网站过滤器 auth 一种具有令牌 针对移动应用程序过滤器 auth token 理想情况下我希望
  • 具有多个存储的 CoreData:配置问题

    我有一个 iOS 项目 其中有一个大型预加载数据库和一个小型用户数据库 都是 CoreData SQLite 存储 前面的问题建议使用配置来控制哪些实体与哪个商店一起使用 我很难让它发挥作用 这就是我一直在尝试的 NSManagedObje
  • 如何覆盖图像元数据?

    如果 key val 已存在于 CGImageDestination 的原始图像元数据中 我似乎无法将图像元数据正确写入图像 如果它们的键 值不存在于原始元数据中 它就可以正常工作 几乎就像原始图像中的图像元数据属性优先于修改一样 这是我不
  • 如何在ggplot2中使用geom_sf获得多边形边界

    这个问题之前已经被问过一个旧线程 但接受的答案目前在当前版本的 ggplot2 中不再有效 这是一个最小的例子 library ggplot2 library rnaturalearth world ne countries scale m
  • 如何创建一个缓存对象的类?

    我对 C 中的泛型很陌生 我正在尝试创建一个存储 程序的其他部分可以请求模型对象 这个想法是 如果我的缓存类有该对象 它会检查其日期 如果该对象不早于 10 分钟 则返回该日期 如果它早于 10 分钟 它会从在线服务器下载更新的模型 如果它
  • 理查森-露西算法如何工作?代码示例?

    我试图弄清楚反卷积是如何工作的 我理解它背后的想法 但我想了解一些实现它的实际算法 这些算法将模糊图像及其点样本函数 模糊内核 作为输入 并生成潜在图像作为输出 到目前为止我发现理查森 露西算法 其中数学似乎并不那么困难 但我无法弄清楚实际
  • 为什么我无法重写接口方法?

    假设我有一个如下界面 interface CardHolder IEnumerable
  • Scala:如何继承“静态槽”?

    嗯 我正在学习 Scala 所以这个问题对于大多数人来说可能太基础了 在 Java 中 我可以在类中拥有静态槽 函数或变量 然后我也会在继承类中拥有该槽 在 Scala 中 我没有静态槽 但有伴生对象 但我发现这些对象不是继承类的一部分 所
  • 如何使用ABCPdf.NET从PDF文件的所有页面中提取文本?

    如何使用ABCPdf NET工具从PDF文件中提取内容文本 我尝试了 GetText 方法 但没有提取内容 var doc new Doc var url FileName pdf doc Read url string xmlConten