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

C#使用iTextSharp將PDF轉(zhuǎn)成文本的方法

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

本文實例講述了C#使用iTextSharp將PDF轉(zhuǎn)成文本的方法。分享給大家供大家參考。具體實現(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#程序設(shè)計有所幫助。

相關(guān)文章

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

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

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

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

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

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

    今天小編就為大家分享一篇關(guān)于C#引用類型和值類型的適用場合和區(qū)別,小編覺得內(nèi)容挺不錯的,現(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#三層架構(gòu)的編寫方法,希望對大家今后編寫代碼有所幫助
    2016-11-11
  • C#使用ScrapySharp快速從網(wǎng)頁采集數(shù)據(jù)

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

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

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

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

    C#多線程等待所有子線程結(jié)束的示例

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

    C#線程 BeginInvoke和EndInvoke使用方法

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

最新評論

高青县| 涟水县| 芷江| 信丰县| 肃宁县| 锡林郭勒盟| 克东县| 鹰潭市| 金湖县| 桐梓县| 德昌县| 孝义市| 迁西县| 洪湖市| 龙口市| 张掖市| 濮阳县| 临桂县| 阜新市| 芒康县| 武冈市| 营口市| 长兴县| 昌宁县| 包头市| 台北县| 新野县| 亳州市| 昭通市| 白银市| 泰来县| 新野县| 漳浦县| 如东县| 潜山县| 屯昌县| 稻城县| 星座| 洪江市| 海宁市| 大姚县|