REPORT FORM — пакетная теневая печать в PDF-файлы

Имею необходимость сохранять файлы из REPORT FORM в PDF-формате для последующей рассылки на Email пользователей (в целях экономии бумаги).
Прыжки с бубном привели к следующему:
Нашёл программу, которая управляет опциями PDF-принтеров через создание объекта.
Т.е. отправляем печать в эту программу (которая тоже "принтер"), и эта программа через другой PDF-принтер производит печать в соответствии с API, которое было в неё выставлено.
Получился такой код:
[code]
SET PRINTER TO NAME "Bullzip PDF Printer" && https://www.biopdf.com/
lcPdf = CreateObject("Bullzip.PDFPrinterSettings") && https://www.bullzip.com/kb/category/pdf-printer/how-to/
*Hide the Printing Dialogs https://www.biopdf.com/guide/how_to_hide_the_printing_dialog.php
lcPdf.SetValue("Output","C:test.pdf")
lcPdf.SetValue("ShowSettings","never")
lcPdf.SetValue("ShowSaveAS","never")
lcPdf.SetValue("ShowProgress","no")
lcPdf.SetValue("ShowProgressFinished","no")
lcPdf.SetValue("ShowPDF","no")
lcPdf.SetValue("ConfirmOverwrite","no")
lcPdf.SetValue("ConfirmNewFolder","no")
*Other API settings https://www.biopdf.com/guide/settings.php
lcPdf.SetValue("PrintToPrinter","no")
lcPdf.SetValue("PrinterName","Foxit PhantomPDF Printer")
lcPdf.SetValue("PrinterSelection","Specific")
lcPdf.WriteSettings(.t.)
? SET("Printer",2)
? "Output=",lcPdf.GetValue("Output")
? "ShowSettings=",lcPdf.GetValue("ShowSettings")
? "ShowSaveAS=",lcPdf.GetValue("ShowSaveAS")
? "ShowProgress=",lcPdf.GetValue("ShowProgress")
? "ShowProgressFinished=",lcPdf.GetValue("ShowProgressFinished")
? "ShowPDF=",lcPdf.GetValue("ShowPDF")
? "ConfirmOverwrite=",lcPdf.GetValue("ConfirmOverwrite")
? "ConfirmNewFolder=",lcPdf.GetValue("ConfirmNewFolder")
? "PrintToPrinter=",lcPdf.GetValue("PrintToPrinter")
? "PrinterName=",lcPdf.GetValue("PrinterName")
? "PrinterSelection=",lcPdf.GetValue("PrinterSelection")
REPORT FORM "rep01.frx" NOCONSOLE TO PRINTER
SET PRINTER TO DEFAULT[/code]
Но что-то это не работает - REPORT настырно печатает в "Foxit PhantomPDF Printer", хотя из других программ всё норм.
Полагаю, что в REPORT где-то жёстко прописался "Foxit PhantomPDF Printer", что типа печатать только на нем. [b]Где это там в репорте находится?[/b]
Как решали проблему пакетной теневой печати в PDF-файлы?
Может есть иные подходы?

0

Автор публикации

Пользователи не найдены
Оставить комментарий
Авторизация
*
*
Генерация пароля