代码之家  ›  专栏  ›  技术社区  ›  jeriley

架构选项-窗体和CMS(如PDF生成系统)

  •  1
  • jeriley  · 技术社区  · 16 年前

    客户要求一个包含一组PDF表单、一个Web UI和一些不同功能(登录、管理、权限,通常)的系统,我已经确定了一些规则,希望得到一些反馈,甚至可能是关于如何进行的完全不同的想法。主要关注的是这些表单中包含的数据。(不要想WinForms,想想你填写并归档的表单)

    首先,PDF表单在某种意义上是无法控制的。不是。是。被改进的。不久前,我编写了一个工具(codeplex上的pdf-orm),将PDF表单(填充类型)转换为对象,这样它们在代码中更容易使用,也更容易返回PDF。所以这部分处理得相当好。问题开始出现在表单中包含的数据以及如何最好地处理这些数据中。当然,大多数字段名都是可怕的(例如person1),但至少它们是可管理的。

    这些形式将要改变,并且必须在合理的时间框架内改变(理想情况下几天),因此可维护性/灵活性是一个巨大的焦点。当然,并非所有的形式都会在同一时间发生必然的变化,但在几个月到几年的过程中,它们会发生变化。更令人担忧的是,从生成的PDF中得到的那些名称/字段可能会改变——对它们没有控制(因此我不能将字段名生成的类用作真相,必须有某种类型的转换器)。

    我的第一个步骤是,我提出了以“定义”类为核心,每个窗体一个接口(并将此接口用于ViewModel…以后再说)。这些类定义表单中包含的数据。翻译人员会将定义类转换为PDF类(处理表单上的更改,以防像Person1这样的愚蠢的东西变成PersonOne)。验证也将包含在其中——所有的都是可测试的。

    然后我有了一个不同的想法,一个严格关注数据本身的想法。保存的数据(XML格式)将通过一个或两个XSLT来呈现UI。这个UI将由一个管理工具(没有开发人员)创建,在该工具中,将完成PDF字段和UI字段的连接,并进行验证。我不太熟悉这种方法的工作原理,如果它可以工作的话,但是我在过去的几天里一直在探索这种方法,但成功率很低。我们还没有真正回答很多这种方法的使用方法。

    我有兴趣听听其他的想法、意见和指示。

    1 回复  |  直到 16 年前
        1
  •  0
  •   aponzani    16 年前

    这些表单必须在浏览器中使用PDF格式,还是必须使用InfoPath?例如,像这样的设置怎么样 http://www.bizsupportonline.net/browserforms/print-infopath-browser-form-pdf.htm