0

我正在尝试构建一个可以执行以下操作的 winforms 应用程序:

  1. 获取 PDF 文件
  2. 提取数据(基于某种模板或配置文件)
  3. 建立数据表
  4. 序列化数据表并将其上传到 Web 服务

截至目前,我已将 PDF 文件转换为文本字符串,但在为模板提供格式时遇到了麻烦。起初,我尝试制作自己的 XML 自定义配置文件——虽然这可以满足项目的要求,但我发现以足够通用的方式表达必要的指令非常困难。首先,我尝试逐行处理文本并为各种指令使用一系列标志。这个概念似乎会起作用,直到我意识到数据表通常跨越多个页面,中间有多余的文本。我最初的处理尝试是这样的:

  1. 加载第一条指令(开始标志、结束标志、动作(例如创建表)和表结构)
  2. 当到达结束标志时加载下一条指令

不幸的是,这并没有考虑到循环或对这一切的工作方式提供足够的控制。在某些情况下,我需要获取附加到每一行数据的信息。我想出了如何使用排队指令执行此操作,然后在构建表的其余部分时返回并再次处理它们。但循环问题仍然存在,因为每个表都是根据指​​令命名的。

现在我正在研究 VTL 并试图看看像 Vici 这样的项目是否能帮助我。它已经到了我创建一种伪脚本语言只是为了完成我需要的东西的地步,而且它变得太难了。

TLDR 版本: 是否有任何库或项目可以帮助我使用某种模板或配置文件从纯文本构建数据表?

4

1 回答 1

1

您是否考虑过不使用模板或配置文件的前景?使用这样的文件有什么好处?例如,您不能创建一个即兴库并用 C# 编写实际的处理代码吗?我做了你现在正在做的同样的事情,一次,回想起来,这是我应该做的。

您自己说过,您正在开发某种脚本语言。这已经意味着代码更改。无论您使用什么,如果场景足够复杂,它必然会随着代码更改或类似工作而告终。您可以将处理代码与库代码分开打包,并单独更新包含它的程序集。

于 2012-05-30T19:10:56.097 回答