function PrintSVG() {
var container = $('#MainDesignerPanelContainer');
var width = parseFloat(svg.getAttribute("width"));
var height = parseFloat(svg.getAttribute("height"));
var printWindow = window.open('', 'MainDesignerPanelContainer',
'width=' + width + ',height=' + height);
printWindow.document.write($(container).html());
$(printWindow.document).find('#panningDiv').remove();
printWindow.document.close();
printWindow.print();
printWindow.close();
};
我只能在打印SVG Elements时打印背景图像。 你能告诉我我在这里做的错误吗
答案 0 :(得分:0)
我认为这是一个浏览器设置是否打印背景图像,在Javascript中你无能为力。
答案 1 :(得分:0)
您可以这样做:
function PrintSVG() {
var container = $('#MainDesignerPanelContainer');
var html = container.html(); // <------------cache the html
var width = parseFloat(svg.getAttribute("width"));
var height = parseFloat(svg.getAttribute("height"));
var printWindow = window.open('', 'MainDesignerPanelContainer',
'width=' + width + ',height=' + height);
var imgSrc = container.css('background-image'); // <----get the imgSrc
html.append($('<img>', {
src: imgSrc,
style: "position:absolute; z-index:-1;"
})); // Add it to the existing html
printWindow.document.write(html); // <------write the html
$(printWindow.document).find('#panningDiv').remove();
printWindow.document.close();
printWindow.print();
printWindow.close();
};