为什么我构建了一个100% 客户端 PDF 工具包(以及隐私为何重要)

发布: (2026年2月7日 GMT+8 09:15)
4 分钟阅读
原文: Dev.to

Source: Dev.to

每次将 PDF 上传到在线工具时,都是在把你的数据交给陌生人。税务文件、合同、个人文件——它们都会经过别人的服务器。我想改变这种情况。

传统 PDF 工具的问题

大多数在线 PDF 工具的工作方式如下:

  • 你将文件上传到他们的服务器
  • 他们的服务器处理文件
  • 你下载处理后的结果
  • 你的文件会一直保留在他们的服务器上……永远?

即使有隐私政策,也无法真正保证你的数据会怎样处理。对于敏感文件,这就是致命问题。

解决方案:100% 客户端处理

我创建了 PDFClic —— 一个免费 PDF 工具箱,所有操作都在浏览器中完成。你的文件永远不会离开你的设备。

它是这样工作的:

// All processing happens locally using pdf-lib
import { PDFDocument } from 'pdf-lib';

async function mergePDFs(files) {
  const mergedPdf = await PDFDocument.create();

  for (const file of files) {
    const pdfBytes = await file.arrayBuffer();
    const pdf = await PDFDocument.load(pdfBytes);
    const pages = await mergedPdf.copyPages(pdf, pdf.getPageIndices());
    pages.forEach(page => mergedPdf.addPage(page));
  }

  return await mergedPdf.save();
}

神奇之处?像 pdf-lib 这样的库让你可以完全在 JavaScript 中操作 PDF,无需服务器往返。

你可以在客户端构建的功能

PDFClic 目前提供 27+ 工具,全部在本地运行:

  • 合并 & 拆分 — 合并或分离 PDF 页面
  • 压缩 — 在不损失质量的情况下减小文件大小
  • 转换 — PDF 与图片、Word、Excel 之间相互转换
  • 签名 — 在浏览器中直接添加签名
  • OCR — 从扫描文档中提取文本
  • 保护 — 添加或移除密码

技术栈

构建以隐私为先的工具需要正确的选择:

  • Next.js 15 — 前端框架
  • pdf-lib — 核心 PDF 操作
  • Tesseract.js — 客户端 OCR
  • Web Workers — 在繁重处理期间保持 UI 响应

关键洞察:现代浏览器足够强大,能够完成过去需要服务器才能实现的功能。

为什么以隐私为先的工具很重要

这种方法不仅仅针对 PDF。同样的理念也适用于:

  • 虚拟键盘AnyKeyboard —— 在任何语言下输入而不受键盘记录器监控
  • 图像编辑器 —— 在不上传云端的情况下编辑照片
  • 文档转换器 —— 本地转换文件

每个在客户端处理数据的工具都从设计上尊重你的隐私。

亲自尝试一下

如果你需要处理 PDF,试试 PDFClic 吧。它免费,无需注册,且你的文件始终保留在你的设备上。

对想要构建以隐私为先工具的开发者来说:浏览器的能力超出你的想象。可以从 pdf-lib(处理 PDF)、Tesseract.js(OCR)和 Web Workers(提升性能)开始。

你使用或构建了哪些以隐私为先的工具?在下方留言吧!

0 浏览
Back to Blog

相关文章

阅读更多 »

React-测验应用

React Quiz App 🧠 该项目展示了对 React 基础、基于组件的架构以及高效状态管理的实践理解。Live demo...

帮助您的 SPA 被发现

我打造了一个让我自豪的东西。没有人能找到它。构建产品是容易的部分。我花了几个月时间打造一个开发者工具——一个真正的产品,能够解决……