我需要一个.NET库,以便使用它从PDF,Excel和Word文件中提取文本数据.
理想情况下,免费工具!
你会推荐吗?
非常感谢,
我必须在 mongodb 中存储一个 tiff(标签图像文件格式)或 pdf 扫描文件,这些文件应该可以进行文本搜索。就像如果我们想“基于文本”搜索它应该能够搜索 .
我将使用 .net mvc 或 java 和 mongodb 。
那么我如何存储这个 pdf 文件,然后可以从数据库中检索。
任何建议将不胜感激。
谢谢
mongodb mongodb-query spring-data-mongodb mongodb-.net-driver
有没有可靠的方法从PDF中提取文本?首先想到的是PDF可能有多列,提取机制需要以某种方式知道逻辑结构.我知道一些PDF文档被"标记"但我需要支持几乎任何PDF文档.
在这里救援的任何第三方组件?
这是我的示例代码:
CodeSnippet 1:此代码在我的文件存储库服务器中执行,并使用WCF服务将文件作为编码字符串返回:
byte[] fileBytes = new byte[0];
using (FileStream stream = System.IO.File.OpenRead(@"D:\PDFFiles\Sample1.pdf"))
{
fileBytes = new byte[stream.Length];
stream.Read(fileBytes, 0, fileBytes.Length);
stream.Close();
}
string retVal = System.Text.Encoding.Default.GetString(fileBytes); // fileBytes size is 209050
Run Code Online (Sandbox Code Playgroud)
代码片段2:客户端框,需要PDF文件,接收编码的字符串并转换为PDF并保存到本地.
byte[] encodedBytes = System.Text.Encoding.Default.GetBytes(retVal); /// GETTING corrupted here
string pdfPath = @"C:\DemoPDF\Sample2.pdf";
using (FileStream fileStream = new FileStream(pdfPath, FileMode.Create)) //encodedBytes is 327279
{
fileStream.Write(encodedBytes, 0, encodedBytes.Length);
fileStream.Close();
}
Run Code Online (Sandbox Code Playgroud)
上面的代码工作绝对精美Framework 4.5,4.6.1
当我在Asp.Net Core 2.0中使用相同的代码时,它无法正确转换为字节数组.我没有收到任何运行时错误,但是最终的PDF在创建后无法打开.pdf文件损坏时引发错误.
我也试过了Encoding.Unicode和Encoding.UTF-8.但是为最终PDF获得相同的错误.
另外,我注意到当我使用Encoding.Unicode时,至少原始字节数组和结果字节数组大小相同.但是其他编码类型也与字节大小不匹配.
那么,问题是,在.NET Core 2.0中,System.Text.Encoding.Default.GetBytes被破坏了吗?
我已经编辑了我的问题以便更好地理解. Sample1.pdf存在于不同的服务器上,并使用WCF进行通信,以将数据传输到存储文件编码流的Client,并转换为Sample2.pdf
希望我的问题现在有道理.