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

news2024/11/28 14:51:31

【推荐】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: 更多的功能,大家安装后自己体验吧。

我是老码农

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

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

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

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

相关文章

Axure RP Extension For Chrome 插件安装

1. 下载好 AXURE RP EXTENSION For Chrome 插件之后解压成文件夹 2. 打开浏览器,找到设置--更多工具--扩展程序--加载已加压的扩展程序,选择解压好的文件夹 3. 点击详细信息,打开访问网址权限

Ps:混合颜色带 - 应用篇

混合颜色带 Blend If是基于亮度(灰色)或颜色通道的特定范围来显示或隐藏图层的特定区域。 当前图层 Current Layer,可根据当前图层的亮度值来隐藏该图层中的像素。 下一图层 Underlying Layer,可根据下方所有图层的复合图像的亮度…

CSDN博客重新更新

说来惭愧,好久没更新博客文章,导致个人博客网站:https://lenky.info/ 所在的网络空间和域名都过期了都没发觉,直到有个同事在Dim上问我我的个人博客为啥打不开了。。。幸好之前有做整站备份,后续慢慢把内容都迁回CSDN上…

Win11怎么重置系统?(小白专享篇)

话不多说,直接上干货 重置Windows 11系统的步骤如下: 1.同时按下【Windowsi】键打开系统设置。 2.在当前页面下拉选择【系统】-【恢复】。 3.点击重置此电脑下的【初始化电脑】。 4.点击【删除所有内容】。 5.选择删除所有内容后,继续选…

在MeshLab中创建简单的几何对象

文章目录 立方体和平面网格正多面体圆形相关球类隐式曲面 在Filters->Create New Mesh Layer的子菜单中,提供了大量几何对象,列表如下 菜单指令图形菜单指令图形Dodecahedron正十二面体Icosahedron正二十面体Tetrahedron正四面体Octahedron正八面体B…

系列十三、查询数据库中某个库、表、索引等所占空间的大小

一、information_schema数据库 1.1、概述 information_schema数据库是MySQL出厂默认带的一个数据库,不管我们是在Linux中安装MySQL还是在Windows中安装MySQL,安装好后都会有一个数据库information_schema,这个库中存放了其他库的所有信息。 …

[C#]winform利用seetaface6实现C#人脸检测活体检测口罩检测年龄预测性别判断眼睛状态检测

【官方框架地址】 https://github.com/ViewFaceCore/ViewFaceCore 【算法介绍】 SeetaFace6是由中国科技公司自主研发的一款人脸识别技术,它基于深度学习算法,能够快速、准确地识别出人脸,并且支持多种应用场景,如门禁系统、移动…

实验笔记之——bug:in /usr/local/lib/libfmt.a(format.cc.o) is referenced by DSO

最近在编译D-MAP的时候遇到下面的问题 在github issue好像也有类似的提问 compiling error with fmt Issue #4 hku-mars/D-Map GitHub 这应该是fmt配置没有连接上。为此寻找所有包含的fmt文件,在头文件处加入 #define FMT_HEADER_ONLY #include "fmt/for…

Kafka(七)可靠性

目录 1 可靠的数据传递1.1 Kafka的可靠性保证1.2 复制1.3 Broker配置1.3.1 复制系数1.3.2 broker的位置分布1.3.3 不彻底的首领选举1.3.4 最少同步副本1.3.5 保持副本同步1.3.6 持久化到磁盘 1.2 在可靠的系统中使用生产者1.2.1 根据需求配置恰当的acks1.2.2 配置重试参数1.2.3…

PyTorch|构建自己的卷积神经网络--池化操作

在卷积神经网络中,一般在卷积层后,我们往往进行池化操作。实现池化操作很简单,pytorch中早已有相应的实现。 nn.MaxPool2d(kernel_size ,stride ) 这种池化叫做最大池化。 最大池化原理很简单,就是一个filter以一定的stride在原…

深度学习课程实验一浅层神经网络的搭建

一、 实验目的 1、学习如何建立逻辑回归分类器用来识别猫。将引导你逐步了解神经网络的思维方式,同时磨练我们对深度学习的直觉。(说明):除非指令中明确要求使用,否则请勿在代码中使用循环(for / while&am…

MYSQL篇--sql优化高频面试题

sql优化 1 如何定位及优化SQL语句的性能问题?创建的索引有没有被使用到?或者说怎么才可以知道这条语句运行很慢的原因? 其实对于性能比较低的sql语句定位,最重要的也是最有效的方法其实还是看sql的执行计划,而对于mysql来说 它…

定展中2024上海国际智慧工地展览会

2024第十五届上海国际智慧工地展览会 2024 Shanghai International Smart Site Equipment Expo 时间:2024年03月26日-28日 地点:上海跨国采购会展中心 政策指导: 中华人民共和国国家发展和改革委员会 中华人民共和国工业和信息化部 上海城市数字转型应用…

如何使用css隐藏掉滚动条

1.解决方案 在滚动元素上再包裹一个父元素,然后,该元素添加如下代码: (注:PC端浏览器滚动条为8px)使元素偏移原来位置8px,目的就是将滚动条区域移动到父元素边框外面,然后&#xff…

LVGL的List控件的触摸按键和实体按键的处理

在LVGL的List控件使用过程中,虽然通过触摸按键选择item,但是有些场景需要实体按键选取item,但是LVGL 的V8.3中没有像Emwin那样有函数选择list item的函数。LVGL中List引入了Group的概念,把列表项都添加到同一个group中。然后通过更…

STM32 实现姿态解算及 MPU6050 相关应用

在STM32上实现姿态解算以及与MPU6050相关的应用,通常涉及使用陀螺仪和加速度计获取姿态数据,并结合姿态解算算法来实现姿态估计。在本文中,我们将讨论如何在STM32上通过MPU6050获取姿态数据,并简要介绍姿态解算算法,并…

Retrieval-Augmented Generation for Large Language Models: A Survey

PS: 梳理该 Survey 的整体框架,后续补充相关参考文献的解析整理。本文的会从两个角度来分析总结,因此对于同一种技术可能在不同章节下都会有提及。第一个角度是从整体框架的迭代来看(对应RAG框架章节),第二个是从RAG中…

【架构专题】吃透Spring Cloud Alibaba微服务架构实战派,技术人就可以做分布式架构了!!

什么是中间件? 首先呢,我们得简单明了地来解释一下什么是分布式架构。就像咱们平时吃火锅,每个人都贡献出自己的一份力量加热锅底,最后炖出美味的火锅。同理, 分布式架构也是将计算任务拆分成多个子任务,并发给不同的…

海外跨境独立站和代购系统存在必然联系?独立站建站初期,以及如何运营好独立站。

海外跨境独立站和代购系统在多个方面存在差异: 定位:独立站是拥有独立域名,自主宣传推广媒体与渠道的新型网站,更侧重于培养买家,做品牌建设,相当于个体经营专卖店。而代购系统是利用先进的技术和流程管理…

上海亚商投顾:创业板指再创调整新低 全市场超4700只个股下跌

上海亚商投顾前言:无惧大盘涨跌,解密龙虎榜资金,跟踪一线游资和机构资金动向,识别短期热点和强势个股。 一.市场情绪 三大指数1月5日集体调整,沪指午后跌超1%,创业板指一度跌逾2%,尾盘跌幅有所…