暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Docker:安装 Stirling-PDF 的详细指南

拾荒的小海螺 2024-08-13
2061

1、简述

在这篇博客中,我们将探讨如何使用 Docker 来部署和运行 Stirling-PDF,这是一个强大的开源 PDF 处理工具。Stirling-PDF 提供了丰富的 API,可以方便地执行 PDF 的生成、合并、拆分、加密等操作。通过 Docker,我们可以轻松地在任何环境中运行 Stirling-PDF,而无需手动配置依赖项。

Github地址:https://github.com/Stirling-Tools/Stirling-PDF


2、安装

Stirling-PDF 是一个现代化的 PDF 处理工具,它通过 RESTful API 提供了强大的 PDF 操作功能。用户可以使用它来处理各种 PDF 相关的任务。


2.1 拉取 Stirling-PDF Docker 镜像

首先,我们需要从 Docker Hub 拉取 Stirling-PDF 的官方镜像。执行以下命令:

    docker pull frooodle/s-pdf:latest


    2.2 运行 Stirling-PDF 容器

    拉取镜像后,可以使用以下命令来启动 Stirling-PDF 容器:

      docker run -d -p 9080:8080 --name stirling-pdf frooodle/s-pdf:latest

      这里,我们将容器的 9080 端口映射到宿主机的 8080 端口。运行这个命令后,Stirling-PDF 会在后台运行,您可以通过 http://localhost:9080 来访问 Stirling-PDF 的 API。


      2.3 编排安装

      首先创建Stirling-PDF的映射目录:

        mkdir -p data/stirling/trainingData
        mkdir -p data/stirling/extraConfigs
        mkdir -p data/stirling/customFiles
        mkdir -p data/stirling/logs

        在/data/stirling目录,创建docker-compose.yml文件,内容如下,其中宿主机映射端口、登录账号密码等可以自定义配置:

          version: '3.3'
          services:
          stirling-pdf:
          image: registry.cn-hangzhou.aliyuncs.com/jeson/s-pdf:0.26.1-fat
          container_name: Stirling-PDF
          ports:
          - '9080:8080'
          volumes:
          - /data/stirling/trainingData:/usr/share/tessdata
          - /data/stirling/extraConfigs:/configs
          - /data/stirling/customFiles:/customFiles/
          - /data/stirling/logs:/logs/
          environment:
          DOCKER_ENABLE_SECURITY: true
          SECURITY_ENABLELOGIN: true
          SECURITY_INITIALLOGIN_USERNAME: admin
          SECURITY_INITIALLOGIN_PASSWORD: admin
          UI_APPNAME: jeven-PDF
          INSTALL_BOOK_AND_ADVANCED_HTML_OPS: false
          LANGS: zh_CN


          执行docker-compose 容器指令:

            docker-compose up -d
            docker-compose logs


            3、功能

            Stirling-PDF 是一个现代化的开源 PDF 处理工具,它提供了一套丰富的功能,可以通过 API 接口轻松地操作 PDF 文档。以下是 Stirling-PDF 的主要功能的详细介绍:


            3.1 PDF 创建

            Stirling-PDF 支持从各种数据源(如 HTML、Markdown、文本)生成 PDF 文件。它可以处理复杂的文档结构,包括嵌入图片、表格、图表等。

            使用场景:

            从网页内容生成 PDF 报告。

            将 Markdown 文件转换为 PDF 格式的文档。

            API 示例:

              curl -X POST "http://localhost:9080/api/create" \
              -H "Content-Type: application/json" \
              -d '{
              "content": "<h1>Hello, PDF!</h1>",
              "type": "html"
              }' -o output.pdf


              3.2 PDF 合并

              Stirling-PDF 可以将多个 PDF 文件合并为一个 PDF 文件,这对于需要将多个文档组合成一个文件的场景非常有用。

              使用场景:

              合并不同章节的文档。

              将多个发票或报告合并为一个文件。

              API 示例:

                curl -X POST "http://localhost:9080/api/merge" \
                -H "accept: application/json" \
                -H "Content-Type: multipart/form-data" \
                -F "files=@file1.pdf" \
                -F "files=@file2.pdf" \
                -o merged.pdf


                3.3 PDF 拆分

                Stirling-PDF 提供了将一个 PDF 文件拆分为多个文件的功能。用户可以根据页码范围来拆分文件,生成独立的 PDF 文档。

                使用场景:

                拆分大型 PDF 文件,方便发送或存储。

                从 PDF 文件中提取特定页面。

                API 示例:

                  curl -X POST "http://localhost:9080/api/split" \
                  -H "accept: application/json" \
                  -F "file=@document.pdf" \
                  -F "page_numbers=1,3" \
                  -o split.pdf


                  3.4 PDF 加密和解密

                  Stirling-PDF 支持对 PDF 文件进行加密和解密操作。用户可以为 PDF 文件设置密码保护,也可以解密受保护的 PDF 文件。

                  使用场景:

                  为敏感文档添加密码保护。

                  解密有权限限制的 PDF 文件以便访问内容。

                  API 示例(加密):

                    curl -X POST "http://localhost:9080/api/encrypt" \
                    -H "accept: application/json" \
                    -F "file=@document.pdf" \
                    -F "password=securepassword" \
                    -o encrypted.pdf

                    API 示例(解密):

                      curl -X POST "http://localhost:9080/api/decrypt" \
                      -H "accept: application/json" \
                      -F "file=@encrypted.pdf" \
                      -F "password=securepassword" \
                      -o decrypted.pdf


                      3.5 添加水印

                      Stirling-PDF 可以在 PDF 文件中添加水印,包括文本水印和图像水印。水印可以设置为在每页上显示,或仅在特定页面上显示。

                      使用场景:

                      在文档上添加公司标志或版权声明。

                      在合同或协议上添加 "CONFIDENTIAL" 等标识。

                      API 示例(文本水印):

                        curl -X POST "http://localhost:9080/api/watermark" \
                        -H "accept: application/json" \
                        -F "file=@document.pdf" \
                        -F "text=CONFIDENTIAL" \
                        -F "font_size=48" \
                        -o watermarked.pdf

                        API 示例(图片水印):

                          curl -X POST "http://localhost:9080/api/watermark" \
                          -H "accept: application/json" \
                          -F "file=@document.pdf" \
                          -F "image=@logo.png" \
                          -F "position=center" \
                          -o watermarked.pdf


                          3.6 PDF 压缩

                          Stirling-PDF 支持压缩 PDF 文件,以减少文件大小。这个功能对于需要传输大文件或保存空间的场景非常实用。

                          使用场景:

                          压缩 PDF 文件以便通过电子邮件发送。

                          减少存储空间占用。

                          API 示例:

                            curl -X POST "http://localhost:9080/api/compress" \
                            -H "accept: application/json" \
                            -F "file=@large.pdf" \
                            -o compressed.pdf


                            3.7 PDF 文件格式转换

                            Stirling-PDF 支持将 PDF 转换为其他文件格式(如图像、文本等),或者将其他格式文件转换为 PDF。

                            使用场景:

                            提取 PDF 中的文本内容。

                            将 PDF 页面转换为图像。

                            API 示例(PDF 转图像):

                              curl -X POST "http://localhost:9080/api/convert" \
                              -H "accept: application/json" \
                              -F "file=@document.pdf" \
                              -F "format=png" \
                              -o output.png


                              3.8 PDF 表单处理

                              Stirling-PDF 支持对 PDF 表单进行处理,允许用户填写、提取或修改 PDF 表单中的数据。

                              使用场景:

                              自动化处理 PDF 表单数据。

                              批量填写或修改 PDF 表单内容。

                              API 示例:

                                curl -X POST "http://localhost:9080/api/form/fill" \
                                -H "accept: application/json" \
                                -F "file=@form.pdf" \
                                -F "fields={\"name\":\"John Doe\", \"date\":\"2024-08-11\"}" \
                                -o filled_form.pdf


                                4、总结

                                Stirling-PDF 提供了一套全面的 PDF 处理功能,可以满足从创建到操作、保护再到转换的多种需求。通过这些功能,开发者可以构建出强大的应用程序,帮助用户自动化和简化他们的 PDF 处理流程。无论是简单的合并和拆分,还是复杂的表单处理和加密操作,Stirling-PDF 都提供了直观的 API 接口,方便集成到各种开发项目中。

                                如果您有兴趣进一步探索 Stirling-PDF,建议查阅其官方文档,以获取更详细的使用指南和高级功能说明。


                                文章转载自拾荒的小海螺,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                                评论