Javascript 如何用黑色背景图像打印白色文本
我正在尝试打印带有黑色背景图像的白色文本,但它仅在启用“打印背景(颜色和图像)”时才起作用。是否有任何方法可以通过jquery或其他解决方法来启用它以解决此问题。这是我的示例代码Javascript 如何用黑色背景图像打印白色文本,javascript,jquery,asp.net,html,css,Javascript,Jquery,Asp.net,Html,Css,我正在尝试打印带有黑色背景图像的白色文本,但它仅在启用“打印背景(颜色和图像)”时才起作用。是否有任何方法可以通过jquery或其他解决方法来启用它以解决此问题。这是我的示例代码 <script type="text/javascript"> $(function () { var print = $('.printButton'); print.bind('mousedown', function () { $('.FirstName'
<script type="text/javascript">
$(function () {
var print = $('.printButton');
print.bind('mousedown', function () {
$('.FirstName').attr("style", "background: transparent !important;color:#FFEFD5;-webkit-print-color-adjust: exact;");
window.print();
});
});
</script>
<div >
<div >
<asp:Image runat="server" ID="imgIO" ImageUrl="/css/Images/Img-Black.jpg" />
</div>
<div class="FirstName">Hello</div>
</div>
<div>
<div class="printButton">
<asp:Button runat="server" ID="Button2" />
</div>
</div>
.FirstName {
color: #eee;
font-size: 11px;
font-weight: bold;
position: absolute;
top: 15px;
left: 72px;
}
.printButton {
margin: 0 -3px 0 0;
float: right;
font-family: Arial;
direction: ltr;
}
$(函数(){
var print=$('.printButton');
print.bind('mousedown',函数(){
$('.FirstName').attr(“样式”,“背景:透明!重要;颜色:#FFEFD5;-webkit打印颜色调整:精确;”);
window.print();
});
});
已经有了,但我找不到解决办法
有人能帮我解决这个问题吗
非常感谢
安娜否。网站无法更改浏览器设置
如果网站上的javascript可以更改用户在浏览器中的首选项,那么这将是一个主要的安全漏洞
想象一下,如果网站可以在浏览器中启用弹出窗口。一个解决方法:动态生成图像。图像生成在服务器上非常简单,而且相对便宜。考虑验证码,但要考虑颜色、字体、所选文本等
即使从动态文本生成动画也不应该是一个太大的挑战。动画会更难,但可能是可行的,如果你还是要打印它,derp!我根据Nenotlep的建议得到了答案。下面是我解决问题的代码
private void LoadBlackImage(string imageUrl, string firstName, string lastName, string Number, string Date)
{
Bitmap bitMapImage = new Bitmap(Server.MapPath(imageUrl));
Graphics graphicImage = Graphics.FromImage(bitMapImage);
SolidBrush drawBrush = new SolidBrush(Color.White);
HtmlGenericControl dynImage = new HtmlGenericControl("img");
dynImage.ID = "imgBlack";
dynImage.Attributes.Add("runat", "server");
//Smooth graphics is nice.
graphicImage.SmoothingMode = SmoothingMode.AntiAlias;
//Write your text.
graphicImage.DrawString(firstName, new Font("Arial", 8, FontStyle.Regular), drawBrush, new Point(50, 70));
graphicImage.DrawString(lastName, new Font("Arial", 8, FontStyle.Regular), drawBrush, new Point(50, 85));
graphicImage.DrawString(Number, new Font("Arial", 8, FontStyle.Regular), drawBrush, new Point(50, 100));
graphicImage.DrawString(Date, new Font("Arial", 8, FontStyle.Regular), drawBrush, new Point(50, 115));
//Save the new image to the response output stream.
MemoryStream ms = new MemoryStream();
bitMapImage.Save(ms, ImageFormat.Jpeg);
var base64Data = Convert.ToBase64String(ms.ToArray());
//lblGiftCardRightIO.Src = "data:image/jpeg;base64," + base64Data;
dynImage.Attributes.Add("src", "data:image/jpeg;base64," + base64Data);
divControl.Controls.Add(dynImage);
//Clean house.
graphicImage.Dispose();
bitMapImage.Dispose();
}
谢谢大家的时间和帮助
非常感谢
安娜我不确定我是否理解你的问题,但在css中设置颜色:白色;背景色:黑色;
有什么问题?@brendan谢谢你的评论,我也试过了。但还是只在打印黑色文本的时候。