GROBID库:Windows环境下运行GROBID库解析文档的解决方案

一.待解决问题:PDF to XML conversion failed with error code: 99

因 GROBID模块已不再支持Windows平台

官方文档:

Windows related issues
Grobid is developed and tested on Linux. macOS is also supported, although some components might behave slighly different due to the natural incompatibility of Apple with the rest of the world and the availability on some proprietary fonts on this platform.

Windows, unfortunately, is currently not anymore supported, due to lack of experience and time constraints. We recommend Windows users to use the Grobid Docker image (documented here) and call the system via API using one of the various grobid clients.

Windows相关问题

Grobid是在Linux上开发和测试的。macOS也被支持,尽管由于苹果与世界其他地方的自然不兼容以及该平台上的一些专有字体的可用性,一些组件的行为可能略有不同。

不幸的是,由于缺乏经验和时间限制,目前不再支持Windows。我们建议Windows用户使用Grobid Docker映像(这里有文档),并使用各种Grobid客户端之一通过API调用系统。

使用Windows系统访问Web端页面/调用API接口会出现如下的报错

在这里插入图片描述

因此需要尝试其他方案 使得Windows系统也能够使用该模块。

二.Docker Desktop

(1)程序介绍
  • Docker 是基于容器的平台,允许高度可移植的工作负载。
  • Docker 容器可以在开发人员的本机上,数据中心的物理或虚拟机上,云服务上或混合环境中运行。
  • 基于镜像,可以秒级启动各种容器。
  • 每一种容器都是一个完整的运行环境,容器之间互相隔离。
  • Docker 的可移植性和轻量级的特性,能够实时扩展或拆除应用程序和服务。
  • Docker 容器与虚拟机类似,但不会创建整个虚拟操作系统。 相反,Docker 允许应用使用与运行它的系统相同的 Linux 内核。 这使得应用包能够仅要求主计算机上尚未安装的部件,从而降低包大小以及提高性能。
(2)安装步骤

1.基于WSL2的底层架构 因此先安装这个(没装的话 后面的程序是无法正常运行的)

链接:https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi

在这里插入图片描述

在这里插入图片描述

2.去Docker官网下载该程序 这是桌面端运行程序

在这里插入图片描述

在这里插入图片描述

3.该程序占用内存较大 将其安装修改到D盘(C盘空间足够的话可以不看此步骤)

建立文件夹

在这里插入图片描述

命令行下执行 建立软连接 保证C盘下Program Files文件夹下不存在Docker文件夹

否则命令行运行会报错

mklink /j "C:\Program Files\Docker" "D:\Program Files\Docker"

在这里插入图片描述

镜像文件移动至D盘 参考这篇博客 哇 真的很有效

【Docker】win10上修改docker的镜像文件存储位置(九)- 通过WSL2修改_jwensh的博客-CSDN博客

4.完成下载后 直接点击exe文件与OK进行执行

若没有执行第二步,默认安装路径是C盘 在安装时无法更改 因此C盘要确保留有足够的空间

在这里插入图片描述
在这里插入图片描述

3.需要重启电脑来完成初始化

在这里插入图片描述

4.完成重启后

在这里插入图片描述

6.注意系统服务是否开启 在cmd中输入 services.msc 打开系统服务

在这里插入图片描述

7.dockers正常使用 且仅仅占用了C盘300MB空间不到。
在这里插入图片描述

三.镜像文件

(1)镜像介绍

官方文档:GROBID with containers - GROBID Documentation

GROBID能够通过Docker进行实例化与运行,为了满足不同用户的需求,开发者提供了两类docker镜像。

  • 轻量镜像只是CRF模型:该镜像在运行和内存中限制镜像大小并提供了最佳性能。
  • 全镜像能够运行CRF与深度学习模型:该镜像包括了所有需要的python与TensorFlow库,
  • GPU支持和所有DL模型资源。它可以提供稍微更准确的结果,但代价是运行时更慢,内存使用量更高。映像也相当大(python和tensorflow库占用2GB以上,预加载的嵌入约5GB)。
(2)安装步骤

(我装的是轻量级镜像)

我们在cmd下执行如下语句,接在尾端的数字是版本号,去门户查找最新的。

轻量级镜像网站:lfoppiano/grobid Tags | Docker Hub

docker pull lfoppiano/grobid:0.7.1

将会从上述网站中自动下载对应镜像文件

在这里插入图片描述

运行该系统 版本号与你所安装的镜像文件对应

docker run -t --rm -p 8070:8070 lfoppiano/grobid:0.7.1

在终端出现如下界面 运行成功
在这里插入图片描述

四.成功解决 完成解析

挂载上述运行界面后 此时通过Web端或是调用API接口 将不会再出现报错

进入网站Grobid Web Application 解析成功

在这里插入图片描述

使用python程序调用API接口

在这里插入图片描述

在这里插入图片描述

安装Grobid以及调用程序运行Grobid批量提取解析PDF文档 可以参考我的上一篇文章。

GROBID库安装与使用:PDF元数据字段及全文内容批量提取与解析

猜你喜欢

转载自blog.csdn.net/yt266666/article/details/127453067