【推荐】15k的star,5分钟本地化部署,一款由ChatGPT开发PDF文件处理神器,功能强大,你想要的都有。

【推荐】15k的star,5分钟本地化部署,一款由ChatGPT开发PDF文件处理神器,功能强大,你想要的都有。

文章目录

    • 【推荐】15k的star,5分钟本地化部署,一款由ChatGPT开发PDF文件处理神器,功能强大,你想要的都有。
      • 推荐3个理由
      • 官网
      • 特点
      • 功能
        • 页面操作
        • 转换操作
        • 安全性和权限
        • 其他操作
      • 安装
        • 第1种:`docker run`
        • 第2种: `docker compose`
      • 访问
      • 我是老码农

大家好!我是老码农。

《码农说》公众号的第13篇文章我们暖暖来袭。

今天分享主题:一款最初由100%ChatGPT开发的PDF处理应用程序,Stirling-PDF

工具的源代码,我已经下载好了,公众号内回复:0108即可下载,不想下载的直接按照资料部署即可。

推荐3个理由

理由1:部署非常简单,如果基于Docker部署,5分钟搞定。因为是本地化部署,不用担心数据安全问题;

  • 网络上各种在线PDF处理工具不付费大都功能受限,用起来很不爽;
  • 文中记述了详细的部署过程。

理由2:体验ChatGPT的强大之处;工具用好了,能让我们有更多的时间摸鱼,太牛掰了;

理由3:基于主流的技术架构,我们可以方便进行二次开发;

  • Spring Boot + Thymeleaf
  • PDFBox
  • LibreOffice for advanced conversions
  • OcrMyPdf
  • HTML, CSS, JavaScript
  • Docker
  • PDF.js
  • PDF-LIB.js

官网

  • Stirling-PDF
    • https://github.com/Stirling-Tools/Stirling-PDF

特点

  • 本地部署基于Web页面的PDF操作工具;
  • 本地可基于Docker部署;
  • 可以对PDF文件执行各种操作,如拆分、合并、转换、重组、添加图像、旋转、压缩等;
  • 支持黑暗模式;
  • 并行文件处理和下载;
  • 可选的登录和身份验证支持。

功能

页面操作
  • 查看和修改PDF-使用自定义查看排序和搜索功能查看多页PDF。加上页面上的编辑功能,如注释、绘制和添加文本和图像。

  • 用于合并/拆分/旋转/移动PDF及其页面的完整交互式GUI。

  • 将多个PDF合并到一个结果文件中。

  • 按指码将PDF拆分为多个文件,或将所有页面提取为单个文件。

  • 将PDF页面重新组织为不同的顺序。

  • 以90度为增量旋转PDF。

  • 删除页面。

  • 多页布局(将PDF格式设置为多页页面)。

  • 按设置%缩放页面内容大小。

  • 裁剪PDF。

  • 。。。

转换操作
  • 将PDF转换为图像和从图像转换PDF。

  • 将任何常用文件转换为PDF(使用LibreOffice)。

  • 将PDF转换为Word/Powerpoint/其他(使用LibreOffice)。

  • 将HTML转换为PDF。

安全性和权限
  • 添加和删除密码。

  • 更改/设置PDF权限。

  • 添加水印。

  • 认证/签署PDF。

其他操作
  • 添加/生成/写入签名。

  • 检测并删除空白页。

  • 比较2个PDF并显示文本差异。

  • 将图像添加到PDF中。

  • 压缩PDF以减小其文件大小(使用OCRMyPDF)。

  • 从PDF中提取图像。

  • 从扫描中提取图像。

  • 添加页码。

安装

下面提供了2种安装方式,实际都是用Docker启动容器。推荐大家用Docker安装。

第1种:docker run
  • Step1: 创建数据卷

    docker volume create s_pdf_trainingData
    

    继续执行下面命令

    docker volume create s_pdf_extraConfigs
    

    继续执行下面命令

    docker volume create s_pdf_logs
    
  • Step2:运行docker run, 启动容器

    docker run -d -p 8686:8080 -v s_pdf_trainingData:/usr/share/tesseract-ocr/5/tessdata -v s_pdf_extraConfigs:/configs -v s_pdf_logs:/logs -e DOCKER_ENABLE_SECURITY=false --name stirling-pdf  frooodle/s-pdf:latest
    
第2种: docker compose
  • Step1: 编写脚本,脚本文件名compose.yaml

    version: '3.3'
    services:
      stirling-pdf:
        image: frooodle/s-pdf:latest
        ports:
          - '8686:8080'
        volumes:
          - s_pdf_trainingData:/usr/share/tesseract-ocr/5/tessdata 
          - s_pdf_extraConfigs:/configs
          - s_pdf_logs:/logs/
    #      - /location/of/customFiles:/customFiles/
        environment:
          - DOCKER_ENABLE_SECURITY=false
    volumes:
      s_pdf_trainingData:
      s_pdf_extraConfigs:
      s_pdf_logs:
    
  • Step2: 编写一个执行脚本

    • Window上:run.bat,该文件和compose.yml放在同一目录下,文件内容如下

      docker compose up -d
      
    • Linux Or macOS上:run.sh, 该文件和compose.yml也放在同一目录下,文件内容如下

      #!/bin/bash
      docker compose up -d
      

      然后修改该文件可执行权限

      chmod +x run.sh
      
  • Step3:参照下面说明,执行完脚本,启动容器即可。

    • Windows上,直接双击run.bat即可启动;

    • Linux Or MacOS上,执行下面的脚本,启动容器。

      ./run.sh
      

访问

  • Step1:打开浏览器,输入http://localhost:8686/

    默认是英文的,下图画框部分是提供的功能。

    在这里插入图片描述

  • Step2:改成中文,如下图操作即可

    在这里插入图片描述

  • Step3:修改完语言后,界面如下,提供的功能很全

    在这里插入图片描述

  • Step4: 更多的功能,大家安装后自己体验吧。

我是老码农

大家好!我是老码农。今天就分享到这里。

关注《码农说》,期待未来能与更多的同学有深入的交流,一同学习技术,共同成长。

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

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

相关文章

NACHI机器人虚拟示教器报I2101异常

前言 机器人示教器报:I2101 异常停止按钮或外部停止信号被输入 无法再示教模式下进行程序的运行! 解决方法 结果 最后测试可以正常的运行程序

和可被K整除的子数组(Java详解)

目录 一、题目描述 二、题解 思路分析 具体实现 完整代码 一、题目描述 给定一个整数数组 nums 和一个整数 k ,返回其中元素之和可被 k 整除的(连续、非空) 子数组 的数目。 子数组 是数组的 连续 部分。 示例: 输入&#…

什么是PD快充诱骗芯片?它的原理是什么?

PD快充诱骗芯片,顾名思义,就是通过LDR6328Q PD取电芯片把pd适配器的电压给诱骗出来固定给后端设备供电。PD诱骗芯片是受电端的一种PD协议芯片,它内置了PD通讯模块,通过与供电端(如PD充电器)的PD协议芯片握手…

深入理解堆(Heap):一个强大的数据结构

