|
|
|
Пишем принтер для проставления штампов на все страницы
|
|||
|---|---|---|---|
|
#18+
Мне нужно на каждую страницу каждого печатаемого документа ставить некий штамп (stamp, watermark). Причем на каждый документ - свой штамп. (т.е. штампы динамичеки создаются - для каждого документа отдельно) Как один из вариантов - рассматриваю возможность применения программного прокси-принтера, на который приходят задания печати, далее принтер ищет штамп, подходящий документу, ставит его на все страницы и отправляет на реальный принтер. Про использование PDFCreator для генерации штампов и программы pdftk.exe для расстановки этих штампов на страницы PDF файлов - я знаю. Это будет для меня аварийным вариантом, если не смогу сделать иначе. (не совсем удобен такой метод, да и лицензия на pdftk.exe не во всех случаях бесплатная.) На данный момент программный прокси-принтер получает задание на печать в формате PJL JOB и пересылает его дальше на настоящий принтер. Осталось перед отправкой на настоящий принтер дорисовать на каждую страницу штампик. Задание на печать выглядит так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Кто знает как программно прочитать этот формат (на C++ или Delphi.) ? (для отрисовки) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2011, 14:18 |
|
||
|
Пишем принтер для проставления штампов на все страницы
|
|||
|---|---|---|---|
|
#18+
Или, если кто подскажет пример, как модифицировать страницы документа в PostScript формате - можно будет попробовать печатать в PostScript. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2011, 14:36 |
|
||
|
Пишем принтер для проставления штампов на все страницы
|
|||
|---|---|---|---|
|
#18+
Так, наконец-то нашел описание PJL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2011, 15:50 |
|
||
|
Пишем принтер для проставления штампов на все страницы
|
|||
|---|---|---|---|
|
#18+
ART-CODE, А где предполагается это использовать? Не пригодится ли тот факт, что многие драйвера принтеров уже имеют функционал нанесения надписей/watermark-ов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2011, 16:41 |
|
||
|
Пишем принтер для проставления штампов на все страницы
|
|||
|---|---|---|---|
|
#18+
многие драйвера принтеров уже имеют функционал Попробую изучить эту возможность. Главное - разобраться как автоматизировать подстановку надписей/watermark-ов чтобы каждому документу она была своя. (в каждой метке должно быть прописано - по какой системе, от кого и когда получен документ). Плохо,только что автоматизация будет сильно завязана на конкретную модель принтера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2011, 17:58 |
|
||
|
Пишем принтер для проставления штампов на все страницы
|
|||
|---|---|---|---|
|
#18+
Чтобы не потерялись интересные ссылки по теме - сохраню их здесь: printing-directly-to-a-network-printer хорошая вводная статья и подборка документации по PCL Русский в PostScript Пример как создать Post Script файл, печатающий текст на русском языке -- Напечатал тестовые штампики: на PCL и PostScript. Теперь думаю, какой способ оставить в программе :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2011, 14:52 |
|
||
|
Пишем принтер для проставления штампов на все страницы
|
|||
|---|---|---|---|
|
#18+
ART-CODE, а не могли бы вы подсказать, как решили свою задачу способами PCL (PJL).Какими командами? К сожалению, PS мой принтер не поддерживает. Буду премного благодарен ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2015, 18:57 |
|
||
|
Пишем принтер для проставления штампов на все страницы
|
|||
|---|---|---|---|
|
#18+
Артем Кудрявцев, Статья printing-directly-to-a-network-printer не помогла ? FRANK WORSLEYMoving Around The Page Now, what if we want to print "Hello World" somewhere else on the page? In this case you can use the PCL move commands: <ESC>*p150X <ESC>*p150Y Hello World This moves 150 units along the X and Y axes respectively. Notice that no newline characters appear between the commands. I write out the text using newlines for readability, but they don't appear in the actual commands sent to the printer. Вопрос лишь в том - как распарсить исходный документ и найти то место, куда это можно вставить и не сломать документ. Писал тогда парсер документа, но давно уже дело было, сейчас уже и не вспомню так сразу подробности. Там стандарты все усложнялись и усложнялись - не все версии языка так просто и быстро разобрать можно. Книга bpl13208.pdf может помочь. Еще вариант это делать так: любыми способами сформировать картинку документа и картинку штампа и наложить друг на друга и напечатать. Документ превращается в картинку: Код: sql 1. т.е. в этом случае нужно раздобыть pcl6-9.07-win32.exe и перехватить и сохранить задание печати документа в файл test.pcl , далее в командной строке делаем test.png накладываем штамп и печатаем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2015, 20:20 |
|
||
|
Пишем принтер для проставления штампов на все страницы
|
|||
|---|---|---|---|
|
#18+
Я не знаю какая версия PCL у Вас используется. Первые версии совсем простые, а вот PCL6 уже лучше самому не разбирать, а подсмотреть в чем-то готовом. Имеет смысл изучить исходники ghostpdl - там есть папка pcl , надеюсь поможет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2015, 12:11 |
|
||
|
Пишем принтер для проставления штампов на все страницы
|
|||
|---|---|---|---|
|
#18+
The HP Solution Programs Portal provides tools and services for hardware, software and firmware solution developers for HP Printing and Digital Imaging products. Я их SDK не пробовал, может все гораздо проще с ним :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2015, 12:22 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=37212216&tid=1341103]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
44ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
31ms |
get tp. blocked users: |
1ms |
| others: | 233ms |
| total: | 348ms |

| 0 / 0 |
