C#使用iTextSharp将PDF转成文本的方法
程序员文章站
2022-07-01 17:11:08
本文实例讲述了c#使用itextsharp将pdf转成文本的方法。分享给大家供大家参考。具体实现方法如下:
using system;
using system...
本文实例讲述了c#使用itextsharp将pdf转成文本的方法。分享给大家供大家参考。具体实现方法如下:
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#程序设计有所帮助。
下一篇: 一道关于C#参数传递的面试题分析
推荐阅读
-
Python使用reportlab将目录下所有的文本文件打印成pdf的方法
-
Python 将pdf转成图片的方法
-
php使用memcoder将视频转成mp4格式的方法
-
php使用Image Magick将PDF文件转换为JPG文件的方法
-
Linux不用使用软件把纯文本文档转换成PDF文件的方法
-
C#使用iTextSharp从PDF文档获取内容的方法
-
使用ASP .NET (C#) 产生PDF档的好帮手—iTextSharp library(上)
-
C#使用ToUpper()与ToLower()方法将字符串进行大小写转换的方法
-
pdf文档如何转换成Word文档 使用iSkysoft PDF Editor将PDF转换为Word的方法
-
.NET使用DinkToPdf将HTML转成PDF的示例代码