云端部署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 requestsurl = '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文档实现。请不要将地址分享出去了。


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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python中类方法、静态方法和实例方法的使用场景

在Python中,类方法(classmethod)、静态方法(staticmethod)和实例方法是类的三种主要方法类型,它们各自适用于不同的场景: 实例方法 实例方法是最常用的方法类型,它用于操作实例属性…

环保设备统一管理系统

在环保意识日益增强的今天,企业如何有效管理环保设备,确保其正常运行,减少环境污染,成为了一个重要议题。HiWoo Cloud平台以其独特的环保设备统一管理系统,为企业提供了一套完整的解决方案,帮助企业实现绿色…

该怎么发外贸开发信才能瞄准大客户?

1.要知道80%的业务源自于大客户,要合理利用自己的时间。其实我自己发邮件一直都是粗发模式,效果也还可以,主要是因为我的客户都是展会上的,所以拒收和失败率会很低,而且客户意向度一直很高,但是花费的时间精…

Remix中使用 Tailwind

如何Remix 中使用 Tailwindcss Remix是通过 Vite 进行构建的,Vite 原生就支持 PostCSS,通过以下几步就可以设置完成 安装 PostCSS 插件 npm install -D tailwindcss autoprefixer添加PostCSS配置文件 ## postcss.config.js export default {plugins:…

SQL面试题每日一题之求解用户最长连续登录天数

SQL面试题每日一题之求解用户最长连续登录天数 之后会不定期更新每日一题sql系列。 SQL面试题每日一题系列内容均来自于网络以及实际使用情况收集,如与各大厂面试题有雷同,纯属巧合。 1.题目 问题:以下为多个用户每日登录记录数据&#x…

microsoft的azure语音,开发环境运行正常,发布到centos7线上服务器之后无法运行解决方案

最近在做AI语音对话的功能,用到了azure的语音语音服务,开发的时候还算顺利,部署到线上后,发现在正式服上无法完成语音转文本的操作,提示: org.springframework.web.util.NestedServletException: Handler …

浅谈Windows 上的线程亲和性(Thread affinity)

​ 前言 线程属性包括是否分离、亲和性、调度策略和优先级等。Linux默认的调度策略是CFS(完全公平调度算法),而 Windows 是基于优先级抢占式的策略。 在这些方面,Windows 和 Linux 差异巨大。本文仅针对 Windows 系统的线程亲和性进行探讨。 线程亲和性(Thread affinity) 什…

Softmax和Sigmoid

Softmax和Sigmoid函数在机器学习和深度学习中都扮演着重要的角色,但它们在功能和应用上存在一些关键的区别。 功能和应用领域: Softmax函数:主要用于多分类问题。它将一组实数(通常是神经网络的输出)转换为一组概率分…

手游广告归因新选择:Xinstall助力精准衡量投放效果

在手游市场竞争日益激烈的今天,广告主们面临着如何精准衡量广告投放效果的难题。手游广告归因平台的出现,为广告主们提供了一种全新的解决方案。而Xinstall,作为其中的佼佼者,正以其独特的优势,助力广告主们破解这一难…

​The Sandbox VoxEdit 迷你创作比赛|春天的资产

VoxEdit 迷你比赛 我们将为您带来一场新的 VoxEdit 迷你比赛!在为期 8 天的比赛中,您将有机会快速创建并展示您的可用资产。 立即下载 VoxEdit 并开始参赛吧: The Sandbox - VoxEdit 比赛主题: 设计与春季环境相关的资产。本次比…

前端高频面试题 5.08

事件委托 事件委托是前端开发中常用的一种优化性能和代码可维护性的方法,它基于DOM的事件冒泡机制。当一个元素触发事件时,这个事件会按照从顶层到底层的顺序传播,直到最底层的元素(通常是文档的根节点)。事件委托利用…

第1章. STM32单片机入门知识介绍

目录 0. 《STM32单片机自学教程》专栏 1.1 嵌入式系统简介 1.1.1 什么是嵌入式系统 1.1.2 嵌入式系统的特点 1.1.3 嵌入式系统的应用领域 1.2 单片机基本概念 1.3 ARM简介 1.3.1 ARM公司简介 1.3.2 ARM处理器简介 1.4 STM32简介 1.4.1 基于Cortex内核的MCU 1.4.…

分红76.39亿,分红率再创新高,成长活力无限的伊利带来丰厚回报

伊利47万股东,又等来了一个好消息。 4月29日,伊利股份发布2023年报,实现营业总收入1261.79亿元,归母净利润104.29亿元,双创历史新高,实现连续31年稳健增长。 在递交亮眼成绩单的同时,乳业巨头伊…

头歌实践教学平台:CG3-v2.0-图形几何变换

第3关:图形的平移与旋转 一. 任务描述 1. 本关任务 (1) 理解几何变换基本原理, 掌握平移和旋转变换的方法; (2) 根据几何变换基本原理,将main函数中的空白部分补充完整。 2. 输入 (1) 代码将自动输入一个边长为2的obj正方体模型,具体模型如下图&…

DDR4 SDRAM 和LPDDR4的区别

DDR4 SDRAM(Double Data Rate Fourth Generation Synchronous Dynamic Random-Access Memory)和LPDDR4(Low Power Double Data Rate Fourth Generation)都是内存技术的标准,但它们设计用于不同的平台,并在性能、功耗和物理尺寸方面有所差异: 应用领域: DDR4 SDRAM 主要…

【力扣】746. 使用最小花费爬楼梯

原题链接:. - 力扣(LeetCode) 目录 1. 题目描述 2. 思路分析 3. 代码实现 1. 题目描述 给你一个整数数组 cost ,其中 cost[i] 是从楼梯第 i 个台阶向上爬需要支付的费用。一旦你支付此费用,即可选择向上爬一个或者…

Unity图文混排EmojiText的使用方式和注意事项

​​​​​​​ 效果演示: 使用方式: 1、导入表情 2、设置图片格式 3、生成表情图集 4、创建/修改目标材质球 5、测试 修复换行问题 修复前: 修复后: 修复代码: 组件扩展 1、右键扩展 2、组件归类&#…

ODBC - 笔记

0 C++通过ODBC方式连接数据库SQLServer及增删查改操作【图书借阅系统为例】 C++通过ODBC方式连接数据库SQLServer及增删查改操作【图书借阅系统为例】_odbc5.2 c++怎么连接数据库-CSDN博客 0.1 c++使用libODBC linux - /lib/x86_64-linux-gnu/libodbc.so.2 win - /c/WINDO…

【MySQL数据库设计规范】安全规范

欢迎点开这篇文章,自我介绍一下哈,本人笔名姑苏老陈,是一个JAVA开发老兵。 本文收录于 《MySQL数据库设计规范》专栏中,该专栏主要分享一些关于MySQL数据库设计相关的技术规范文章,定期更新,欢迎关注&#…

ansible-3

目录 一、Templates 模块 1.1.先准备一个以 .j2 为后缀的 template 模板文件,设置引用的变量 1.2.修改主机清单文件,使用主机变量定义一个变量名相同,而值不同的变量 1.3.编写 playbook 二、tags 模块 三、Roles 模块 四、编写模块 4…