使用XML,XSLT和c#创建RTF或PDF

编辑:用户告诉我他也会接受PDF格式

我必须在服务器端代码中创建一个简单的RTF或PDF文档,并保存在网络驱动程序中以备将来下载。

这封信将填入我存储在SQL Server(2005)中的信息中。 我使用Linq-to-Sql模型访问数据库。 该文档将由ASP.Net MVC 1.0前端下载。

该文件的结构将是非常基本的。 它上面写着一些基本信息。

我做了一些冲浪,并看到一些post建议我使用XSLT生成RTf文档。

任何人都可以推荐一个很好的教程吗? 我之前从未使用过XSLT,所以“For Dummies”教程会很棒!

任何其他技术建议将不胜感激。 寻找快速获胜,不一定是完美的解决方案。

谢谢

C

如果采用这种方法,那么您将运行的工作流将是:

  1. SQL Server – >内部表示
  2. 内部表示 – > XML表示(可能使用Linq到XML)
  3. XML + XSLT – >输出表示。

基本上,XSLT所做的是允许您根据一组比其不同的过程更具function性的规则来获取XML并从中生成文本。 在提升学习曲线后,我在XSLT(主要是生成HTML文档)方面取得了很大的成功。 我开始使用的这本书是第一版:XSLT:掌握XML转换。 对于Doug Tidwell的初学者和高级用户(具有这么长的标题,现在是第二版)。

实际的问题是,您是否希望从模板生成文档 – 即您将拥有一组数据,您是否可以通过将数据机械转储到框架中来创建所需的文档? 在这方面的好消息是你可以用XSLT做很多事情 。 更好的消息是,您可以将XLST与应用程序分开存储,这样可以更轻松地调整内容,还可以选择使用可以根据需要应用的多个模板。

由于RTF是文本文档格式(?),您应该能够从XLST生成所需内容。

PDF的问题 – 如果沿着XSLT路线走下去,就需要将XSL-FO转换成PDF文档,这不仅会带来更多的复杂性,而且 – 在快速获胜方面 – 需要更多的学习。

您可以选择直接从内部模型生成RTF或PDF。 你失去了模板能力,但让自己更接近你的基本安慰(代码) – 在这方面,isharptext已经有了很好的事情说了解它。

我同意w3schools的东西。

我已经做了一点,但关键是,是的,它应该让你确实想要你需要,并将成为你的工具包的积极和灵活的补充,但你可能会遇到一些痛苦(XSLT不是程序代码,如果你试着以那种方式对待它,你就会挣扎)。

我是w3schools教程的粉丝。

这是XSLT上的一个:http://www.w3schools.com/xsl/

我用来制作PDF的两种技术:

  1. XML – > XSL-FO – > Apache FOP(格式化对象处理器) – > PDF。 优点:如果您了解HTML和XSLT,使用XSL-FO创建输出并不比使用XSLT创建HTML困难,软件是开源的。 缺点:缓慢; XSL-FO是一种奇怪的游戏镜像forms的HTML; 您正在将一个大杂乱的Java应用程序集成到您的文档生成管道中; 自2007年以来,该软件尚未升级。

  2. XML – > HTML – > Prince XML – > PDF。 优点:Prince XML快速且function强大; 一旦HTML格式成功,就可以轻松创建PDF; 如果您所做的只是打印文档,则软件是免费的。 缺点:Prince的CSS分页扩展没有像我想的那样完整记录; 如果您正在制作PDF文件,则软件不是免费的; 如果您为服务器授权,软件严重不免费。

两种情况的出发点都是XML – > XSLT – > HTML管道,所以我首先要学习它。

您可以通过XSLT直接生成RTF和PDF,但要做到这一点,您需要非常熟悉地了解RTF和PDF,特别是PDF,作为我所知道的CS教授,非常重要。