mal*_*lte 1 html javascript printing winjs windows-8.1
我想知道如何实现无边框打印.
目前我的输出看起来像这样:
我想让图像从左上角开始.这可能吗?我已经尝试为我的打印样式框设置一个负边距,但是图像会被剪切掉.
我知道也许不是所有的打印机都能打印边框区域,但在我的用例中,这些区域的图片将是白色的.(山图只是为了演示目的)
我可以通过printTask以某种方式指定文档边框吗?
看我目前的设置:
HTML:
<div id="pdf-render-output"></div>
Run Code Online (Sandbox Code Playgroud)
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;
}
}
Run Code Online (Sandbox Code Playgroud)
JS:
$('#pdf-render-output').append("<img src="..." style=\"width: 100%\" />");
Run Code Online (Sandbox Code Playgroud)
我玩了所有可能的边距/填充和东西,但图像将被切割,白色边框保持"超过"它.
我希望可能有一个printTask选项我错过了浏览msdn?
更新:
我尝试使用!important设置所有边距/填充/边框值.没变.以下是模拟器的屏幕截图,仅显示print-css样式:
我认为这是printTask本身的一个问题.有关于这个问题的选择吗?
如果DocumentSource的边距值设置为0,则间隙将大大减少.但是,与C#+ XAML的PrintTask相比,上边距(可能是页眉/页脚区域)稍微有点.
var printTask = printEvent.request.createPrintTask("Print Sample", function (args) {
var src = MSApp.getHtmlPrintDocumentSource(document);
src.rightMargin = 0;
src.leftMargin = 0;
src.topMargin = 0;
src.bottomMargin = 0;
src.shrinkToFit = false;
args.setSource(src);
}
Run Code Online (Sandbox Code Playgroud)
在我的环境中,当使用这个CSS时,它已经删除了边距,而不需要src.rightMargin等.
@page {
margin:0cm;
}
Run Code Online (Sandbox Code Playgroud)