Save data sent to printer

FredFF
Дата: 25.09.2019 03:37:17
I need to save data sent directly to printer via AssignPrn/textfile. It can be text file or better PDF. How to make parallel printing and saving? I have used WriteLn/Printer.Canvas.TextOut at position. If I have only WriteLn then it's easy by saving each line in TStringList and save in text file after printing completed. Any ideas?

Thanks, Fred
Кроик Семён
Дата: 25.09.2019 10:31:12
думаю, вам придется сначала писать (вместо печатать) всё в некоторое промежуточное представление, сохранять его на диск, а затем уже это промежуточное представление отправлять (через парсер) на принтер
Кроик Семён
Дата: 25.09.2019 10:41:39
P.S.

То, что я предложил, все-таки отличается от вашего желания "I need to save data sent directly to printer".

Если же по каким-либо причинам "припёрло" и действительно нужно "send directly", то возможно поступить вот как: ВСЕ функции и процедуры, через которые происходит вывод на принтер, заменить на свои. И в этих своих для каждого вызова производить 2 действия:
1) перенаправление на принтер и
2) сохранение всех параметров в некий log-файл, который в последствии можно было бы отправить снова на принтер через интерпретатор
Василий 2
Дата: 25.09.2019 16:55:08
Создать canvas из принтерного
Нарисовать там все что нужно
Скопировать на принтер