我需要使用数据湖分析从 pdf 文件中提取数据并将值存储到表中。谁能帮助我提供一些有关如何实现此场景的示例或程序。
问问题
114 次
1 回答
1
以下是一些在 Azure Data Lake Analytics 中开始使用 U-SQL 的资源:
https://docs.microsoft.com/en-us/u-sql/
https://www.purplefrogsystems.com/paul/category/u-sql/
https://www.mssqltips.com/sqlservertip/5890/azure-data-lake-analytics-using-usql-queries/
关于您谈到的场景,您必须编写一个自定义提取器来阅读 PDF。这是相同的 C# 示例:
using System.Collections.Generic;
using iTextSharp.text.pdf;
using iTextSharp.text.pdf.parser;
using Microsoft.Analytics.Interfaces;
namespace PDFExtractor
{
[SqlUserDefinedExtractor(AtomicFileProcessing = true)]
public class PDFExtractor : IExtractor
{
public override IEnumerable<IRow> Extract(IUnstructuredReader input, IUpdatableRow output)
{
var reader = new PdfReader(input.BaseStream);
for (var page = 1; page <= reader.NumberOfPages; page++)
{
output.Set(0, page);
output.Set(1, ExtractText(reader, page));
yield return output.AsReadOnly();
}
}
public string ExtractText(PdfReader pdfReader, int pageNum)
{
var text = PdfTextExtractor.GetTextFromPage(pdfReader, pageNum, new LocationTextExtractionStrategy());
// Encode new lines to prevent from line breaking in text editors,
// I want nice line after line files
return text.Replace("\r", "\\r").Replace("\n", "\\n");
}
}
}
你可以在 Python 中编写类似的东西。
参考 - https://devblog.xyz/simple-pdf-text-extractor-adla/
希望这可以帮助。
于 2020-05-27T08:56:09.807 回答