当前位置: 首页 > news >正文

纯前端 PNG/JPG 转 PDF 工具(无需服务器,源码分享)

纯前端 PNG/JPG 转 PDF 工具(无需服务器,源码分享)

✨ 一个完全运行在浏览器中的图片转 PDF 工具,不依赖后端、不上传文件、保护隐私,支持拖拽、排序、预览、批量导出,代码开源,一键部署!

🌐 在线演示

👉 https://longsongline.github.io/png-to-pdf/

打开即可使用,无需注册、无需登录,所有处理都在你的浏览器中完成!


📦 功能特性

  • 纯前端实现:基于jsPDF+FileReader,无任何服务端依赖
  • 隐私安全:图片不会上传到任何服务器,全程本地处理
  • 多格式支持:PNG、JPG、BMP、TIFF、SVG(自动转 PNG)
  • 灵活输出
    • 合并为单个 PDF(每张图一页)
    • 每张图生成独立 PDF
  • 交互友好
    • 拖拽上传 / 点击选择
    • 图片预览(带缩放)
    • 手动排序 / 按文件名排序
    • 删除选中 / 清空全部
    • 文件大小显示、操作日志提示

💻 使用方法

  1. 打开 在线工具
  2. 拖入或点击选择多张图片
  3. 调整顺序(可选)
  4. 选择输出模式
  5. 点击「导出 PDF」即可下载!

⚠️ 首次加载会从 CDN 加载jsPDF库(约 100KB),请确保网络畅通。


🧩 技术实现

  • 核心库:jsPDF v2.5.1
  • 编码规范:UTF-8(避免中文乱码)
  • 兼容性:现代浏览器(Chrome / Edge / Firefox / Safari)

关键逻辑:

  • 使用FileReader读取本地文件为 DataURL
  • SVG 自动转为 PNG 再嵌入 PDF
  • 利用addPage()实现多页布局
  • 响应式 UI + 拖拽排序 + 图片预览模态框

📂 源码 & 部署

🔗 GitHub 仓库

  • 仓库地址:https://github.com/longsongline/png-to-pdf
  • 文件结构极简:仅一个index.html

🚀 如何部署自己的版本?

  1. Fork 本仓库
  2. 进入仓库 →Settings → Pages
  3. 设置 Source 为main分支 +/ (root)
  4. 保存,等待 1 分钟
  5. 访问:https://你的用户名.github.io/png-to-pdf/

💡 完全免费!GitHub Pages 自动提供 HTTPS。


📝 注意事项

  • 中文乱码问题
    请确保index.htmlUTF-8 无 BOM 编码保存(推荐直接在 GitHub 网页编辑器修改)。
  • 大图处理慢
    浏览器内存有限,建议单图不超过 10MB。
  • PDF 分辨率
    默认按 A4 尺寸居中缩放,保持原始比例。

❤️ 开源协议

本项目为MIT 协议,欢迎 Fork、Star、提 PR!

如果你觉得有用,欢迎点赞 👍 或分享给需要的朋友!


作者:longsongline
更新时间:2026年3月
关键词:前端工具、图片转PDF、纯前端、jsPDF、GitHub Pages、无后端

http://www.jsqmd.com/news/573989/

相关文章:

  • 我劝退了 3 个想装 OpenClaw 的朋友,直到他们看到这个工作流
  • 中医AI革命:如何用70亿参数模型破解千年诊疗难题
  • 2026年内蒙古钢结构施工服务商综合评估与选择策略 - 2026年企业推荐榜
  • Escornabot-lib:面向教育机器人的Arduino语义化控制库
  • 手把手教你用Buildroot给i.MX6ULL定制一个带摄像头推流的轻量级Linux系统(含ffmpeg、nginx配置)
  • 矿井底下干活最怕啥?通风不畅分分钟要命。今天咱们用S7-200 PLC和MCGS组态软件搭个硬核通风控制系统,手把手教你怎么让矿井呼吸起来
  • 用Multisim复刻经典:手把手教你搭建一个带分数显示的四人抢答器(附仿真文件)
  • KDD_CUP99数据集预处理与模型性能验证(附处理代码与数据集)
  • 如何高效利用孔祥仁线性代数网课?我的实战笔记与技巧分享
  • SEO 外联有哪些常见的方法和策略_SEO 外联需要多长时间才能见效
  • Java虚拟线程调试黄金组合:jstack -l + jcmd VM.native_memory + JMC Thread Group视图(生产环境零侵入诊断法)
  • OpenClaw对接Qwen3-4B-Thinking-2507-GPT-5-Codex-Distill-GGUF:3步完成本地AI助手部署
  • OpenClaw夜间任务:Qwen3-4B-Thinking-2507-GPT-5-Codex-Distill-GGUF自动生成日报
  • 2026云南昆明二手车公司哪家好?哪家卖车价格公道:找对靠谱商家,卖车买车都省心 - 栗子测评
  • OpenClaw自动化简历投递:Qwen3-14B智能匹配职位要求
  • Gemma-3-12b-it多语言实战:OpenClaw自动化处理跨境邮件
  • C语言函数返回值的设计哲学与实践
  • 苹果 AirPods Pro 3 与三星 Galaxy Buds 4 Pro:高端无线耳机市场的巅峰对决
  • 2026全自动视觉点胶机/视觉点漆机/双液点胶机生产厂家大盘点:谁在引领柔性制造? - 栗子测评
  • 嵌入式工程师必知的电路接口与电子符号解析
  • 如何用HTML转Figma工具5分钟搞定网页设计稿转换
  • 倒反天罡了!Cursor自研模型反超Opus 4.6!价格脚踝斩,氛围编程沸腾了
  • 无刷电机Maxwell 2D模型及其在BLDC电机设计与分析中的应用
  • 2026 YouTube频道被限流降权?判定标准与恢复流程SOP
  • OpenAI获1220亿美元融资,高估值背后盈利难题待解
  • 浙江视觉点胶机厂家选哪家?2026浙江上色机/点胶机/全景视觉点胶机厂家推荐指南 - 栗子测评
  • Visium HD空转实战:Space Ranger v4.0.1从安装到结果解读全流程
  • Claude 源码泄露事件深度分析:一场“打包错误“引发的行业地震
  • SEO 优化如何找到潜在客户
  • JAVA FTPClient 文件时间时区转换实战(UTC与CST的8小时之谜)