跳转到内容

Fulgoria 文档

Fulgoria 从那些为阅读而非解析而设计的文档中提取结构化数据。你通过标记列一次性地教会它一种布局;从此它便能读取该类型的每一份文档,并交给你干净的 CSV。下面的一切都发生在你的浏览器中。

点击打开 PDF 或图片并选择一个文件,或选择查看示例加载一份示例银行对账单。数字 PDF、扫描件或照片均可接受。扫描件和图片由本地 OCR(Tesseract.js)读取,因此即使是一张对账单的图片,也能在不离开你设备的情况下变成文本。

Fulgoria 会自动检测列作为第一遍处理。你通过在文档上拖动来细化,指明每个数据所在的位置。然后为每一列指定一个角色

  • date — 交易日期
  • description — 概要或收款方
  • debit / credit / amount with sign — 交易金额
  • balance — 滚动余额
  • text — 任何你想保留的其他列

你还可以对每一列应用自由的、Excel 风格的格式(日期与数字样式,所见即所得),并按内容设置排除规则,以跳过重复的表头、“合计”行及类似的杂项。

一个表格式编辑器让你修正任何单元格,且余额会实时重新计算。它支持查找替换、增删行、从 Excel 粘贴、撤销/重做、向下填充、辅助分类、质量标记,以及可编辑的期初/期末值。

当数据干净后,将其导出:

  • CSV — 交易记录,可直接用于电子表格或你的会计工具。
  • 模板 — 将几何结构导出为可复用的 .ext.json.ext.yaml 文件(见下文)。
  • 发送到 Escriba — 将干净的结果交给你本地的 Escriba。

输入

数字 PDF 以及扫描件 / 图片(PNG、JPG 等)。多页文档和多账户 PDF——例如同一文件中的比索与美元——会为每个账户生成一张卡片。

输出

交易记录用 CSV,布局用 .ext.json.ext.yaml 模板文件。一次“发送到 Escriba”的交接会将结果传给套件的其余部分。

当你第一次标记某家银行的对账单时,Fulgoria 可将该布局保存为一个模板。下次你打开同类型的文档时,它会被自动识别,列也已就位——无需重新标记。

模板可以从下载的 .json 文件加载,或从应用内你已保存的模板中选择。

一切都运行在你的浏览器中。PDF 在你的设备内部被打开、读取和处理,且没有任何一次外部请求——字体和库都已内置到应用中。隐私不是事后加装的功能;它就是架构本身。

当 Fulgoria 自托管时,轻量服务器依然永不接收文档。它只提供静态文件并处理可选的登录。它会应用严格的 CSP 和安全标头,且绝不暴露 .envserver.js 或任何私有样本。

对于生产环境,Fulgoria 自带一个轻量服务器server.js,Node/Express),它的唯一职责是提供静态应用,并用从 .env 读取的可选登录将其保护起来。

设置 AUTH_ENABLED=true 并配置 AUTH_USERAUTH_PASSWORD。会话用 SESSION_SECRET 签署,持续 SESSION_TTL_HOURS 小时。在 HTTPS 之后,保持 COOKIE_SECURE=true

像这样生成一个 bcrypt 密码哈希和一个会话密钥:

Terminal window
node server.js --hash 'your-password' # → AUTH_PASSWORD
openssl rand -hex 32 # → SESSION_SECRET

所有设置都存放在 .env 中:

变量默认值用途
PORT3000服务器端口。
AUTH_ENABLEDtrue开启或关闭登录。
AUTH_USERdiego登录用户名。
AUTH_PASSWORD(空)纯文本密码或 bcrypt 哈希。
SESSION_SECRET(空)签署会话 cookie。
SESSION_TTL_HOURS12会话生命周期,单位为小时。
COOKIE_SECUREtrue在 HTTPS 之后为 true,本地 http:// 时为 false
ESCRIBA_URL(空)“发送到 Escriba”的目标;为空时回退到 /