我需要使用 .Net Core 并创建一个使用 Apache Tika 的 .NET 绑定的控制台应用程序。你们知道如何继续吗?
我找到了一个名为“TikaOnDotNet”的包装器,但它似乎只适用于 .Net Framework,而不适用于 .Net Core。有办法让这个工作吗?感谢您提前回复。
不幸的是,.NET Core 框架没有 100% 覆盖其他 .NET Framework 类型,因此它本身不兼容。它必须在某种程度上被重写才能工作。幸运的是它是开源的:)
您可以使用 IKVM.Maven.SDK https://github.com/ikvmnet/ikvm-maven。我最近在工作中遇到了这个问题。这适用于 .NET 8。
<ItemGroup>
<PackageReference Include="IKVM.Maven.Sdk" Version="1.6.9" />
</ItemGroup>
<ItemGroup>
<MavenReference Include="org.apache.tika:tika-core" Version="2.9.2"></MavenReference>
<MavenReference Include="org.apache.tika:tika-parsers-standard-package" Version="2.9.0"></MavenReference>
</ItemGroup>
using org.apache.tika.parser;
using ikvm.io;
using org.apache.tika.sax;
using org.apache.tika.metadata;
using FileStream fs = new FileStream("some-file-name-here.pdf", FileMode.Open);
using InputStreamWrapper stream = new InputStreamWrapper(fs);
BodyContentHandler handler = new BodyContentHandler();
Parser parser = new org.apache.tika.parser.pdf.PDFParser();
Metadata metdata = new Metadata();
ParseContext parseContext = new ParseContext();
parser.parse(stream, handler, metdata, parseContext);
Console.WriteLine(handler.toString());