本文参考:http://blog.csdn.net/LCL_data/article/details/6043898的内容,自己稍微改进。
一、下载PDFBox
访问网址http://sourceforge.net/projects/pdfbox/ (这个绝对是个好网站),
也可以直接下载:http://nchc.dl.sourceforge.net/project/pdfbox/PDFBox/PDFBox-0.7.3/PDFBox-0.7.3.zip
二、引用动态链接库
解压缩下载的PDFBox,找到其中的Bin目录,需要在新建的项目中添加引用的dll文件有:
IKVM.GNU.Classpath.dll
PDFBox-0.7.3.dll
FontBox-0.1.0-dev.dll
IKVM.Runtime.dll
添加后如下图1所示。
图1 引用
三、在新建项目的Form1床体上添加一个按钮控件,双击按钮,进入代码界面。代码如下:
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 System.IO;
using org.pdfbox.pdmodel;
using org.pdfbox.util;
namespace PDFReader
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void btnOpenFile_Click(object sender, EventArgs e)
{
OpenFileDialog ofd = new OpenFileDialog();
ofd.Filter = "PDF|*.pdf";
ofd.DefaultExt = @"c:\";
if (ofd.ShowDialog() == DialogResult.OK)
{
pdf2txt(new FileInfo(ofd.FileName),
new FileInfo(@"C:/tt.txt"));
}
}
public static void pdf2txt(FileInfo pdffile, FileInfo txtfile)
{
try
{
PDDocument doc = PDDocument.load(pdffile.FullName);
PDFTextStripper pdfStripper = new PDFTextStripper();
string text = pdfStripper.getText(doc);
StreamWriter swPdfChange = new StreamWriter(txtfile.FullName, false, Encoding.GetEncoding("gb2312"));
swPdfChange.Write(text);
swPdfChange.Close();
}
catch { }
}
}
}
图2 窗口界面
测试结果如图3所示: