C# 我用的是“;。“净核心”。我想搜索pdf文件中的任何关键字,但此代码不起作用
您可以尝试以下方法:C# 我用的是“;。“净核心”。我想搜索pdf文件中的任何关键字,但此代码不起作用,c#,.net,pdf,.net-core,C#,.net,Pdf,.net Core,您可以尝试以下方法: static void Main(string[] args) { var file = File.Open(Directory.GetCurrentDirectory() + "/Net.pdf", FileMode.Open); var pattern = new Regex("kullan", RegexOptions.IgnoreCase); //this line is not working TextExtractor text
static void Main(string[] args) {
var file = File.Open(Directory.GetCurrentDirectory() + "/Net.pdf", FileMode.Open);
var pattern = new Regex("kullan", RegexOptions.IgnoreCase);
//this line is not working
TextExtractor textExtractor = new TextExtractor();
var dddd = ReadToEnd(file);
var textStrings = textExtractor.Extract(dddd);
var matches = pattern.Matches(textStrings.Text);
foreach (var item in matches)
{
Console.WriteLine(item);
}
}
蒂卡:
我就是这样做的,谢谢你的回答
try
{
var result = new TextExtractor().Extract(yourPDF.pdf).Text;
Console.WriteLine(result.Text.Length);
foreach(var line in result)
{
if(line.contains("kullen"))
/** Do Something **/
}
}
catch(Exception e)
{
Console.WriteLine("Error occurred: " + e);
}
namespace-pro
{
班级计划
{
静态void Main(字符串[]参数)
{
字符串b=pdfText(Directory.GetCurrentDirectory()+“/Net.pdf”);
字符串a=“kullan”;
int sonuc;
sonuc=b.IndexOf(a,0,b.长度);
如果(sonuc==-1)
{
控制台。写入线(“未找到”);
}
其他的
{
Console.WriteLine(“从“+sonuc.ToString()+”.character中找到”);
}
}
公共静态字符串pdfText(字符串路径)
{
PdfReader reader=新PdfReader(路径);
var dd=reader.GetPageContent(1);
string text=string.Empty;
对于(int page=1;page错误的详细信息是什么?我使用TikaOnDotnet.TextExtractor 1.17.1。此版本没有true,true参数Sokay,true,true用于PDF。我刚刚在TikaOnDotnet上尝试了此操作,它对我有效。您收到了什么错误?“消息”:“'string'不包含'ShouldContain'的定义,并且找不到可访问的扩展方法'ShouldContain'接受'string'类型的第一个参数(是否缺少using指令或程序集引用?[pdfProject]”,“source”:“csharp”“,请查看我的更新答案。这是旧版本。好的,我使用新版本,但出现错误->“FileStream”不包含“Document”的定义,并且找不到接受“FileStream”类型的第一个参数的可访问扩展方法“Document”(是否缺少using指令或程序集引用?[pdfProject]您已切换到另一个PDFExtractor。这不是您所要求的。如果我的答案对您有帮助,请将其标记为解决方案。谢谢。
try
{
var result = new TextExtractor().Extract(yourPDF.pdf).Text;
Console.WriteLine(result.Text.Length);
foreach(var line in result)
{
if(line.contains("kullen"))
/** Do Something **/
}
}
catch(Exception e)
{
Console.WriteLine("Error occurred: " + e);
}
namespace pro
{
class Program
{
static void Main(string[] args)
{
string b = pdfText(Directory.GetCurrentDirectory()+ "/Net.pdf");
string a= "kullan";
int sonuc;
sonuc = b.IndexOf(a,0, b.Length);
if(sonuc==-1)
{
Console.WriteLine("not found");
}
else
{
Console.WriteLine("found from " + sonuc.ToString() + ". character");
}
}
public static string pdfText(string path)
{
PdfReader reader = new PdfReader(path);
var dd = reader.GetPageContent(1);
string text = string.Empty;
for (int page = 1; page <= reader.NumberOfPages; page++)
{
System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance);
text += PdfTextExtractor.GetTextFromPage(reader, page);
}
reader.Close();
return text;
}
}
}