Распечатать текст изменения в файле спула

Я хочу создать службу Windows на С#, которая может изменить некоторый контент, который будет напечатан.

Для этого я попытался изменить файл .SPL, который создается в папке спула в system32.

Я загрузил один образец с http://www.codeproject.com/Articles/10586/EMF-Printer-Spool-File-Viewer

которые преобразуют файл SPL в изображение, но мне нужен текст, который невозможен.

Как изменить содержимое перед созданием файла .SPL или любым другим предложением.

Пример

Это оригинальный текст


В печати

Это дублированный текст


отредактировано, так как ответа нет

Есть ли способ читать напрямую с порта принтера в приложении С#?

Обратите внимание, что я использую общий USB-принтер...

программирование последовательного порта бесполезно..

так что кто-нибудь знает, читайте с USB-порта ..


person user1616954    schedule 31.08.2012    source источник
comment
Вам придется перехватывать данные до того, как они попадут на принтер, поскольку, когда они находятся в очереди, принтеры не удерживают задание, пока вы их редактируете.   -  person BugFinder    schedule 03.09.2012
comment
Спасибо за ответ. но я хочу сделать общий оконный сервис. Если кто-то печатает из MSOffice, PDF и т. д., эта оконная служба получит содержимое и сохранит его в базе данных. Ты знаешь, как это сделать?   -  person user1616954    schedule 03.09.2012
comment
Я не вижу способа сделать это так, как вы пытаетесь.   -  person BugFinder    schedule 04.09.2012


Ответы (1)


Вы должны написать драйвер виртуального принтера, чтобы перехватывать задание на печать и изменять его перед отправкой окончательной печати на реальный принтер.

https://www.leadtools.com/sdk/print/virtual-printer

person Tony Thian    schedule 13.09.2017
comment
Такой подход означает, что пользователь может печатать только на вашем принтере. ОП спрашивает, как изменить задания на печать на любом принтере. Совсем другие вопросы. - person Carey Gregory; 13.09.2017