云端部署Stirling PDF:构建个人App的API调用指南(附Python源码)

今天发现一个Github的开源项目,Stirling PDF,项目地址如下:https://gitcode.com/Stirling-Tools/Stirling-PDFicon-default.png?t=N7T8https://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 提供的主要特点包括:

  1. 快速开发:由于 FastAPI 的高效设计和 Python 类型提示,开发者可以快速构建 API。
  2. 性能:FastAPI 是基于 Starlette 和 Uvicorn,这两者都是高性能的 Python Web 框架和服务器。
  3. 易用性:FastAPI 提供了自动生成文档、数据验证和序列化等功能,使得 API 开发更加简单。
  4. 依赖注入:FastAPI 使用 Python 的类型提示来声明依赖关系,这使得依赖注入变得非常简单和直观。
  5. 安全性:FastAPI 内置了多种安全性和认证功能,如 OAuth2 和 JWT。
  6. 支持异步编程: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文档实现。请不要将地址分享出去了。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/593548.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

cocos=》 预乘、混合(黑边、白色)

简介 预乘,指的是在数据提交给GPU之前,就对纹理的RGB分量与alpha值进行计算。 预乘计算 结果颜色 源颜色值 目标颜色值 * (1 - 源 alpha 值) result source.RGB dest.RGB * (1 - source.A); 对应的颜色混合函数设置为 gl.blendFunc(gl.ONE, gl.…

英语复习之英语形近词总结

最近在练习英语口语,有很好的练习场景,和数字人对练,还能纠错,不过开口的基础需要单词量的支撑以及语法的熟悉,因为英语的语法太简单了,没啥需要复习和注意的,音标发音的问题也可以后期再纠正&a…

Angular进阶-NVM管理Node.js实现不同版本Angular环境切换

一、NVM介绍 1. NVM简介 Node Version Manager(NVM)是一个用于管理多个Node.js版本的工具。它允许用户在同一台机器上安装和使用多个Node.js版本,非常适合需要同时进行多个项目的开发者。NVM是开源的,支持MacOS、Windows和Linux…

wechat_OCR项目打包以及如何使用

📚博客主页:knighthood2001 ✨公众号:认知up吧 (目前正在带领大家一起提升认知,感兴趣可以来围观一下) 🎃知识星球:【认知up吧|成长|副业】介绍 ❤️感谢大家点赞👍&…

医学图像处理:nii格式转换(3D切片为2D)

目录 NIFTI文件结构 读取NII文件 ITK-SNAP安装 使用方法 NII转PNG NIFTI文件结构 NIFTI 格式,是一种用于存储和交换医学成像数据的文件格式,特别适用于神经影像学领域。NIFTI文件通常有两个扩展名:.nii(用于图像数据&#xf…

42.WEB渗透测试-信息收集-域名、指纹收集(4)

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 内容参考于: 易锦网校会员专享课 上一个内容:41.WEB渗透测试-信息收集-域名、指纹收集(3) 关于单域名收集内容…

基于JSP的酒店客房管理系统(二)

目录 第二章 相关技术介绍 2.1 Jsp的简介 2.2 sql server 2005 的简介 第三章 系统的分析与设计 3.1 系统需求分析 1.理解需求 2.需求分析 3.2开发及运行环境 3.3功能模块的设计 3.3.1 设计目标 3.3.2 客房管理系统前台的设计 3.3.3 操作员管…

一种算法分类方式及其应用

在计算机科学领域,算法是解决问题的有效方法,而对算法进行分类有助于理解它们的特性、优劣以及在不同场景下的应用。常见的算法分类方法,包括按设计思想、问题类型、数据结构和应用领域等,每一类算法会对应有其典型和实际应用。 算…

大数据BI可视化(Echarts组件)项目开发-熟悉交互API5.0

全局echarts对象 init初始化 registerTheme注册主题 var mCharts echarts.init(document.querySelector("div"), itcast)registerMap地图图表 connect 代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8&qu…

javaFor循环-打印九九乘法表

虽然所有循环结构都可以用while或者do...while表示&#xff0c;但java提供了另一种循环语句--for循环&#xff0c;使一些循环结构变得简单。for循环语句是支持迭代的一种通用结构&#xff0c;是最有效&#xff0c;最灵活的循环结构。 先写第一列&#xff1a; 运行结果&#xf…

什么是开发者门户?最佳实践及示例

原文链接&#xff1a;https://document360.com/blog/api-developer-portal-examples 开发者门户是什么&#xff1f; DevPortal 奖的主要赞助商 Provonix 对开发者门户的定义如下&#xff1a; “开发者门户&#xff08;通常缩写为 DevPortal&#xff09;是一组 API、SDK 或其他…

【电机控制】七段式SVPWM扇区、矢量作用时间计算——对比simplefoc与Ti例程

【电机控制】七段式SVPWM扇区、矢量作用时间计算——对比simplefoc与Ti例程 文章目录 前言一、simplefoc——通过角度找扇区1.通过角度找扇区理论1.通过角度找扇区2.矢量作用时间计算3.矢量切换时间计算——七段式 2.simplefoc代码3.解读simplefoc代码1.通过角度找扇区2.矢量作…

关于YOLO8学习(四)模型转换为ncnn

前文 关于YOLO8学习(一)环境搭建,官方检测模型部署到手机 关于YOLO8学习(二)数据集收集,处理 关于YOLO8学习(三)训练自定义的数据集 简介 本文将会讲解: (1)如何通过PyCharm,进行pt模型的转换,最后输出一个适合手机端使用的模型 开发环境 win10、python 3.11…

[ARM系列]coresight(一)

原文链接 目的&#xff1a;对复杂SOC实现debug和trace的架构 典型环境 包含&#xff1a;2个ARM core&#xff0c;一个DSP&#xff0c;众多coresight组件 coresight组件实现对core、DSP的debug和trace功能 环境中包含3个通路 trace通路&#xff1a;将core和DSP内部信息输出到…

【机器学习-21】集成学习---Bagging之随机森林(RF)

【机器学习】集成学习---Bagging之随机森林&#xff08;RF&#xff09; 一、引言1. 简要介绍集成学习的概念及其在机器学习领域的重要性。2. 引出随机森林作为Bagging算法的一个典型应用。 二、随机森林原理1. Bagging算法的基本思想2. 随机森林的构造3. 随机森林的工作机制 三…

【C++】学习笔记——vector_3

文章目录 七、vector3. vector的模拟实现4. vector实现代码整合 未完待续 七、vector 3. vector的模拟实现 上篇文章我们讲解了非常 玄幻 的拷贝构造函数&#xff0c;同样的方法&#xff0c;我们也能用这种方法来实现 赋值重载函数 。 void swap(vector<T>& v) {s…

【Linux 网络】网络基础(一)(局域网、广域网、网络协议、TCP/IP结构模型、网络传输、封装和分用)-- 详解

一、计算机网络的发展背景 1、网络的定义 网络是指将多个计算机或设备通过通信线路、传输协议和网络设备连接起来&#xff0c;形成一个相互通信和共享资源的系统。 &#xff08;1&#xff09; 独立模式 独立模式 &#xff1a; 计算机之间相互独立。 &#xff08;2&#xff09;…

C语言二分查找的区间问题

概念 什么是二分查找呢&#xff1f; 二分查找&#xff1a;在有序数组中查找某一特定元素的搜索算法。 二分查找又称折半查找&#xff0c;通过将数组折半&#xff0c;用中间值和查找值作比较&#xff0c;多次使用&#xff0c;直到找到要查找的值。 注意:二分查找的前提是&#…

【xxl-job | 第二篇】Windows源码安装xxl-job

文章目录 2.Windows源码安装xxl-Job2.1拉取源码2.2IDEA导入2.3初始数据库数据2.4修改properties配置2.5启动admin并进入任务管理后台2.6jar包运行&#xff08;部署到Linux服务器上&#xff09;2.6.1打包2.6.2在xxl-job-admin打开jar包目录2.6.3cmd运行jar包 2.Windows源码安装x…

贪心,蓝桥杯真题 [巧克力]

一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 2.巧克力 - 蓝桥云课 (lanqiao.cn) 二、解题报告 1、思路分析 做法&#xff1a;我们将巧克力按照价格升序排序&#xff0c;然后顺序枚举巧克力wi&#xff0c;查找小于等于bi的日期中最大的未被选择日期&…