输入
数字 PDF 以及扫描件 / 图片(PNG、JPG 等)。多页文档和多账户 PDF——例如同一文件中的比索与美元——会为每个账户生成一张卡片。
Fulgoria 从那些为阅读而非解析而设计的文档中提取结构化数据。你通过标记列一次性地教会它一种布局;从此它便能读取该类型的每一份文档,并交给你干净的 CSV。下面的一切都发生在你的浏览器中。
点击打开 PDF 或图片并选择一个文件,或选择查看示例加载一份示例银行对账单。数字 PDF、扫描件或照片均可接受。扫描件和图片由本地 OCR(Tesseract.js)读取,因此即使是一张对账单的图片,也能在不离开你设备的情况下变成文本。
Fulgoria 会自动检测列作为第一遍处理。你通过在文档上拖动来细化,指明每个数据所在的位置。然后为每一列指定一个角色:
你还可以对每一列应用自由的、Excel 风格的格式(日期与数字样式,所见即所得),并按内容设置排除规则,以跳过重复的表头、“合计”行及类似的杂项。
一个表格式编辑器让你修正任何单元格,且余额会实时重新计算。它支持查找替换、增删行、从 Excel 粘贴、撤销/重做、向下填充、辅助分类、质量标记,以及可编辑的期初/期末值。
当数据干净后,将其导出:
.ext.json 或 .ext.yaml 文件(见下文)。输入
数字 PDF 以及扫描件 / 图片(PNG、JPG 等)。多页文档和多账户 PDF——例如同一文件中的比索与美元——会为每个账户生成一张卡片。
输出
交易记录用 CSV,布局用 .ext.json 或 .ext.yaml 模板文件。一次“发送到 Escriba”的交接会将结果传给套件的其余部分。
当你第一次标记某家银行的对账单时,Fulgoria 可将该布局保存为一个模板。下次你打开同类型的文档时,它会被自动识别,列也已就位——无需重新标记。
模板可以从下载的 .json 文件加载,或从应用内你已保存的模板中选择。
一切都运行在你的浏览器中。PDF 在你的设备内部被打开、读取和处理,且没有任何一次外部请求——字体和库都已内置到应用中。隐私不是事后加装的功能;它就是架构本身。
当 Fulgoria 自托管时,轻量服务器依然永不接收文档。它只提供静态文件并处理可选的登录。它会应用严格的 CSP 和安全标头,且绝不暴露 .env、server.js 或任何私有样本。
对于生产环境,Fulgoria 自带一个轻量服务器(server.js,Node/Express),它的唯一职责是提供静态应用,并用从 .env 读取的可选登录将其保护起来。
设置 AUTH_ENABLED=true 并配置 AUTH_USER 和 AUTH_PASSWORD。会话用 SESSION_SECRET 签署,持续 SESSION_TTL_HOURS 小时。在 HTTPS 之后,保持 COOKIE_SECURE=true。
设置 AUTH_ENABLED=false 即可在无密码情况下提供应用——便于本地使用或受信任的私有网络。
像这样生成一个 bcrypt 密码哈希和一个会话密钥:
node server.js --hash 'your-password' # → AUTH_PASSWORDopenssl rand -hex 32 # → SESSION_SECRET所有设置都存放在 .env 中:
| 变量 | 默认值 | 用途 |
|---|---|---|
PORT | 3000 | 服务器端口。 |
AUTH_ENABLED | true | 开启或关闭登录。 |
AUTH_USER | diego | 登录用户名。 |
AUTH_PASSWORD | (空) | 纯文本密码或 bcrypt 哈希。 |
SESSION_SECRET | (空) | 签署会话 cookie。 |
SESSION_TTL_HOURS | 12 | 会话生命周期,单位为小时。 |
COOKIE_SECURE | true | 在 HTTPS 之后为 true,本地 http:// 时为 false。 |
ESCRIBA_URL | (空) | “发送到 Escriba”的目标;为空时回退到 /。 |