Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / FoxPro, Visual FoxPro Новый топик    Ответить
 Печать в PDF, настроить принтер Bullzip  [new]
DmitryKn
Member

Откуда:
Сообщений: 308
Добрый день,

хочу использовать печать в pdf-файл без открытия диалогов, win10, предполагаемая ОС win server 2008 r2, код отсюда: 15915397
Судя по форуму у всех все отлично работает, и это вызывает и зависть и огорчение, поскольку у меня не работает.

В win по умолчанию установлен wi-fi принтер HP.
Если ставлю по умолчанию Bullzip - все хорошо работает. Если оставляю НР, то никак.

После команды:

SET PRINTER TO NAME "Bullzip PDF Printer"

SET('printer',2) возвращает HP, SET('printer',3) честно возвращает Bullzip, но печать идет тупо в НР.

Приложение мое работает в терминальном режиме, менять там принтер по умолчанию на Bullzip выглядит очень неправильно.

Посоветуйте, плиз, что-нибудь, но, по-возможности, не обидное.
15 мар 21, 14:02    [22294729]     Ответить | Цитировать Сообщить модератору
 Re: Печать в PDF, настроить принтер Bullzip  [new]
Leonid Kudryavtsev
Member

Откуда:
Сообщений: 9892
PRINTER, 2
Заданное по умолчанию имя принтера Windows

PRINTER, 3
Заданное по умолчанию имя принтера Visual FoxPro (указанное в окне Печати Visual FoxPro или Окне Print Setup)

Подозреваю, тут важно как же именно Вы делаете "печать в pdf-файл без открытия диалогов". Но этого кода в исходном сообщении то и нету.
15 мар 21, 20:09    [22295031]     Ответить | Цитировать Сообщить модератору
 Re: Печать в PDF, настроить принтер Bullzip  [new]
DmitryKn
Member

Откуда:
Сообщений: 308
Leonid Kudryavtsev
PRINTER, 2
....
Подозреваю, тут важно как же именно Вы делаете "печать в pdf-файл без открытия диалогов". Но этого кода в исходном сообщении то и нету.


Код есть в приведенной ссылке, вот он:
	PRINTJOB 
		bzSettings = CreateObject("Bullzip.PDFPrinterSettings")
		WITH bzSettings
			.RemoveSettings(.t.)
			.SetValue("Output", lcDir+lcFileName )
			.SetValue("ShowPdf","no")
			.SetValue("ShowSettings","never")
			.SetValue("ShowProgress","no")
			.SetValue("ShowProgressFinished","no")
			.WriteSettings(.t.)
		ENDWITH  

		SET PRINTER TO NAME "Bullzip PDF Printer"
                * в этом месте проверял, произошло ли переключение принтера:
                * lcprn = SET('printer',3)
                *MESSAGEBOX(lcprn) 
                *возвращает "Bullzip PDF Printer"

		REPORT FORM myReport TO PRINTER && а печать идет на установленный в Win по умолчанию HP

		SET PRINTER TO DEFAULT   
		RELEASE bzSettings
	ENDPRINTJOB 


Если по умолчанию установлен Bullzip, то он (код) работает почти безупречно (мелькают некие сообщения, возможно, типа количества страниц или что-то в этом роде, но это мелочи, по большому счету), пдф-файл формируется. Но вот если установлен принтер, в моем случае HP MFP M28W (привожу название, вдруг там какой общеизвестно кривой драйвер, который все портит), то как выше указывал - в файл отправить не могу, хотя SET('printer',3) указывает, что переключение принтеров произошло.
Возможно какая-то где-то настройка хитрая, или что-то еще упустил. Все пути проверял, если что.

Сообщение было отредактировано: 15 мар 21, 20:34
15 мар 21, 20:33    [22295040]     Ответить | Цитировать Сообщить модератору
 Re: Печать в PDF, настроить принтер Bullzip  [new]
Leonid Kudryavtsev
Member

Откуда:
Сообщений: 9892
DmitryKn,

Как минимум странно, что принтер устанавливается ПОСЛЕ PRINTJOB.

IMHO.
16 мар 21, 03:40    [22295161]     Ответить | Цитировать Сообщить модератору
 Re: Печать в PDF, настроить принтер Bullzip  [new]
DmitryKn
Member

Откуда:
Сообщений: 308
Leonid Kudryavtsev,

Выполнение кода в таком виде:
	PRINTJOB 
		bzSettings = CreateObject("Bullzip.PDFPrinterSettings")
		WITH bzSettings
			.RemoveSettings(.t.)
			.SetValue("Output", lcDir+lcFileName )
			.SetValue("ShowPdf","no")
			.SetValue("ShowSettings","never")
			.SetValue("ShowProgress","no")
			.SetValue("ShowProgressFinished","no")
			.WriteSettings(.t.)
		ENDWITH  
        ENDPRINTJOB 

		SET PRINTER TO NAME "Bullzip PDF Printer"
                * в этом месте проверял, произошло ли переключение принтера:
                * lcprn = SET('printer',3)
                *MESSAGEBOX(lcprn) 
                *возвращает "Bullzip PDF Printer"

		REPORT FORM myReport TO PRINTER && а печать идет на установленный в Win по умолчанию HP, а не в Bullzip

		SET PRINTER TO DEFAULT   
		RELEASE bzSettings