. 个人主页:晓风飞 专栏:数据结构|Linux|C语言 路漫漫其修远兮,吾将上下而求索 文章目录 前言堆的实现基本操作结构体定义初始化堆(HeapInit)销毁堆(HeapDestroy) 重要函数交换函数(…

Eslint+Prettier

1.Eslint js验证的规则标准,Vue也有自己的独特的验证规则,vue-eslint-plugin属于vue自己的验证规则。 如果不想报错,可以在package.json/rules里面进行关闭,默认是开启的,默认缩进是两个空格。 2.Prettier - Code formatter 使写代码更加的美观 可选的配置项: 例如: module…

三代半导体材料有何区别

什么是半导体材料 半导体材料是制作半导体器件和集成电路的电子材料,是半导体工业的基础。利用半导体材料制作的各种各样的半导体器件和集成电路,促进了现代信息社会的飞速发展。 绝缘体、半导体和导体的典型电导率范围 半导体材料的研究开始于19世纪初…

GPT在地学、GIS、气象、农业、生态、环境等领域应用教程

详情点击链接:GPT在地学、GIS、气象、农业、生态、环境等领域应用教程 一开启大模型 1 开启大模型 1)大模型的发展历程与最新功能 2)大模型的算法构架与底层逻辑 3)大模型的强大功能与应用场景 4)国内外经典大模型(ChatGPT、LLaMA、Gemini、DALLE、…

vscode中uniapp项目无法编译生成dist 也不报错的解决办法

就在昨天,我修改项目的代码UI部分后,执行「npm run dev:mp-weixin 」这个指令,开发工具中的页面没有任何变化,然后终端的输出如下图: 毫无提示,当下就觉得不对劲,果然在微信开发工具里面看到编译…

百度旋转验证码识别研究

最近研究了一下图像识别,一直找到很好的应用场景,今天我就发现可以用百度的旋转验证码来做一个实验。没想到效果还挺好,下面就是实际的识别效果。 1、效果演示 2、如何识别 2.1准备数据集 首先需要使用爬虫,对验证码图片进行采…

C++入门教程,C++基础教程(第一部分:从C到C++)七

由C语言发展而来的一种面向对象的编程语言。 第一部分、从C语言到C 本章讲述 C 语言的简史,以及 C 语言中与面向对象关系不大、C语言中没有的特性。这些特性能够增加编程的便利性,提高程序的可扩充性。 十三、如何规范地使用C内联函数 inline 关键字…

QT入门操作

1-Qt简介 Qt是什么? 这门课程的定位: C的实践课。系统性的认识图形用户界面编程新的就业方向 Qt是一个基于C的图形用户界面(GUI)开发框架,但是Qt不仅仅能开发界面,还包括很多传统编程中的计数:多…

【C语言】指针——从底层原理到应用

C语言指针-从底层原理到花式技巧,用图文和代码帮你讲解透彻 目录 一、前言二、变量与指针的本质 1. 内存地址2. 32位与64位系统3. 变量4. 指针变量5. 操作指针变量 5.1 指针变量自身的值5.2 获取指针变量所指向的数据5.3 以什么样的数据类型来使用/解释指针变量所指…

深入了解 Vite:快速、简洁、高效的前端构建工具(下)

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云…

【Matplotlib】基础设置之图像处理05

图像基础 导入相应的包: import matplotlib.pyplot as plt import matplotlib.image as mpimg import numpy as np %matplotlib inline导入图像 我们首先导入上面的图像,注意 matplotlib 默认只支持 PNG 格式的图像,我们可以使用 mpimg.im…

管理系统-基于javaweb的图书管理系统

基于javaweb的图书管理系统 🍅 作者主页 央顺技术团队 🍅 欢迎点赞 👍 收藏 ⭐留言 📝 🍅 文末获取源码联系方式 📝 本项目采用eclipse工具开发,jspservlet技术编写,样式采用了layui…

Python综合数据分析_根据订单求RFM值

文章目录 0.导入数据1.数据可视化2.数据清洗3.特征工程4.构建User用户表5.求R值6.求F值7.求M值 0.导入数据 import pandas as pd #导入Pandas df_sales pd.read_csv(订单.csv) #载入数据 df_sales.head() #显示头几行数据 1.数据可视化 import matplotlib.pyplot as plt #导…

Linux链接的创建,删除,修改

目录 1. 概述2. 硬链接2.1 创建硬链接2.2 删除硬链接 3. 软链接3.1 创建软链接3.2 删除软链接 5. 常用的终端工具下载 计算机基础–Linux详解 1. 概述 在Linux系统中,链接是一种文件系统中的重要概念。链接允许用户在文件系统中创建指向另一个文件的引用&#xff0c…

2024年HCIE认证有什么用?华为HCIE好考吗?

随着信息技术的迅速发展,网络工程师的需求越来越高,而HCIE作为华为认证体系中的最高级别认证,备受从业者关注。本文将深入研究2024年HCIE认证的价值、考试难度以及报名费用等方面的信息。 2024年HCIE认证有什么用? 新的一年即将到来&#x…

Java学习,一文掌握Java之SpringBoot框架学习文集(5)

🏆作者简介,普修罗双战士,一直追求不断学习和成长,在技术的道路上持续探索和实践。 🏆多年互联网行业从业经验,历任核心研发工程师,项目技术负责人。 🎉欢迎 👍点赞✍评论…

NGINX 配置本地HTTPS(免费证书)

生成秘钥key,运行: $ openssl genrsa -des3 -out server.key 2048 会有两次要求输入密码,输入同一个即可。输入密码然后你就获得了一个server.key文件。 以后使用此文件(通过openssl提供的命令或API)可能经常回要求输入密码,如果想去除输入密码的步骤可以使用以下命令: $ op…