Перехват и изменение заданий на печать

1

Мне нужно применить некоторые модификации (в основном заменить некоторые тексты а-ля s/foo/bar/ ) ко всему, что печатается из определенного приложения Windows. Я предполагаю, что большинство строительных блоков, которые могут быть использованы для этого, уже доступны где-то. Моя идея заключается в следующем:

  1. (Поддельный) сетевой принтер рекламируется (например, с хоста Linux)
  2. Вместо печати сообщение (скажем, в PostScript) перехватывается
  3. Такие вещи, как сжатие, отменяются, результат подается на ...
  4. ... сценарий, который я пишу, который выполняет необходимые замены текста
  5. Полученный постскриптум передается на настоящий принтер

Возможна ли моя идея? И прав ли я, что все, кроме шага 4, должно быть доступно из базовых инструментов? Если так, может кто-нибудь пролить свет на то, как я могу это сделать? Я слишком мало знаю о внутренних возможностях сетевой печати Windows / Linux, CUPS и Samba и о том, что делать, чтобы чувствовать себя уверенно ...

Hagen von Eitzen
источник
Если я правильно понимаю, было бы общепринятым, что текст не будет отправлено на принтер; образ текста будет. Так вы также хотели бы использовать OCR?
BenjiWiebe
@ BenjiWiebe Насколько я знаю PDL, гораздо эффективнее передать описание шрифта и затем передать текстовое содержимое (какой символ, какой шрифт должен быть расположен где) на принтер, чем выполнять обработку растрового изображения на вашем компьютер и передать (в зависимости от разрешения) данные изображения на принтер. Так что нет, я полагаю, что смогу обойтись без оптического распознавания текста.
Hagen von Eitzen
О, я вижу. ХОРОШО. Вы не думаете, что будет легче работать на стороне клиента? На печатном компьютере? Как виртуальный PDF-принтер all2pdf ...
BenjiWiebe
@BenjiWiebe Хм, ты имеешь в виду распечатать PDF, позволить моему сценарию манипулировать PDF, а затем распечатать измененный PDF? Может стоит задуматься (и попробовать) ...
Hagen von Eitzen
1
Привет, у меня есть похожая проблема. Вы были успешны? Если да, то как тебе это удалось?
spurra