Am Использование библиотеки nuget IronOCR для преобразования PDF-файла в текстовый.
Ниже приведен код для этого,
public ActionResult GetFileText(string filepath)
{
try
{
filepath = Server.MapPath(filepath);
string[] tokens = filepath.Split('.');
if (tokens[1] == "pdf")
{
var Ocr = new AdvancedOcr()
{
CleanBackgroundNoise = false,
ColorDepth = 4,
ColorSpace = AdvancedOcr.OcrColorSpace.Color,
EnhanceContrast = false,
DetectWhiteTextOnDarkBackgrounds = false,
RotateAndStraighten = false,
Language = IronOcr.Languages.English.OcrLanguagePack,
EnhanceResolution = false,
InputImageType = AdvancedOcr.InputTypes.Document,
ReadBarCodes = true,
Strategy = AdvancedOcr.OcrStrategy.Fast
};
var Results = Ocr.ReadPdf(filepath);
var Pages = Results.Pages;
var FullPdfText = Results.Text;
FullPdfText = HttpUtility.HtmlEncode(FullPdfText).ToString();
FullPdfText = "<p>" + FullPdfText;
FullPdfText = FullPdfText.Replace("\r\n", @"</p><p>");
FullPdfText = FullPdfText.Replace("\r", "<\r>");
ViewData["FileViewer"] = HttpUtility.HtmlEncode(FullPdfText);
return Content(FullPdfText);
}
else
{
var Ocr = new AutoOcr();
var Result = Ocr.Read(filepath);
return Content(Result.Text);
}
}
catch (Exception ex)
{
return Content(ex.Message.ToString());
}
}
Этот код отлично работает, когда вы просто запускаете на Visualstudio. Но когда вы размещаете все решение для IIS, возникает исключение: «IronOcr.ReadPdf - невозможно извлечь изображения из PDF, возможно, оно зашифровано, не является допустимым документом PDF или у вас могут быть недостаточные права доступа к файлу:» дляPDF файлыА при преобразовании файла изображения выдается следующая ошибка: «Инициализатор типа для« NativeMagickSettings »вызвал исключение». Эта библиотека, кажется, платная, но я использую пробную или демонстрационную версию, может ли это быть причиной?