Найдено результатов: 5

Как распечатать документ HTML из веб-службы?

Я хочу распечатать HTML из веб-службы C#. Управление веб-браузером является избыточным и не работает хорошо в среде обслуживания, а также не работает хорошо в системе с очень жесткими ограничениями безопасности. Существует ли какая-либо бесплатная библиотека .NET , которая будет поддерживать печать базовой страницы HTML? Вот код, который у меня есть до сих пор, который не работает должным образом.

public void PrintThing(string document)
{
    if (Thread.CurrentThread.GetApartmentState() != ApartmentState.STA)
    {
        Thread thread =
            new Thread((ThreadStart) delegate { PrintDocument(document); });
        thread.SetApartmentState(ApartmentState.STA);
        thread.Start();
    }
    else
    {
        PrintDocument(document);
    }
}

protected void PrintDocument(string document)
{
    WebBrowser browser = new WebBrowser();
    browser.DocumentText = document;
    while (browser.ReadyState != WebBrowserReadyState.Complete)
    {
        Application.DoEvents();
    }
    browser.Print();
}

Это прекрасно работает при вызове из потоков типа UI,но ничего не происходит при вызове из потока типа службы. Изменение Print() на ShowPrintPreviewDialog() приводит к следующей ошибке скрипта IE:

Ошибка: dialogArguments.___IE_PrintType - это null или не объект.

URL: res://ieframe.dll/preview.dlg

И появится небольшое пустое диалоговое окно предварительного просмотра печати.

c#   html   web-services   printing    

525   6   16:03, 1st July, 2020


Принтеры недоступны, если они не являются общими

Мы используем классический asp для вызова C# dll и в C# dll мы используем System.Drawing.Printing.PrinterSettings.InstalledPrinters, чтобы получить список доступных принтеров. Если принтеры не являются общими, они не будут отображаться, когда пользователь пытается распечатать. Локальная системная учетная запись может видеть и печатать на них с VB6 dll, а администраторы могут печатать просто отлично с C# dll, как вы могли бы ожидать. Есть ли какие-то разрешения, которые мы должны предоставить пользователю, чтобы эти принтеры были доступны?

c#   asp.net   printing   windows-server-2003    

404   2   23:19, 14th August, 2020


"Бесшумная" печать в веб-приложении

Я работаю над веб-приложением, которое должно печатать молча, то есть без участия пользователя. Какой самый лучший способ достичь этого? Ему не нравится, что это можно сделать только с Javascript, ни Flash и / или AIR. Самое близкое, что я видел, включает в себя Java applet.

Я могу понять, почему это было бы плохой идеей для любого веб-сайта, чтобы иметь возможность сделать это. Этот конкретный экземпляр предназначен для внутреннего приложения,и он вполне приемлем, если пользователю необходимо добавить URL в список надежных сайтов, установить аддон и т. д.

web-services   printing    

596   11   08:01, 24th August, 2020


Поддерживает ли Mono System.Drawing и System.Drawing.Printing?

Я пытаюсь использовать Mono, чтобы загрузить bitmap и распечатать его на Linux, но получаю исключение. Поддерживает ли Mono печать на Linux? Код / исключение приведены ниже:

EDIT: я больше не получаю исключения, но мне все еще интересно, какая поддержка существует. Оставить код для потомков или что-то в этом роде.

private void btnPrintTest_Click(object sender, EventArgs e)
{
    _printDocTest.DefaultPageSettings.Landscape = true;
    _printDocTest.DefaultPageSettings.Margins = new Margins(50,50,50,50);
    _printDocTest.Print();
}

void _printDocTest_PrintPage(object sender, PrintPageEventArgs e)
{
  var bmp = new Bitmap("test.bmp");

  // Determine center of graph
  var xCenter = e.MarginBounds.X + (e.MarginBounds.Width - bmp.Width) / 2;
  var yCenter = e.MarginBounds.Y + (e.MarginBounds.Height - bmp.Height) / 2;

  e.Graphics.DrawImage(bmp, xCenter, yCenter);

  e.HasMorePages = false;
}

c#   .net   linux   printing   mono    

567   2   16:23, 20th August, 2020


Печать DOM Изменений

То, что я пытаюсь сделать, это изменить цвет фона ячейки таблицы <td>, а затем, когда пользователь переходит к печати страницы, изменения теперь отображаются.

В настоящее время я использую ненавязчивый скрипт для запуска следующей команды в диапазоне ячеек:

element.style.backgroundColor = "#f00"

Это работает на экране в IE и FF, однако, когда вы переходите к просмотру печати, цвета фона теряются.

Я делаю что-то не так?

internet-explorer   firefox   dom   browser   printing    

498   2   10:59, 6th August, 2020