最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2015年05月15日 12:23:39   作者:小蘿莉  
這篇文章主要介紹了C#使用iTextSharp將PDF轉成文本的方法,涉及C#操作pdf文件的相關技巧,需要的朋友可以參考下

本文實例講述了C#使用iTextSharp將PDF轉成文本的方法。分享給大家供大家參考。具體實現(xiàn)方法如下:

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#程序設計有所幫助。

相關文章

  • 基于WPF實現(xiàn)簡單的下拉篩選控件

    基于WPF實現(xiàn)簡單的下拉篩選控件

    這篇文章主要為大家詳細介紹了如何基于WPF實現(xiàn)簡單的下拉篩選控件,文中的示例代碼講解詳細,對我們學習或工作有一定幫助,感興趣的小伙伴可以了解一下
    2023-04-04
  • C#驗證碼的創(chuàng)建與使用示例

    C#驗證碼的創(chuàng)建與使用示例

    這篇文章主要介紹了C#驗證碼的創(chuàng)建與使用方法,結合實例形式較為詳細的分析了C#驗證碼的創(chuàng)建、驗證等操作步驟與相關技巧,需要的朋友可以參考下
    2017-01-01
  • C#引用類型和值類型的適用場合和區(qū)別

    C#引用類型和值類型的適用場合和區(qū)別

    今天小編就為大家分享一篇關于C#引用類型和值類型的適用場合和區(qū)別,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • unity使用socket編程實現(xiàn)聊天室功能

    unity使用socket編程實現(xiàn)聊天室功能

    這篇文章主要為大家詳細介紹了unity使用socket編程實現(xiàn)聊天室功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • C# 打開電子郵件軟件的具體方法

    C# 打開電子郵件軟件的具體方法

    這篇文章介紹了C# 打開電子郵件軟件的具體方法,有需要的朋友可以參考一下
    2013-11-11
  • C#登入實例

    C#登入實例

    本篇文章通過截圖的方式向大家展示C#程序登陸實現(xiàn)的全過程,利用了C#三層架構的編寫方法,希望對大家今后編寫代碼有所幫助
    2016-11-11
  • C#使用ScrapySharp快速從網頁采集數(shù)據(jù)

    C#使用ScrapySharp快速從網頁采集數(shù)據(jù)

    這篇文章介紹了使用ScrapySharp快速從網頁采集數(shù)據(jù)的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06
  • 基于WPF實現(xiàn)繪制地鐵路線圖

    基于WPF實現(xiàn)繪制地鐵路線圖

    經常坐地鐵,卻不知道地鐵多少條線路?哪個站下車?本文就來帶大家利用WPF繪制深圳地鐵路線圖,從而帶大家掌握WPF在圖形繪制方面的一些知識,希望對大家有所幫助
    2023-06-06
  • C#多線程等待所有子線程結束的示例

    C#多線程等待所有子線程結束的示例

    這篇文章主要介紹了C#多線程等待所有子線程結束的示例,幫助大家更好的理解和學習c#編程語言,感興趣的朋友可以了解下
    2020-12-12
  • C#線程 BeginInvoke和EndInvoke使用方法

    C#線程 BeginInvoke和EndInvoke使用方法

    本文開始C#線程系列講座之一,即BeginInvoke和EndInvoke的使用方法,需要的朋友可以參考下
    2013-05-05

最新評論

垣曲县| 东乡县| 淮南市| 贺州市| 宣恩县| 体育| 龙陵县| 鹿邑县| 延吉市| 鄂伦春自治旗| 耿马| 扶绥县| 绥棱县| 乌拉特前旗| 利津县| 阿合奇县| 茌平县| 岗巴县| 甘南县| 衡阳县| 宜宾市| 清涧县| 青铜峡市| 绥芬河市| 汉川市| 七台河市| 宁阳县| 开封市| 荣昌县| 金阳县| 洛扎县| 博罗县| 桃江县| 洪江市| 新建县| 莱州市| 乌鲁木齐县| 陇西县| 清涧县| 河间市| 铜川市|