Asp.net mvc 2 从ASP.NET MVC打印Avery标签

Asp.net mvc 2 从ASP.NET MVC打印Avery标签,asp.net-mvc-2,printing,asp.net-ajax,asp.net-mvc-3,label,Asp.net Mvc 2,Printing,Asp.net Ajax,Asp.net Mvc 3,Label,我正在尝试从ASP.NETMVC2应用程序动态生成和打印Avery标签。标签将限于大约5个不同的模板。我想知道做这件事最好的方法是什么?标签对我们的应用程序至关重要,因此,我们需要尽可能减少打印错误 我听说我可以采用笨拙的方法制作HTML模板,但是会有很多打印错误。我遇到的更好的方法是打印成PDF。这种方法是否存在陷阱,实施起来有多困难?我也会这样做吗? 有人知道有哪种API或第三方软件会处理此功能吗?看看CSS媒体选项。 基本上,您可以针对打印机进行样式设置,这可以隐藏页面上所有不必要的废话

我正在尝试从ASP.NETMVC2应用程序动态生成和打印Avery标签。标签将限于大约5个不同的模板。我想知道做这件事最好的方法是什么?标签对我们的应用程序至关重要,因此,我们需要尽可能减少打印错误

我听说我可以采用笨拙的方法制作HTML模板,但是会有很多打印错误。我遇到的更好的方法是打印成PDF。这种方法是否存在陷阱,实施起来有多困难?我也会这样做吗?
有人知道有哪种API或第三方软件会处理此功能吗?

看看CSS媒体选项。

基本上,您可以针对打印机进行样式设置,这可以隐藏页面上所有不必要的废话,并执行微调布局选项

--更新:有关生成PDF的更多信息:

对于PDF,通常在服务器上有一个PDF引擎(还有很多)和一个生成PDF文件的模板,然后通常通过通用处理程序将该文件下载到浏览器。在服务器上使用html模板生成PDF应该可以消除浏览器的不一致性

我偶然发现了这种技术,它使用Razor视图引擎生成PDF的ala MVC,外观促销


我将使用iTextSharp创建包含所需格式的PDF文件

它是一个在.Net中使用的非常流行的开源PDF库。

< p>如果这是一个Intranet应用程序和少量并发用户,我建议您考虑使用Word自动化。多年来,我已经实现了Win32应用程序、Winform和Web应用程序,实现了Word女士的自动化。尽管许多人会批评它的使用,但我个人发现它有自己的优势,如果管理得当,它会非常有用,工作得很好。对于打印到标签,一些关键问题将是布局、格式和分页。使用Word MailMerge的美妙之处在于,您可以使用Word女士设计和测试所有这些功能。然后,您可以创建一个模板文件,从自动化的角度来看,您需要做的只是:

  • 打开特定模板文件(来自5个模板)
  • 指定您的数据源
  • 指定邮件合并选项
  • 执行邮件合并
  • 将生成的文档打印到打印机或保存到PDF(如果使用2007或更高版本,则直接打印到第三方PDF驱动程序)
  • 关闭文档和word应用程序
使用word automation的另一个非常好的功能是记录宏和查看代码的能力。例如,如果您不确定如何设置上面的数据源/邮件合并选项,您可以在UI中录制宏。稍后,查看生成的VBA代码,并在.NET代码中转换相同的逻辑,以实现相同的处理逻辑流

以下是一些让您入门的信息(基于Word 2003,但对于较新版本,对象模型基本相同)

关于您在创建PDF输出时遇到的问题。我们经常遇到的一件事是当我们使用条形码时。当我们这样做并生成PDF时,用户有时会在打印时打开“缩放到适合页面”之类的设置,这可能会调整输出大小,并导致条形码无法读取。

由于浏览器之间的打印行为不一致,我也很难使用HTML/CSS方法

我创建了一个C#库,用于从ASP.NET生成PDF格式的Avery标签,希望您会发现它很有用:

您可以向标签中添加图像和文本,并且可以轻松定义更多标签类型

(我将其用于条形码标签,条形码生成为图像,然后使用此库添加到标签。)


干杯

如果您想在工作表上多次打印同一内容,Wheelibin的SharpPDFLabel很好。如果需要打印不相同的标签(即工作表上的每个标签都有不同的内容),

这可以通过在avery格式的.DOCX文件中处理XML来实现。不需要第三方组件,您可以修改它以适合任何数据源、XML、DataTable等


有关这方面的信息,请参阅我的博客文章。

我相信使用@print css媒体类型声明将是“压印”标签的最佳整体解决方案。由于各种打印机和布局细节可能会影响布局,因此需要进行实验,但我正在研究一种解决方案,该解决方案现在需要这样做,并且主要朝着这个方向发展。我会尽力跟进,并让您知道它的工作情况。我需要将我们的在线应用程序设置为将姓名徽章印在Avery 5392 6-up穿孔徽章的纸张上。

想到的一个想法是在服务器上使用HTML和库将HTML转换为PDF,以便所有客户端的输出都是一致的。对于后者,我使用EvoPDF;这需要花钱,但也有免费的选择。

这是一个内部网络应用程序吗?我想如果你的问题意味着要有效地打印页面,那么我推荐cssI中的blueprint框架。我已经研究了使用Html/CSS控制格式,然而,很多文章提到Html会导致浏览器和打印机之间的不一致。看起来最可靠的方法是打印PDF。我不知道如何打印成PDF,以及如何使其符合一套模板。看起来是一个很好的线索。然而,当他们说“从控制台应用程序创建伟大的PDF…”时,我担心这是否意味着用户要使用它,就必须在工作站上安装它?通常,它是一个库,您只需在项目中引用它(在本例中是一个网站)。但是我自己还没有使用过这个特定的,所以不能对细节发表评论,但我看不出它会起作用的原因。至于条形码,我相信它会起作用。你所要做的就是安装一个条形码字体