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


1

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

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

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


Если я правильно понимаю, было бы общепринятым, что текст не будет отправлено на принтер; образ текста будет. Так вы также хотели бы использовать OCR?
BenjiWiebe

@ BenjiWiebe Насколько я знаю PDL, гораздо эффективнее передать описание шрифта и затем передать текстовое содержимое (какой символ, какой шрифт должен быть расположен где) на принтер, чем выполнять обработку растрового изображения на вашем компьютер и передать (в зависимости от разрешения) данные изображения на принтер. Так что нет, я полагаю, что смогу обойтись без оптического распознавания текста.
Hagen von Eitzen

О, я вижу. ХОРОШО. Вы не думаете, что будет легче работать на стороне клиента? На печатном компьютере? Как виртуальный PDF-принтер all2pdf ...
BenjiWiebe

@BenjiWiebe Хм, ты имеешь в виду распечатать PDF, позволить моему сценарию манипулировать PDF, а затем распечатать измененный PDF? Может стоит задуматься (и попробовать) ...
Hagen von Eitzen

1
Привет, у меня есть похожая проблема. Вы были успешны? Если да, то как тебе это удалось?
spurra
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.