2013-11-26 4 views
3

В настоящее время я создаю службу WCF для печати HTML-файла, который был сохранен в определенном месте. Этот HTML-файл затем должен быть напечатан на конкретном принтере в нашей сети, проблема, с которой я сейчас сталкиваюсь, касается печати HTML.Печать HTML из службы WCF на конкретный принтер в сети

Поскольку это служба WCF, некоторые из основных методов, которые могут использоваться в приложениях WinForm, не могут использоваться (например, WebBrowser). Это вызывает проблемы, поскольку я не совсем уверен, какие у меня есть другие методы и варианты. Услуга также асинхронна, что означает, что через приложение можно печатать несколько файлов для печати в любой момент, что означает, что решение также должно иметь возможность обрабатывать многопоточность.

В настоящее время я использую PDF-метод печати в этом приложении WCF, но у вас были проблемы с этим, поэтому было предложено преобразовать WCF для печати, переданного в HTML вместо этого. проблемы связаны с использованием Adobe, и прежде чем мы перейдем к FoxItReader, меня попросили проверить HTML как вариант.

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

ответ

0

Вы по-прежнему можете использовать WebBrowser из службы WCF, хотя для этого вам необходимо организовать выделенный поток STA. Here is a basic sample приложения консоли делают это, а архитектура консольного приложения аналогична архитектуре службы WCF. Вам нужно будет добавить к нему некоторую логику очереди потребителей/производителей.

Указание пользовательского принтера также возможно, хотя и не так тривиально:
Add support to print & preview HTML in a dialog-based MFC app.

Кроме -На раствора в WebBrowser, есть некоторые другие варианты, по-прежнему HTML на основе:
Paginating HTML document for printing with WebKit-based browsers.

+1

Благодарим вас за помощь, я очень удивлен отсутствием информации об этой теме в Интернете или любой информации, касающейся печатной темы, из службы WCF. – SymbioticKaos

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