此功能的目的是允许用户将PDF文件上传到前端(Angular)并在屏幕上显示PDF文件的信息。但它不显示完整的PDF文件,只显示所包含的信息。
为此,我想我可以将PDF文件转换为. txt文件或类似的文件,让提取信息。
- 示例:**
- Input:Cedula de Identificación Fiscal.pdf <--file Example pdf information
- 输出:{name:Gregorio Emanuel Hernandez Rivera,address:"...",...,etc.}
2条答案
按热度按时间ergxz8rk1#
您可以使用tesseractJS从pdf中读取文本。
1sbrub3j2#
默认情况下,OCR将没有此类字段的上下文。
您有几个选项,具体取决于您的方案:
1.所有文档都遵循相同的模板(如提供的),并且分辨率相同。
如果您使用的是少量字段,请执行OCR并创建预期字段及其像素坐标的JSONMap,例如{“name”:[x1,y1,x2,y2],...},然后将这些ROIMap回OCR输出。大多数OCR引擎支持单词级别的坐标输出。
1.所有的文档都遵循相同的模板(如提供的),但可以扫描或作为图片(让我们说通过移动的)。
您需要使用关键点Map进行一些图像转换,以将其与模板文档匹配。你可以试试选项1。
1.这些文档不遵循任何模板(提供的示例只是一个示例)。
在这种情况下,考虑到您列出的字段,我认为尝试的一个选项是首先对图像进行OCR,然后对提取的文本利用命名实体识别(NER)来确定您列出的字段(名称,地址等)。例如,请参见:spaCy NER。
另一件事,你应该考虑的是,你得到的PDF是否已经有一个文本层。如果PDF已经有一个文本层,你不需要OCR,可以直接解析文本。在这种情况下,您可能需要考虑跳过OCR处理,而只尝试类似NER的方法来提取名称和地址。如果NER没有给出好的结果,你应该回到选项1和2。