【Docker项目实战】使用Docker部署PDF工具箱BentoPDF

举报
江湖有缘 发表于 2025/12/07 23:38:04 2025/12/07
【摘要】 【Docker项目实战】使用Docker部署PDF工具箱BentoPDF

一、BentoPDF介绍

1.1 BentoPDF

BentoPDF 是一款注重隐私、完全在客户端运行的 PDF 工具包,支持在浏览器中直接编辑、合并和处理 PDF 文件,无需上传至服务器,确保用户数据安全。它可自行托管,完全免费且开源。

1.2 BentoPDF主要特点

  • 隐私优先:所有操作均在浏览器内完成,文件从不上传至任何服务器。
  • 无使用限制:可无限次处理任意数量的 PDF 文件,无上传或功能限制。
  • 高性能:基于现代 Web 技术构建,能快速高效地处理大型 PDF 文档。
  • 完全免费:作为开源项目,BentoPDF 对所有人免费开放使用。

二、本次实践规划

2.1 本地环境规划

本次实践为个人测试环境,操作系统版本为 Ubuntu 24.04.2 LTS。

hostname IP地址 操作系统版本 Docker版本 部署项目 备注
jeven 192.168.3.88 Ubuntu 24.04.2 LTS 28.5.0 BentoPDF ——

2.2 本次实践介绍

1.本次实践部署环境为个人测试环境,生产环境请谨慎;
2.在Docker环境下部署PDF工具箱BentoPDF。

三、本地环境检查

3.1 检查Docker服务状态

检查Docker服务是否正常运行,确保Docker正常运行。

root@jeven:~# systemctl status docker
● docker.service - Docker Application Container Engine
     Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; preset: enabled)
     Active: active (running) since Sat 2025-10-04 13:29:05 UTC; 2 days ago
TriggeredBy: ● docker.socket
       Docs: https://docs.docker.com
   Main PID: 888 (dockerd)
      Tasks: 65
     Memory: 1.2G (peak: 1.4G)
        CPU: 3min 23.296s
     CGroup: /system.slice/docker.service

3.2 检查Docker版本

检查Docker版本

root@jeven:~# docker -v
Docker version 28.5.0, build 887030f

3.3 检查docker compose 版本

检查Docker compose版本,确保2.0以上版本。

root@jeven:~# docker compose version
Docker Compose version v2.39.4

四、拉取BentoPDF镜像

下载BentoPDF镜像,镜像名称为: bentopdf/bentopdf:v1.1.5

docker pull bentopdf/bentopdf:v1.1.5

在这里插入图片描述

五、部署BentoPDF服务

5.1 docker-cli方式部署(可选)

  • 如果使用docker-cli方式部署,可参考以下命令:

docker run -d \
  --name bentopdf \
  --restart always  \
  -p 8560:8080 \
  bentopdf/bentopdf:v1.1.5

5.2 docker compose方式部署

  • 创建部署目录
mkdir -p /data/bentopdf  && cd /data/bentopdf

新建及编辑docker-compose.yaml文件,宿主机映射端口可自行设置,注意防止端口冲突。

vim docker-compose.yaml
services:
  bentopdf:
    image: bentopdf/bentopdf:v1.1.5
    container_name: bentopdf
    restart: always 
    ports:
      - '8560:8080'

5.3 创建BentoPDF容器

执行以下命令,创建BentoPDF容器。

docker compose up -d

在这里插入图片描述

5.4 查看BentoPDF容器状态

检查BentoPDF容器运行状态,确保BentoPDF容器正常启动。

root@jeven:/data/bentopdf# docker compose ps
NAME       IMAGE                      COMMAND                  SERVICE    CREATED         STATUS         PORTS
bentopdf   bentopdf/bentopdf:v1.1.5   "/docker-entrypoint.…"   bentopdf   4 seconds ago   Up 3 seconds   0.0.0.0:8560->8080/tcp, [::]:8560->8080/tcp

5.5 检查BentoPDF容器日志

检查容器运行日志,确保BentoPDF服务正常运行。

docker compose logs

在这里插入图片描述

六、访问BentoPDF服务

浏览器地址: http://<个人的服务器IP>:8560,访问BentoPDF初始页。如果无法访问,请确保宿主机的防火墙已关闭或已放行相关端口,对于云服务器还需配置相应的安全组规则。

