Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring boot 使用Google Cloud vision API从图像中提取文本/pdf_Spring Boot_Csv_Pdf_Ocr_Google Cloud Vision - Fatal编程技术网

Spring boot 使用Google Cloud vision API从图像中提取文本/pdf

Spring boot 使用Google Cloud vision API从图像中提取文本/pdf,spring-boot,csv,pdf,ocr,google-cloud-vision,Spring Boot,Csv,Pdf,Ocr,Google Cloud Vision,我正在进行一个项目,我有一个jpg图像形式的数据(我有相同的pdf副本),我试图将pdf转换为csv,但没有成功地转换所有数据,因为我得到了一些不可读的字符。因为如果这个pdf是英文的,那么我可以以某种方式成功地转换为csv,但是如果它是utf-8字符(印度语),那么我在转换时遇到了问题。所以我尝试的下一个选择是谷歌提供的OCR云视觉api。我能够成功地从这个附加的图像中提取文本,而不考虑英语或utf-8字符,但将提取的文本转换为行似乎很复杂。我不知道我们是否有api来阅读目录 这是英语中的实

我正在进行一个项目,我有一个jpg图像形式的数据(我有相同的pdf副本),我试图将pdf转换为csv,但没有成功地转换所有数据,因为我得到了一些不可读的字符。因为如果这个pdf是英文的,那么我可以以某种方式成功地转换为csv,但是如果它是utf-8字符(印度语),那么我在转换时遇到了问题。所以我尝试的下一个选择是谷歌提供的OCR云视觉api。我能够成功地从这个附加的图像中提取文本,而不考虑英语或utf-8字符,但将提取的文本转换为行似乎很复杂。我不知道我们是否有api来阅读目录

这是英语中的实际图像,但我在utf-8中也有相同的数据。当我使用cloud vision api时,我得到了以下结果(注意:我尝试了future类型DOCUMENT_TEXT_DETECTION和TEXT_DETECTION)

由于在body中发布整个数据的限制,我在这里发布了整个回复中的一些信息

我一直在寻找一行一列地提取数据,但它会以给定的格式给出结果。我看到了再次将此结果逐行转换的困难。请帮我达到预期的效果。感谢您的回复

除此之外,如果我们有任何api或工具将pdf转换为csv(包括UTF-8字符集印度语言pdf),那将是非常棒的

下面是我在springboot中用来调用此cloud vision api的代码

ImageContext imageContext = ImageContext.newBuilder().addLanguageHints("ta").build();
Resource imageResource = this.resourceLoader.getResource("  file:src/main/resources/Incentive.jpg");
AnnotateImageResponse response = this.cloudVisionTemplate.analyzeImage(imageResource,
        Feature.Type.DOCUMENT_TEXT_DETECTION);

使用每个单词/符号的x和y如何?另外,我不认识您附加的结构,可能是因为它来自spring(?),但是如果您看看try me api,您有结构化响应和边界box@Inga890,谢谢您的回复!。。是的,我的选择是使用x&y将这些信息排列成一行。但是我试图看看这个api是否有任何其他选项来逐行读取和提供数据。此外,如果我们有其他api或工具将UTF-8字符的pdf转换为csv。在常规结构中,它应该是页面->块->段落,只需在此处发布您的图像,您就可以很好地了解结构。使用每个单词/符号的x和y如何,我不认识您附加的结构,可能是因为它来自spring(?),但是如果您看看try me api,您有结构化响应和边界box@Inga890,谢谢您的回复!。。是的,我的选择是使用x&y将这些信息排列成一行。但是我试图看看这个api是否有任何其他选项来逐行读取和提供数据。此外,如果我们有任何其他api或工具将UTF-8字符pdf转换为csv。在常规结构中,它应该是页面->块->段落,只需在此处发布您的图像,您就可以对该结构有良好的透视效果
ImageContext imageContext = ImageContext.newBuilder().addLanguageHints("ta").build();
Resource imageResource = this.resourceLoader.getResource("  file:src/main/resources/Incentive.jpg");
AnnotateImageResponse response = this.cloudVisionTemplate.analyzeImage(imageResource,
        Feature.Type.DOCUMENT_TEXT_DETECTION);