国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C#使用iTextSharp將PDF轉成文本的方法

2020-01-24 01:51:37
字體:
來源:轉載
供稿:網友

本文實例講述了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#程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 连州市| 岑巩县| 五台县| 高要市| 鄂托克旗| 顺平县| 玛沁县| 云南省| 额济纳旗| 上虞市| 西乌珠穆沁旗| 天等县| 哈尔滨市| 峨边| 隆子县| 富民县| 盖州市| 怀集县| 休宁县| 肇庆市| 西乌| 遂溪县| 陇南市| 西宁市| 二连浩特市| 高要市| 小金县| 宝应县| 漳浦县| 阜新| 谷城县| 乐陵市| 唐海县| 常熟市| 神农架林区| 广元市| 麦盖提县| 如皋市| 海伦市| 三穗县| 延津县|