我的弱智想法是所有能转换成PDF的文件,就都用PDF预览,上传成功后开启一个线程把文档转换成PDF,PDF再转换成txt。
目的是把txt插入索引进行全文检索。
调用的时候
string filePath=“文件的物理路径”;
string wordToTxtPath = filePath.Replace(".pdf", ".txt");
PdfToTxt.pdf2txt(filePath, wordToTxtPath); 你想保存的位置,路径最后的文件名要是txt
PdfToTxt.cs
public static void pdf2txt(string filePath,string savePath)
{
string file = filePath;
string save = savePath;
FileInfo pdffile=new FileInfo(filePath);
FileInfo txtfile = new FileInfo(savePath);
PDDocument doc = PDDocument.load(pdffile.FullName);
PDFTextStripper pdfStripper = new PDFTextStripper();
string text = pdfStripper.getText(doc);
StreamWriter swPdfChange = new StreamWriter(txtfile.FullName, false, Encoding.GetEncoding("UTF-8"));
swPdfChange.Write(text);
swPdfChange.Close();
}
引用插件
using org.pdfbox.pdmodel;
using org.pdfbox.util;
下载: 访问网址http://sourceforge.net/projects/pdfbox/
二、引用动态链接库
解压缩下载的PDFBox,找到其中的Bin目录,需要在项目中添加引用的dll文件有:
IKVM.GNU.Classpath.dll
PDFBox-0.7.3.dll
FontBox-0.1.0-dev.dll
IKVM.Runtime.dll
将以上4个文件引用到项目中,在文件中需要引入以下2个命名空间:
using org.pdfbox.pdmodel;
using org.pdfbox.util;
忽然发现我好想是看了大神的博客:http://blog.csdn.net/LCL_data/article/details/6043898