在这里插入图片描述

BentoPDF 功能概览

类别 功能 描述
合并与拆分 Merge PDF 将多个 PDF 文件合并成一个文件。
Split PDF 从一个 PDF 中提取指定页码范围,生成新的 PDF 文件。
Alternate & Mix Pages 交替合并多个 PDF 的页面(例如,A1, B1, A2, B2…)。
Divide Pages 将单个页面水平或垂直分割。
Combine to Single Page 将所有页面拼接成一个纵向的长页面。
组织与管理 Duplicate & Organize 复制、重新排序和删除页面。
Delete Pages 从文档中删除特定页面。
Add Blank Page 在文档的任意位置插入空白页。
Reverse Pages 反转文档中所有页面的顺序。
Rotate PDF 将页面按 90 度为单位进行旋转。
N-Up PDF 将多个页面(如 2x2)排列在一张纸上。
Organize PDF 通过拖放方式重新排列页面。
Add Attachments 将一个或多个文件嵌入到 PDF 中。
Extract Pages 将选中的页面保存为新的文件。
Posterize PDF 将一个大页面分割成多个小页面以适应打印。
转换 JPG to PDF, PNG to PDF, WebP to PDF, SVG to PDF, BMP to PDF, HEIC to PDF, TIFF to PDF 将一种或多种图片格式转换为 PDF 文件。
Image to PDF 将各种图片格式合并成一个 PDF。
Text to PDF 将纯文本文件转换为 PDF。
PDF to JPG, PDF to PNG, PDF to WebP, PDF to BMP, PDF to TIFF 将 PDF 的每一页转换为对应的图片格式。
PDF to Greyscale 将 PDF 的所有颜色转换为黑白(灰度)。
PDFs to ZIP 将多个 PDF 文件打包成一个 ZIP 压缩包。
编辑与注释 PDF Editor 综合性工具,用于注释、高亮、涂黑、评论、添加形状/图片、搜索和查看 PDF。
Sign PDF 通过手绘、输入文字或上传图片的方式为 PDF 添加签名。
Crop PDF 裁剪 PDF 每一页的边距。
Page Numbers 在文档中插入页码。
Add Watermark 在 PDF 页面上叠加文字或图片水印。
Header & Footer 在页面的顶部和底部添加文字。
Remove Annotations 移除文档中的所有注释、高亮和链接。
PDF Form Filler 在浏览器中直接填写表单。
Remove Blank Pages 自动检测并删除文档中的空白页。
View Metadata 查看 PDF 的隐藏属性(如作者、标题)。
Edit Metadata 修改 PDF 的作者、标题等元数据。
Compare PDFs 并排比较两个 PDF 文件的差异。
优化与修复 Compress PDF 减小 PDF 文件的大小。
Fix Page Size 将所有页面统一为标准尺寸。
Linearize PDF 优化 PDF 以实现网页快速加载(渐进式加载)。
Page Dimensions 分析页面的尺寸、方向和单位。
Remove Restrictions 移除由数字签名关联的密码保护和安全限制。
安全 Encrypt PDF 通过添加密码来加密锁定 PDF。
Decrypt PDF 通过移除密码保护来解锁 PDF。
Sanitize PDF 移除元数据、注释、脚本等隐藏信息。
Flatten PDF 使表单域和注释变为不可编辑的普通内容。
Remove Metadata 从 PDF 中剥离隐藏数据。
Change Permissions 设置或更改用户对 PDF 的使用权限。
视觉调整 Invert Colors 创建 PDF 的“深色模式”版本。
Background Color 更改 PDF 的背景颜色。
Change Text Color 更改 PDF 中文本的颜色。
OCR PDF 对扫描的 PDF 进行文字识别,使其可搜索和可复制。

七、总结

本次Docker项目实战成功地将BentoPDF工具箱部署到了本地环境,实现了在线PDF处理服务的快速搭建。通过Docker容器化技术,我们确保了应用环境的隔离性和一致性,简化了复杂的部署流程。实践验证了使用docker-compose进行多服务管理的便捷与高效。BentoPDF的成功部署为后续集成更多Web应用提供了可复用的模板和宝贵经验。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。