У меня есть приложение, которое печатает на принтер этикеток из элемента управления WebBrowser.Идея заключается в том, что при печати HTML-документ печатается в соответствии с различными настройками, такими как размер бумаги и ориентация.Когда я это делаю, все работает нормально:
public Boolean DrawHTML(String HTML)
{
try
{
// Load HTML document as a string
//using (StringReader reader = new StringReader(HTML))
using (StreamReader reader = new StreamReader(HTML))
{
// Navigate to HTML document string
Web_Document.Navigate(reader.ReadToEnd());
}
return true;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message + ":\nFile:\n\n" + HTML);
return false;
}
}
public Boolean Print(String PrinterName, String PrintJobName, Boolean IsLandscape, int LabelCount,double LabelWidth, double LabelHeight)
{
try
{
PrintQueueCollection _Printers = new PrintServer().GetPrintQueues(new[] {
EnumeratedPrintQueueTypes.Local, EnumeratedPrintQueueTypes.Connections});
foreach (PrintQueue Q in _Printers)
{
if (Q.FullName == PrinterName)
{
Q.UserPrintTicket.CopyCount = LabelCount;
if (IsLandscape)
{
Q.UserPrintTicket.PageOrientation = PageOrientation.Landscape;
}
else
{
Q.UserPrintTicket.PageOrientation = PageOrientation.Portrait;
}
Q.UserPrintTicket.PageBorderless = PageBorderless.Borderless;
double W = ((LabelWidth / 25.4) * 96);
double H = ((LabelHeight / 25.4) * 96);
Q.UserPrintTicket.PageMediaSize = new PageMediaSize(PageMediaSizeName.Unknown, W, H);
var writer = PrintQueue.CreateXpsDocumentWriter(Q);
writer.Write(Web_Document, Q.UserPrintTicket);
return true;
}
}
//Printer Not Found
return false;
}
catch (Exception)
{
//problem occured
return false;
}
}
#endregion
}
Все работает, КРОМЕ 3 проблем.contains scroll = "no" появятся полосы прокрутки, что нормально, но также и печать, что не хорошо.
Печать ДЕЙСТВИТЕЛЬНО плохая.очень размытоЯ думаю, что это происходит при создании визуала.
Если хост-фрейм меньше, чем HTML-контент, это будет печатать ТОЛЬКО видимый контент.Я хочу напечатать весь контент.
Любой совет, как мне это сделать?
Спасибо