我的打印机默认尺寸是A4,并且我需要使用旧的点阵打印机打印8.5inx5.5英寸的工资单。我试着把每个工资单DIV都设置成固定的高度
width: 175.6mm;
height:123.7mm;
margin-left:auto;
margin-right:auto;虽然它完全符合工资单的大小,但打印后,纸张将继续滚动,直到它结束,因为工资单纸张都是连接在一起的,不像A4。并且我不希望对打印机纸张大小进行任何更改,因此我设置了:
@media print
{
@page
{
size: 8.5in 5.5in;
size: portrait;
}
}但Google Chrome的打印预览仍然显示了以下内容:

实际上有没有可能这样做?或者有没有办法在工资单打印后强制打印机停止打印,以防止它继续滚动纸张?(我认为这是不可能的)
附言:我只使用Google Chrome浏览器。
**更新:
我注意到在我选择“另存为PDF”后,纸张大小会发生变化,如果我选择回我的默认打印机,纸张大小再次不正确。
发布于 2015-06-22 07:45:06
也许这能行得通。
@media print
{
@page
{
size: 8.5in 5.5in;
size: landscape;
}
}或
@media print
{
@page
{
size: 5.5in 8.5in ;
size: landscape;
}
}发布于 2013-11-15 06:02:42
据我所知,主流浏览器对@media print的支持非常差。我遇到了和你类似的问题,经过几周的尝试,我不得不放弃,转而使用服务器端的pdf生成库(PDF4NET)。如果你需要排版,打印文档--我不认为HTML能做到这一点。
发布于 2014-02-18 02:24:11
今天我用的是Chrome 32.0.1700.107 m
在打印界面中直接从Chrome中选择“另存为W3 CSS3 standard established for page sizes”选项,效果非常好。请记住,在chrome的打印界面中使用打印机是非常不同的,因为它使用打印机的默认大小,但在另存为PDF选项的情况下,它确实采用CSS设置的大小。
多年来,我在不同的界面和不同项目的解决方案上遇到了麻烦(例如:直接从服务器生成PDF,这太繁重的处理和混乱的代码,或者告诉用户使用windows打印界面,等等)。这对我来说是一个很好的解决方案,而且看起来是明确的!
现在,只需在站点中使用CSS3就可以创建具有合适纸张大小的PDF,并且不需要使用第三方软件或其他技巧。
在您的情况下,最好的解决方案是简单地更改打印机中配置的默认纸张大小,这是我建议用户使用的一个小浮动div,它给出了建议,并对打印隐藏。但是,由于您“不希望对打印机纸张大小进行任何更改”,如果您希望避免在服务器端进行更改,则需要从打印人员处再执行一步:首先保存PDF,然后将其从刚刚创建的PDF发送到打印机。
https://stackoverflow.com/questions/19892484
复制相似问题