【发布时间】:2015-07-06 10:21:07
【问题描述】:
在我的 MVC 应用程序中,当涉及到打印报告时,我几乎没有选择
RazorPDF - 从 cshtml 本身处理设计的优势 & 可以将来自控制器的值作为模型传递
iTextSharp - 从 cshtml 本身处理设计的优势 & 可以将来自控制器的值作为模型传递
pdfSharp - 从 cshtml 页面处理设计没有优势。必须从 .cs 文件中进行所有编码,修改非常困难。 BUt 可以很好地控制生成报告的布局
那么任何人都可以提出两种选择的方法
- 可以从cshtml本身做PDF设计。
- 可以指定PDF页面的宽度和高度
因为报告并不总是在激光打印机上打印。还需要支持点阵打印,在这种情况下,我必须提及页面的宽度和高度。还有可能在信头上打印,所以我不得不再次提及空白区域的宽度和高度
或者任何人都可以建议使用 RazorPDF 和 iTextSharp 方法提及 PDF 页面的宽度和高度
【问题讨论】:
-
我不太明白。 PDF 文档中的页面大小与用于打印 PDF 的任何打印机无关。您是否总是想要(事实上,必须)指定您的 PDF 包含的页面大小?毕竟,你不能有一个未知大小的页面......
-
页面大小是指 PDF 页面的宽度和高度。或者不提及页面大小报告将如何适合尺寸小于 A4 的页面
-
PDF 中的页面大小在
/MediaBox条目中定义。这是必需的元素。没有/MediaBox值的 PDF 不是 PDF。我不明白你的问题。你能澄清一下吗?当您使用 iTextSharp 创建Document实例时,您可以传递页面大小。如果没有提供页面大小,则默认采用PageSize.A4。那是你的问题吗?您是否正在寻找接受页面大小的Document构造函数? -
在点阵打印机中打印 PDF 时要小心,打印机驱动程序会将 PDF 转换为图像并将其发送到打印机。打印需要很长时间,而且质量很差。
-
@BrunoLowagie 是的,我正在尝试一种可以定义页面大小的解决方案
标签: asp.net-mvc pdf itextsharp pdfsharp razorpdf