C# 用 iTextSharp 将 PDF 转成文本

itextsharp读取PDF中表格中内容,并处理 using iTextSharp.text.pdf; using iTextSharp.text.pdf.parser; private void GetPDFTableInfo(string catchDate, string institutionId, string institution, string fileName) { PdfReader reader = new PdfReader(fileName); int pageCou 阅读详情

来自:http://www.oschina.net/code/snippet_12_14736

using System;
using System.IO; 
using iTextSharp.text;
using iTextSharp.text.pdf;
using iTextSharp.text.pdf.parser;

public class ParsingPDF {
 
    static string PDF;
    static string TEXT2;
 
    /**
     * Parses the PDF using PRTokeniser
     * @param src  the path to the original PDF file
     * @param dest the path to the resulting text file
     */
    public void parsePdf(String src, String dest)
    {
        PdfReader reader = new PdfReader(src);
        StreamWriter output = new StreamWriter(new FileStream(dest, FileMode.Create));
        int pageCount = reader.NumberOfPages;
        for (int pg = 1; pg <= pageCount; pg++)
        {
            // we can inspect the syntax of the imported page
            byte[] streamBytes = reader.GetPageContent(pg);
            PRTokeniser tokenizer = new PRTokeniser(streamBytes);
            while (tokenizer.NextToken())
            {
                if (tokenizer.TokenType == PRTokeniser.TokType.STRING)
                {
                    output.WriteLine(tokenizer.StringValue);
                }
            }
        }
        output.Flush();
        output.Close();
    }
 
    /**
     * Main method.
     */
    static void Main(string[] args)
    {
        if (args.Length < 1 || args.Length > 2)
        {
            Console.WriteLine("USAGE: ParsePDF infile.pdf <outfile.txt>");
            return;
        }
        else if (args.Length == 1)
        {
            PDF = args[0];
            TEXT2 = Path.GetFileNameWithoutExtension(PDF) + ".txt";
        }
        else
        {
            PDF = args[0];
            TEXT2 = args[1];
        }

        try
        {
            DateTime t1 = DateTime.Now;

            ParsingPDF example = new ParsingPDF();
            example.parsePdf(PDF, TEXT2);

            DateTime t2 = DateTime.Now;
            TimeSpan ts = t2 - t1;
            Console.WriteLine("Parsing completed in {0:0.00} seconds.", ts.TotalSeconds);
        }
        catch (Exception ex)
        {
            Console.WriteLine("ERROR: " + ex.Message);
        }
    } // class

    public class MyTextRenderListener : IRenderListener
    {
        /** The print writer to which the information will be written. */
        protected StreamWriter output;

        /**
         * Creates a RenderListener that will look for text.
         */
        public MyTextRenderListener(StreamWriter output)
        {
            this.output = output;
        }

        public void BeginTextBlock()
        {
            output.Write("<");
        }

        public void EndTextBlock()
        {
            output.WriteLine(">");
        }

        public void RenderImage(ImageRenderInfo renderInfo)
        {
        }

        public void RenderText(TextRenderInfo renderInfo)
        {
            output.Write("<");
            output.Write(renderInfo.GetText());
            output.Write(">");
        }
    } // class
} // namespace  



C# 将PDF文档转换为Word文档 C# PDF文档转换为Word文档,提供Spire.PDF和ITextSharp两种方法,前者有页码限制,后者没有页码限制,但会去除Word文档格式 阅读详情

相关推荐

C# 用 iTextSharp 将 PDF 转成文本的代码

把开发过程中常用的一些代码段做个珍藏,下面的代码是关于C# 用 iTextSharp 将 PDF 转成文本的代码。 using System; using System.IO; using iTextSharp.text; using iTextSharp.text.pdf; using iTextSharp.text.pdf.parser; public class ParsingPDF {...

weixin_44073507的博客 1409

PDFLayoutTextStripper:将pdf文件转换为文本文件,同时保留原始pdf的布局。 例如,可用于从pdf文件中的表中提取内容。 这是PDFTextStripper类的子类(来自Apache PDFBox库)

PDFLayoutTextStripper 将PDF文件转换为文本文件,同时保留原始PDF的布局。 从PDF表格或表格中提取内容很有用。 PDFLayoutTextStripper是PDFTextStripper类的子类(来自库)。 用例 从PDF文件中的表格中提取数据 从PDF文件中的表单中提取数据 如何安装 Maven <dependency> <groupId>io.github.jonathanlink</groupId> <artifactId>PDFLayoutTextStripper</artifactId> <version>2.2.3</version> </

C#解析PDF:客户化iTextSharp

PDF相关测试一直都是手动进行,自动化测试介入的很少。我们项目,PDF是很重要的一块,客户经常需要将报表导出到PDF。导出的可能是表格,也可能是饼图,条图,线图。表格的话,有flat grid,有tree grid。图的话,花样就更多了,图例,坐标轴…最近的迭代有个story,希望自动化测试能够判断表格导出到PDF格式是否正确。美国那边的on-site leader说让我先探索一下,能否用iText

sophie2805的专栏 3786

c# html生成pdf,C#下使用iTextSharp实现HTML生成PDF,支持CSS和中文

简要iTextSharp的功能很强大,之前我也写过使用pdf模板来生成PDF的文章(《使用iText5来处理PDF》),当然这里我还是使用iTextSharp5这个版本,原因是这个版本还是开源免费的。前面不多说,还是通过nuget来安装iTextSharp5,这里还需要安装itextsharp.xmlworker,之后开始做html模板,及对应的css。这里需要注意的是,div等可以有宽度的标签,...

weixin_39604897的博客 974

用C#创建PDF表格:iTextSharp的应用

最近学校有项目需要用C#创建PDF文件,输出

Heatwave 5862

C#使用ITextSharp操作pdf

在.NET中没有很好操作pdf的类库,如果你需要对pdf进行编辑,加密,模板打印等等都可以选择使用ITextSharp来实现。 第一步:可以点击这里下载,新版本的插件升级和之前对比主要做了这几项重大改变 1.初始化对汉字的支持 2.对页眉页脚的加载形式 第二步:制作pdf模板 可以下载Adobe Acrobat DC等任意一款pdf编辑工具,视图——工具——准备表单,可以在需要赋值的地方...

Diamond、的博客 2758

C# 用itextsharp把Html转PDF

首先得下载itextsharp 有两个dll, itextsharp.dll和itextsharp.xmlworker.dll 一、新建一个HtmlToPdfHelper类 namespace ClassLibrary1 { /// &lt;summary&gt; /// HTML转PDF帮助类 /// &lt;/summary&gt; public cla...

junshangshui的专栏 1万+

基于iTextSharp(C#)创建PDF文件

基于iTextSharp控件(C#)创建PDF文件

学习笔记 3300

【C#】Html转Pdf,Spire和iTextSharp结合,.net framework 4.8

当你感到迷茫的时候,适当给自己一些工作上或者生活上的事情做一些减法。 在整理自己一些在线文档时,发现当时记录一些代码的草稿技术文章。 因此,简单整理发一篇文章分享下当时的过程,希望能给小伙伴带来点灵感。

小5聊的博客 4665

C#使用itextsharp生成PDF文件

项目需求需要生成一个PDF文档,使用的是VS2010,ASP.NET。 网络上多次搜索没有自己想要的,于是硬着头皮到itextpdf官网看英文文档,按时完成任务,以实用为主,共享一下: 使用HTML文件创建PDF模板: 使用自定义字体的一种方法: FontFactory.Register(System.Web.HttpContext.Current.Requ

Johnson的专栏 5704

10步教你用C#和iTextSharp玩转PDF文件操作

小伙伴们,你们是否曾经因为处理复杂的PDF文件而头疼不已?是不是觉得满屏的if/else语句既难看又难维护?别担心,今天我们就来聊聊如何用C#和iTextSharp轻松操作PDF文件,让你的代码变得更加优雅和可维护。不仅如此,我们还会深入剖析每一步骤,让你彻底理解背后的原理。无论你是初学者还是有一定经验的开发者,这篇文章都能帮你轻松搞定!🌟通过这篇详细的文章,相信你已经学会了如何用C#和iTextSharp轻松操作PDF文件,让你的代码变得更加优雅和可维护。

java专栏 1427

itextsharp 获取文本_在C#中使用iTextSharp读取pdf内容

小编典典在.Net中,一旦有了一个字符串, 便有了一个字符串 ,并且它 始终 是Unicode。实际的内存实现是UTF-16,但这并不重要。永远不要将字符串分解为字节,并尝试将其重新解释为不同的编码,然后将其拍回为字符串,因为这样做没有意义,并且几乎总是会失败。您的问题是这一行:currentText = Encoding.UTF8.GetString(Encoding.Convert(Encod...

weixin_33213911的博客 1805

掌握ITEXTSHARP:C# PDF处理库的终极指南

本文还有配套的精品资源,点击获取 简介:ITEXTSHARP是一个功能强大的PDF处理库,专为C#编程环境设计。它允许开发者执行创建、编辑、解析、内容提取、分割与合并、书签和注释添加等操作。它还支持PDF/A标准以确保文档的长期保存和兼容性。库中包括DLL文件以便.NET Framework应用程序直接引用,以及提供源代码包以供深入学习和定制开发。掌握ITEXTSHARP将...

weixin_42571280的博客 6862

用iTextSharp读取PDF文档中文本内容的探索

以下c#程序可以读取大多数的PDF中的文本内容。 using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.F

dkchg的专栏 8565

C#与iTextSharp库制作PDF文件详解

iTextSharp是一个强大的开源库,用于创建和操作PDF文件。它允许开发者以编程方式在C#等.NET环境中生成、修改和维护PDF文档。与Adobe的PDF格式一样,iTextSharp支持文本、图像、链接、表单、JavaScript等多种PDF特性。iTextSharp通过简化复杂的PDF操作,使得开发者能够专注于文档的逻辑结构而不是PDF格式的细节。iTextSharp库主要适用于需要在应用程序中创建、修改和提取PDF内容的场景。

weixin_33240461的博客 1649

C#中使用iTextSharp操作PDF的完整教程与代码实例

在当今数字化时代,PDF文件已成为文档共享和交换的标准格式之一。iTextSharp是一个强大的库,它允许开发者在.NET应用程序中创建和操作PDF文档。本章节将概述iTextSharp库的基本概念、功能和应用场景,帮助你快速理解并开始使用这个库。

weixin_29092787的博客 1844

C# 使用itextsharp 读取pdf中文字坐标

程序调用: using iTextSharp.text.pdf; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace TestIText { clas...

dingsiquan6406的博客 2860

C#使用iTextSharp为PDF添加文本与图像水印实战

在现代文档处理领域,PDF作为跨平台、高保真格式被广泛应用于电子合同、报告生成和数字出版等场景。iTextSharp 作为 iText 库的 .NET 版本,是处理 PDF 文档最强大且灵活的开源工具之一。它支持从创建、读取到修改 PDF 的全套操作,包括文本绘制、图像嵌入、表单填充及水印添加等高级功能。// 示例:通过 NuGet 安装 iTextSharp(注意版本兼容性)

weixin_36151775的博客 871
上一篇: sql server try...catch使用 异常处理 不错的SQL错误处理
下一篇: 体验SubSonic
ArvinStudy
博客等级 码龄15年 83粉丝 193原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值