Не меняет ровным словом ничего. Проблема в том, что приложение видит Bullzip как установленный для приложения, но печать упрямо идет на принтер по умолчанию в win, НР в моем случае.

Сообщение было отредактировано: 16 мар 21, 08:44
16 мар 21, 08:51    [22295182]     Ответить | Цитировать Сообщить модератору
 Re: Печать в PDF, настроить принтер Bullzip  [new]
PaulWist
Member

Откуда:
Сообщений: 2300
DmitryKn,

Save Printer Enviroment - в отчете галка снята?
16 мар 21, 10:04    [22295217]     Ответить | Цитировать Сообщить модератору
 Re: Печать в PDF, настроить принтер Bullzip  [new]
DmitryKn
Member

Откуда:
Сообщений: 308
PaulWist,

Конечно не снята, кто ж ее снимет-то :)

Спасибо большое, все теперь работает!
16 мар 21, 11:24    [22295264]     Ответить | Цитировать Сообщить модератору
 Re: Печать в PDF, настроить принтер Bullzip  [new]
DmitryKn
Member

Откуда:
Сообщений: 308
Еще одно открытие чудное.

Документ, отправляемый в пдф, содержит цветную картинку, однако конечный документ черно-белый.
Если в пдф отправлять командой:

REPORT FORM myReport TO PRINTER PROMPT

т.е. диалоговое окно все же вызывать, и там в настройках принтера указать "цветная печать", то пдф получается с цветной картинкой.

Установил через "Устройства и принтеры" в панели управления винды, в настройках печати принтера Bullzip "цветная печать". При печати из приложения на Bullzip все равно установка не изменяется, и если руками не изменять, то по умолчанию - черно-белая.

Посоветуйте, как победить?
16 мар 21, 14:46    [22295440]     Ответить | Цитировать Сообщить модератору
 Re: Печать в PDF, настроить принтер Bullzip  [new]
bguo_reminder
Member

Откуда:
Сообщений: 32
DmitryKn,

здесь тоже покопайтесь...

К сообщению приложен файл. Размер - 30Kb
16 мар 21, 14:57    [22295453]     Ответить | Цитировать Сообщить модератору
 Re: Печать в PDF, настроить принтер Bullzip  [new]
Leonid Kudryavtsev
Member

Откуда:
Сообщений: 9892
IMHO https://www.biopdf.com/guide/settings.php
16 мар 21, 15:13    [22295464]     Ответить | Цитировать Сообщить модератору
 Re: Печать в PDF, настроить принтер Bullzip  [new]
DmitryKn
Member

Откуда:
Сообщений: 308
bguo_reminder,

немного покопался, не победил (
16 мар 21, 15:56    [22295514]     Ответить | Цитировать Сообщить модератору
 Re: Печать в PDF, настроить принтер Bullzip  [new]
DmitryKn
Member

Откуда:
Сообщений: 308
Leonid Kudryavtsev,

С этим принтером та же история, при вызове из приложения устанавливается опция черно-белая печать.
16 мар 21, 15:57    [22295515]     Ответить | Цитировать Сообщить модератору
 Re: Печать в PDF, настроить принтер Bullzip  [new]
Leonid Kudryavtsev
Member

Откуда:
Сообщений: 9892
DmitryKn,

Что значит с "этим"? Вы документацию на используемые Вами продукты вообще не читаете?
16 мар 21, 16:18    [22295534]     Ответить | Цитировать Сообщить модератору
 Re: Печать в PDF, настроить принтер Bullzip  [new]
Leonid Kudryavtsev
Member

Откуда:
Сообщений: 9892
ставить и эксперементировать желания нет
В документации все про настройку вроде как расписано.
16 мар 21, 16:19    [22295536]     Ответить | Цитировать Сообщить модератору
 Re: Печать в PDF, настроить принтер Bullzip  [new]
DmitryKn
Member

Откуда:
Сообщений: 308
Leonid Kudryavtsev
DmitryKn,

Что значит с "этим"? Вы документацию на используемые Вами продукты вообще не читаете?


Я увидел отличие в названии и принял это за отдельный продукт, все хочется побыстрее. Но сходу не нашел такой настройки, посмотрю
еще внимательнее.
16 мар 21, 17:04    [22295605]     Ответить | Цитировать Сообщить модератору
 Re: Печать в PDF, настроить принтер Bullzip  [new]
DmitryKn
Member

Откуда:
Сообщений: 308
В ходе поиска выявил следующее:
1. Как только снимаем галку Save Printer Enviroment в Page Layout, в принтере Bullzip устанавливается опция черно-белой печати и никакими настройками из проги победить не удалось. Пытался на таких настройках:

	PRINTJOB 
		bzSettings = CreateObject("Bullzip.PDFPrinterSettings")
		WITH bzSettings
			...
			.SetValue("ColorModel","CMYK") && RGB тоже
			.SetValue("ImageCompression","no")  
			...
		ENDWITH  

	ENDPRINTJOB 


Попытка менять настройки в ини-файлах тоже не принесли успеха. Изменить через интерфейс Bullzip нельзя, хочет сразу денег.

2. Как только возвращаем галку Save Printer Enviroment в Page Layout, то опция печати в цвет тут же становится на место, но неизбежен вызов диалогового окна.

так что задача пока что не решена
16 мар 21, 21:04    [22295832]     Ответить | Цитировать Сообщить модератору
 Re: Печать в PDF, настроить принтер Bullzip  [new]
AK-Shah
Member

Откуда:
Сообщений: 155
Зачем зависеть от установленных (неустановленных) PDF-принтеров? Есть немало библиотек на чистом Фоксе, позволяющие вывести почти во все популярные форматы. Да, большинство этих библиотек платные (frx2any, xfrx и др.). Но есть же тот же FoxyPreviewer


http://www.foxypreviewer.com/p/downloads.html


Пример использования:

SET PROCEDURE TO LOCFILE("FoxyPreviewer.App") ADDITIVE
LOCAL loReport AS "PreviewHelper" OF "FoxyPreviewer.App"
loReport = CREATEOBJECT("PreviewHelper")
WITH loReport AS ReportHelper
.AddReport(_Samples + "\Solution\Reports\percent.frx", "NODIALOG")
.cDestFile = "c:\Teste1.pdf" && Use to create an output without previewing
.RunReport()
ENDWITH
loReport = NULL
RUN /N Explorer.Exe c:\Teste1.pdf

И будет вас щастье! :)
5 июн 21, 08:44    [22331694]     Ответить | Цитировать Сообщить модератору
 Re: Печать в PDF, настроить принтер Bullzip  [new]
