今天发现一个Github的开源项目,Stirling PDF,项目地址如下:https://gitcode.com/Stirling-Tools/Stirling-PDFhttps://gitcode.com/Stirling-Tools/Stirling-PDF?utm_source=artical_gitcode目前CSDN上已经有好几个up主都介绍了这个项目,但是没有介绍如何用API的方式去调用它,从而实现集成到自己的其他APP中。比如自己如果有个项目中的功能需要用到PDF操作,那么就可以直接调用这个API来实现了。
先给兄弟朋友们看下网页端效果。
再看下用python直接调用API接口来实现将PDF文件转换成文字的效果
我看了下这个项目应该用的是FastAPI框架,简单介绍一下,
FastAPI 是一个现代、快速(高性能)的 Web 框架,用于构建 API,与 Python 3.6+ 类型提示一起使用。它基于标准 Python 类型提示,使用 Starlette(用于 Web 框架)和 Pydantic(用于数据验证)来实现。FastAPI 特别适合于构建 RESTful API 服务。
FastAPI 提供的主要特点包括:
- 快速开发:由于 FastAPI 的高效设计和 Python 类型提示,开发者可以快速构建 API。
- 性能:FastAPI 是基于 Starlette 和 Uvicorn,这两者都是高性能的 Python Web 框架和服务器。
- 易用性:FastAPI 提供了自动生成文档、数据验证和序列化等功能,使得 API 开发更加简单。
- 依赖注入:FastAPI 使用 Python 的类型提示来声明依赖关系,这使得依赖注入变得非常简单和直观。
- 安全性:FastAPI 内置了多种安全性和认证功能,如 OAuth2 和 JWT。
- 支持异步编程:FastAPI 支持 Python 的异步和等待语法,允许开发者编写异步代码,提高应用程序的性能。
FastAPI 非常适合需要快速构建、易于维护和高性能的 API 服务。它被广泛用于微服务架构和容器化部署中。
我已经搭建好了一个测试站点,想测试效果的兄弟朋友们可以按照下面的代码测试
import requests
url = 'http://47.254.74.14:8080/api/v1/convert/pdf/text'
# 确保你的文件路径是正确的
files = {
'fileInput': ('test1.pdf', open('test1.pdf', 'rb'), 'application/pdf'),
'outputFormat': (None, 'txt')
}
headers = {
'accept': '*/*'
}
response = requests.post(url, headers=headers, files=files)
# 尝试使用UTF-8编码来打印响应内容
print(response.content.decode('utf-8'))
这个接口是可以实现将PDF转换为TEXT,还有其他的接口,可以参看API文档实现。请不要将地址分享出去了。