【发布时间】:2011-08-09 16:40:24
【问题描述】:
我有一个需要转换为 PDF 的三页 Word 文档。这个 Word 文档作为模板提供给我,以向我展示 PDF 输出应该是什么样子。我尝试将此文档转换为 PDF,创建了一个 PDF 表单并使用 iTextSharp 打开表单,用数据填充它并将其返回给客户端。这一切都很好,但由于存储了大量数据,占位符不足,文本将被截断或隐藏。
我的第二次尝试是创建一个没有母版页的 MVC 2 视图,将模型传递给视图,获取视图的 HTML 表示形式,将其传递给 iTextSharp 并呈现 PDF。这里的问题是 iTextSharp 在某些标签上失败(其中一个是 <hr> 标签)。我设法摆脱了有问题的标签,但是表格没有正确呈现。也就是说,边框属性被忽略了,所以我最终得到了无边框表格。那次尝试失败了。
我需要有关在 MVC 2 中创建 PDF 文档的最有效方法的建议或意见,从长远来看,该文档是可维护的。我真的不希望我的动作超过 200 行。直接使用 Word 文档并不是最好的解决方案,因为我从未使用过 VSTO,所以我不太清楚打开 Word 并操作其中的文本并添加动态数据然后将其动态转换为 PDF 会是什么样子.
非常欢迎任何建议。
最好的问候!
【问题讨论】:
-
也许不是答案,但值得探索的可能是pdf.js:github.com/andreasgal/pdf.js
-
嗨贾斯汀,感谢您的回复。然而,这个原型利用了 HTML 5 的能力。我正在编写的应用程序将可供公众使用,因此需要支持不同的(阅读较早的 :))浏览器。
-
我听到了。无论我处理过哪种语言,生成 PDF 都是最糟糕的。祝你好运:-)
-
最后的解决方案是使用 iTextSharp 并逐段创建所有三个页面。这很痛苦,但我完成了工作,我希望文档不会有任何更改。
标签: asp.net-mvc-2 pdf itextsharp