DmitryKn
Member

Откуда:
Сообщений: 308
AK-Shah,

спасибо, попробую это, отпишусь
9 июн 21, 11:36    [22333190]     Ответить | Цитировать Сообщить модератору
 Re: Печать в PDF, настроить принтер Bullzip  [new]
AK-Shah
Member

Откуда:
Сообщений: 155
DmitryKn,

Да, конечно. Ребятам с Фоксклуб это пригодилось. Что-то не получится - пиши(-те) , попробуем решить. Удачи.
20 июн 21, 01:33    [22337793]     Ответить | Цитировать Сообщить модератору
 Re: Печать в PDF, настроить принтер Bullzip  [new]
DmitryKn
Member

Откуда:
Сообщений: 308
AK-Shah,

Добрый день, дошли руки попробовать, результат негативный.

с налету не удалось привинтить FoxyPreviewer, ругается на мой репорт, вполне рабочий, ошибка 4133.
Почему-то не видит подготовленные для отчета данные.
Кроме того, locfile открывает диалоговое окно, что недопустимо.

Сам FoxyPreviewer поместил в папку с приложением, из соображений, что бы в случае чего не забыть про него, не знаю, насколько это правильно.

Версия последняя.

Сообщение было отредактировано: 26 июн 21, 14:42
26 июн 21, 14:49    [22340621]     Ответить | Цитировать Сообщить модератору
 Re: Печать в PDF, настроить принтер Bullzip  [new]
AK-Shah
Member

Откуда:
Сообщений: 155
DmitryKn,

Я брал с сайта, потом немного допиливал под себя (шрифт выводился не в той кодовой старнице/локали). Ну и LOCFILE() поубирал. Отчет могу завтра на работе посмотреть - что там с ним не так.
28 июн 21, 18:23    [22341231]     Ответить | Цитировать Сообщить модератору
 Re: Печать в PDF, настроить принтер Bullzip  [new]
AK-Shah
Member

Откуда:
Сообщений: 155
DmitryKn,

Вот моя сборка FoxyPreviewer: https://dropmefiles.com/3Vqe4
29 июн 21, 21:27    [22341692]     Ответить | Цитировать Сообщить модератору
 Re: Печать в PDF, настроить принтер Bullzip  [new]
DmitryKn
Member

Откуда:
Сообщений: 308
AK-Shah,

Спасибо, посмотрю, отпишусь.

Сообщение было отредактировано: 1 июл 21, 14:02
1 июл 21, 14:11    [22342394]     Ответить | Цитировать Сообщить модератору
 Re: Печать в PDF, настроить принтер Bullzip  [new]
AK-Shah
Member

Откуда:
Сообщений: 155
DmitryKn,


Не получилось? Да, там прям со всеми отчетами не взлетит (если допилить только!). У меня производственные сложились в строку (наезд одной на другую). Но это было некритично.

Кидайте свой отчет и ТЕСТОВЫЕ данные - посмотрим, что не взлетело.
10 июл 21, 19:28    [22346040]     Ответить | Цитировать Сообщить модератору
Все форумы / FoxPro, Visual FoxPro Ответить