【发布时间】:2015-05-25 10:31:37
【问题描述】:
我想知道如何实现无边框打印。
目前我的输出如下所示:
我想让图像从最左上角开始。这可能吗?我已经尝试为我的打印样式框设置负边距,但图像会被剪切。
我知道也许并非所有打印机都能够打印边框区域,但在我的用例中,这些区域的图片将是白色的。 (山图仅用于演示目的)
我可以通过 printTask 以某种方式指定文档边框吗?
查看我当前的设置:
HTML:
<div id="pdf-render-output"></div>
CSS:
body > #pdf-render-output {
display: none;
}
@media print {
body > * {
display:none;
max-width: 100%;
}
html {
max-width: 100%;
border-top: 0;
}
body > #pdf-render-output {
display: block;
border: none;
max-width: 100%;
width: 100%;
height: 100%;
position: relative;
margin: 0; /* I tried to set negative margin/padding eg. here */
padding: 0;
}
}
JS:
$('#pdf-render-output').append("<img src="..." style=\"width: 100%\" />");
我尝试了所有可能的边距/填充和其他东西,但是图像会被剪切并且白色边框会保持在“上方”。
我希望可能有一个我错过了浏览 msdn 的 printTask 选项?
更新: 我尝试使用 !important 设置所有边距/填充/边框值。没变。 这是模拟器的屏幕截图,仅显示 print-css 样式:
我认为这是 printTask 本身的问题。关于这个问题有什么选择吗?
【问题讨论】:
-
您有与此相关的任何代码吗?所以请把它贴在你指定边距的地方,或者放置你的图片?
-
@AshishMishra 请查看我更新的问题!
-
var img = $('<img />'); img.css({'position:absolute;top:0px;left:0px;width:100%;height:100%;background-color:red'}); $('#pdf-render-output').append(img);请试试这个.. -
感谢您的回答,但遗憾的是边界保持不变。我认为绝对定位不是这里的关键。 填充/边距可能有问题吗? (我已经尝试将其设置为 0,但没有改变)。或者,如果您考虑普通程序的常见打印可能性:有时您可以在此处指定边框宽度。也许 WinJS 有类似的地方?
-
我建议你将
body,html和另一个elements设置为margin:0!important和相同的边框宽度,填充使用!important然后尝试它,可能是它是动态分配的。并且在调试时查看您的DOM,在那里您可以找到原因。
标签: javascript html printing winjs windows-8.1