从pdf和word文件中提取文本

Alo*_*kin 8 c# pdf ms-word

如何在C#中从pdf或word文件中删除文本(删除粗体,图像和其他富文本格式化媒体)?

pbz*_*pbz 7

您可以使用为索引服务设计/使用的过滤器.它们旨在从各种文档中提取纯文本,这对于在文档内部进行搜索很有用.您可以将它用于Office文件,PDF,HTML等,基本上任何具有过滤器的文件类型.唯一的缺点是您必须在服务器上安装这些过滤器,因此如果您无法直接访问服务器,则可能无法实现.有些过滤器预先安装了Windows,但有些过滤器,如PDF,您必须自己安装.对于C#实现,请查看本文:在C#中使用IFilter


Kur*_*fle 5

PDF:

你有各种选择.

pdftotext:
下载XPDF实用程序.在.zip文件中有各种命令行实用程序.一个是pdftotext(.exe).它可以从行为良好的PDF文件中提取所有文本内容.键入pdftotext -help以了解其命令行参数.

Ghostscript:
安装最新版本的Ghostscript(v.8.71).Ghostscript是一个PostScript和PDF解释器.您也可以使用它从PDF中提取文本:

gswin32c.exe ^
 -q ^
 -sFONTPATH=c:/windows/fonts ^
 -dNODISPLAY ^
 -dSAFER ^
 -dDELAYBIND ^
 -dWRITESYSTEMDICT ^
 -dSIMPLE ^
 -f ps2ascii.ps ^
 -dFirstPage=3 ^
 -dLastPage=7 ^
 input.pdf ^
 -dQUIET 
Run Code Online (Sandbox Code Playgroud)

这将输出包含在input.pdfstdout的第3-7页的文本.您可以通过附加> /path/to/output.txt到命令将其重定向到文件.(检查以确保PostScript实用程序ps2ascii.ps存在于Ghostscript的lib子目录中.)

如果省略-dSIMPLE参数,则文本输出将猜测换行符和单词间距.有关详细信息,请查看ps2ascii.ps文件本身内的注释.您甚至可以替换该参数以-dCOMPLEX获取其他文本格式信息.