Click here to Skip to main content
15,886,857 members
Articles / General Programming / String
Tip/Trick

Convert PDF file content into string using C#

Rate me:
Please Sign up or sign in to vote.
2.07/5 (7 votes)
18 May 2012CPOL1 min read 85.6K   5   14
Convert PDF content into text using C#, for beginners.

Introduction

Hello friends, this is my first article in CodeProject.com. This article is mainly intended to read content from a PDF file and convert that into a string using C#.

Background

This was actually assigned as a task for me. Actually I Googled about this and finally did it with a simple code. I'm sure this code will be very helpful for beginners.

Using the code

The following steps will guide you to read content from a PDF file:

  1. To start with this, you need to download itextsharp-all-5.2.1, which can be download from here.
  2. Extract the whole archive (inside itextsharp-all-5.2.1 folder also) to your local directory.
  3. You have successfully completed the initial step in the process..... hurrah.....! ! ! !

    Now open Microsoft Visual studio. For me it is Microsoft Visual C# 2010 Express.

  4. New project --> WindowsFormsApplication --> Give project name (I named mine PDF_To_Text).
  5. Add itextsharp-all-5.2.1.dll as reference.
  6. Select Project menu --> Select Browse tab --> Select itextsharp.dll from the local directory.

  7. Place a "richTextBox1" control in the Form work space.
  8. Now paste the following code in Form1.cs.
  9. C#
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using iTextSharp.text.pdf;
    using iTextSharp.text.pdf.parser;
    
    
    namespace WindowsFormsApplication1
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
                ExtractTextFromPDFPage("c:\sample.pdf", 1);
            }
    
            public void ExtractTextFromPDFPage(string pdfFile, int pageNumber)
            {
                PdfReader reader = new PdfReader(pdfFile);
                string text = PdfTextExtractor.GetTextFromPage(reader, pageNumber);
                try { reader.Close(); }
                catch { }
                richTextBox1.Text = text;
            }
        }
    }

    Look how simple it is....!!! Smile | <img src= " src="http://www.codeproject.com/script/Forums/Images/smiley_smile.gif" />

  10. Now Build the solution using Ctrl+Shift+B, or Build the solution by selecting the Build menu from the menu bar.
  11. Once succeeded, Run the application by pressing F5.
  12. You will find the file content is converted into text and displayed in the RichTextBox control.

That's it, you have successfully converted a PDF file into text.

Note

Here c:\sample.pdf is where I kept my PDF file. So you should update the path to your file. The second parameter denotes which page you need to get converted. 

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Software Developer
India India
There are only 10 type of people in this programming world....
one who knows the binary and other who doesn't.

Comments and Discussions

 
Questionitextsharp Pin
Member 108101451-Feb-16 6:36
Member 108101451-Feb-16 6:36 
Questionhtml string builder to pdf Pin
Member 108101451-Feb-16 6:31
Member 108101451-Feb-16 6:31 
QuestionRegarding Content Pin
Member 109749613-Sep-14 0:17
Member 109749613-Sep-14 0:17 
GeneralNot always getting text from PdfTextExtractor.GetText Pin
Member 1032371117-Oct-13 7:57
Member 1032371117-Oct-13 7:57 
Questionmore pages Pin
saurabh49parikh27-Aug-12 8:03
saurabh49parikh27-Aug-12 8:03 
AnswerRe: more pages Pin
♥…ЯҠ…♥15-Oct-12 18:46
professional♥…ЯҠ…♥15-Oct-12 18:46 
GeneralRe: more pages Pin
voodark27-Nov-14 2:35
voodark27-Nov-14 2:35 
Questionno text in rich text box Pin
mlan sopno9-Jun-12 0:04
mlan sopno9-Jun-12 0:04 
AnswerRe: no text in rich text box Pin
♥…ЯҠ…♥28-Aug-12 23:01
professional♥…ЯҠ…♥28-Aug-12 23:01 
QuestionHelpful post Pin
Member 287297829-May-12 6:50
Member 287297829-May-12 6:50 
AnswerRe: Helpful post Pin
♥…ЯҠ…♥29-May-12 18:57
professional♥…ЯҠ…♥29-May-12 18:57 
GeneralMy vote of 1 Pin
stooboo19-May-12 3:33
stooboo19-May-12 3:33 
GeneralRe: My vote of 1 Pin
stooboo19-May-12 3:36
stooboo19-May-12 3:36 
Question[My vote of 1] Not really an article PinPopular
Tom Clement18-May-12 6:58
professionalTom Clement18-May-12 6:58 
Hi rk,

First of all, I really like your impulse to share what you've learned with a broader audience. It's the spirit of Code Project and what makes it such a useful site for collaboration.

That said, this article doesn't really provide much help for people. The most fundamental thing you need to do in an article is help people grow and learn. What this article does, though, is just lay out some rote steps for using a tool written by someone else. Maybe I'm missing something, but there doesn't seem to be anything to learn here. Even if fleshed out with more information, it seems more like a tip than an article.

I don't even like this as a utility program for accomplishing the task. To improve that, you'd want to have a button or menu item that brings up an OpenFile dialog with a filter set to *.pdf and use that to identify the file to convert (rather than hard wire it into the program). You'd want to offer the ability to write the converted text back out to a file. As an article, you'd want to at least talk about why you used a rich text box (there's no indication in the article text that the output of this utility is RTF).

I wish I could give you something more encouraging, but unfortunately my impression is that even fixed up, there wouldn't be enough here for an article. So I'd encourage you to continue programming, and when you get an insight and do a program or utility that achieves something a bit more significant, interesting and novel, go through this exercise again --- write an article and share it.
Tom Clement
Serena Software, Inc.
www.serena.com

articles[^]

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.