2013-04-23 4 views
0

Я пытаюсь напечатать белый текст с черным фоном, но он работает только при включении «Печать фона (цвета &). Есть ли способ включить это через jquery или другая работа вокруг, чтобы решить эту проблему. Вот мой пример кода.Как напечатать белый текст с черным фоном

<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; 
} 

Я проверил эту ссылку Can I force text to print as white? уже, но я не могу найти решение.

Может кто-нибудь помочь мне разобраться этот вопрос .

Many Thanks Anna

+0

им не уверен, если я понимаю ваш вопрос, но что случилось с установкой 'цвет: белый; background-color: black; 'css? – brendosthoughts

+0

@brendan Спасибо за ваш комментарий, я тоже это пробовал. но при печати печати только в черном тексте. –

ответ

1

Обходной путь: создать изображение на лету. Генерация изображений на сервере довольно проста и относительно дешевая. Подумайте об этом, но с вашими цветами, шрифтами, выбранным текстом и т. Д.

Не должно быть слишком большой проблемой для создания даже динамического текста. Анимация будет сложнее, но, возможно, выполнимо, и если вы все равно ее печатаете, дерп!

0

Нет. Веб-сайты не могут изменять настройки браузера.

Это будет основной недостаток безопасности, если javascript на веб-сайте может изменить настройки пользователей в браузере.

Представьте, что веб-сайты могут включать всплывающие окна в браузере.

0

Я получил ответ в соответствии с предложением 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(); 
     } 

Спасибо всем за ваше время и помочь

Большое спасибо Anna

Смежные вопросы