Форум » [x]Harbour » опять с печатью проблема » Ответить

опять с печатью проблема

rvu: В xHarbour 0.99.61 все работало нормально. После перехода на 1.0.0 все стало распечатываться крякозябрами. Теперь надо где-то кодировку указывать?

Ответов - 40, стр: 1 2 All

AlexMyr: напечатал через CutePDF Writer и Canon MP270 series Printer - нормально

Dima: AlexMyr пишет: напечатал через CutePDF Writer и Canon MP270 series Printer - нормально и кол-во копий работает если больше 1 ?

AndreyZh: AlexMyr пишет: напечатал через CutePDF Writer и Canon MP270 series Printer - нормально Что понимать под "нормально"? Так, как хочу на сс2055... Как делает на других принтерах тоже самое:


AlexMyr: Так oPrinter:Create() oPrinter:Landscape := .F. // портретная ориентация oPrinter:FormType := FORM_A4 // А4 oPrinter:Copies := 2 // число копий.. ХЗ - не работает oPrinter:startDoc("Printering USLand") не работает, а так oPrinter:Copies := 2 // число копий.. ХЗ - не работает oPrinter:Create() oPrinter:Landscape := .F. // портретная ориентация oPrinter:FormType := FORM_A4 // А4 oPrinter:startDoc("Printering USLand") работает, два листа напечатал Canon.

AndreyZh: AlexMyr пишет: Так oPrinter:Create() oPrinter:Landscape := .F. // портретная ориентация oPrinter:FormType := FORM_A4 // А4 oPrinter:Copies := 2 // число копий.. ХЗ - не работает oPrinter:startDoc("Printering USLand") не работает, а так oPrinter:Copies := 2 // число копий.. ХЗ - не работает oPrinter:Create() oPrinter:Landscape := .F. // портретная ориентация oPrinter:FormType := FORM_A4 // А4 oPrinter:startDoc("Printering USLand") работает, два листа напечатал Canon. Это полезно, но Dima уже дал ссылку... Dima пишет: // These next 6 variables must be set before calling ::Create() if // you wish to alter the defaults VAR FormType INIT 0 VAR BinNumber INIT 0 VAR Landscape INIT .F. VAR Copies INIT 1 VAR PaperLength INIT 0 // Value is * 1/10 of mm 1000 = 10cm VAR PaperWidth INIT 0 т.е. параметры до create... но "приручить" принтеры?

Dima: AlexMyr а у мну не пашет на PdfFactory PRO кол-во копий Если печатать из любой другой проги (Word , Excel , OutlookExpress) на этот же принтер то кол-во копий срабатывает

Dima: AndreyZh пишет: "приручить" принтеры? мне кажется что дело тут не в пропуске строк а в межстрочном интервале.

AndreyZh: Dima пишет: мне кажется что дело тут не в пропуске строк а в межстрочном интервале. А "что" задаёт этот интервал? Установки на принтерах нет.

Dima: AndreyZh пишет: А "что" задаёт этот интервал? oPrinter:lineHeight У Вас oPrinter:lineHeight := 164 Попробуйте закоментировать эту строку , по идее результат будет одинаков на разных принтерах

AndreyZh: Dima пишет: oPrinter:lineHeight У Вас oPrinter:lineHeight := 164 Попробуйте закоментировать эту строку , по идее результат будет одинаков на разных принтерах ПРЕОГРОМНЕЙШЕЕ СПАСИБО!!! Попался "шалунишка"... теперь буду думать дальше, как мне печатать - народ привык, что 80 строк на листе.

Dima: AndreyZh пишет: Что понимать под "нормально"? Так, как хочу на сс2055... Тут не сработала установка oPrinter:lineHeight := 164 AndreyZh пишет: Как делает на других принтерах тоже самое: Тут сработала

Dima: Так а что все таки с кол-вом копий ? Уже просто интересно ;) Ведь не работает. Из 2-х библ hbwin и xhb , оставил только одну hbwin , (функции из xhb заменил на аналоги) пересобрал но кол-во копий не работает.

Dima: AndreyZh пишет: народ привык, что 80 строк на листе. В исходнике ::LineHeight := Int( ::PixelsPerInchY / 6 ) // Default 6 lines per inch == # of pixels per line 6 строк на дюйм. То есть нужно подобрать такой LineHeight что бы получилось 80 строк при заданном шрифте Руками подобрал LineHeight он будет для вашего шрифта от 80 до 85

AndreyZh: Dima пишет: Так а что все таки с кол-вом копий ? Уже просто интересно ;) Ведь не работает. Из 2-х библ hbwin и xhb , оставил только одну hbwin , (функции из xhb заменил на аналоги) пересобрал но кол-во копий не работает Таки Вы сами написали: o:Copyes := 3 Должно быть перед o:Create ... и всё работает - 3 копии Dima пишет: В исходнике ::LineHeight := Int( ::PixelsPerInchY / 6 ) // Default 6 lines per inch == # of pixels per line 6 строк на дюйм. То есть нужно подобрать такой LineHeight что бы получилось 80 строк при заданном шрифте Руками подобрал LineHeight он будет для вашего шрифта от 80 до 85 За подсказку отдельное спасибо, но и так уже пришлось исходник для Get системы править... думаю, что проше пользователей "перестроить", чем xHarbour переписывать P.S. Мой вопрос по печати... сейчас оббежал 6 типов принтеров и МФУ - везде единообразно!

Dima: AndreyZh пишет: Таки Вы сами написали: o:Copyes := 3 Должно быть перед o:Create Да писал и да проверил но не работает.......... А нет ли у Вас готовой функции печати TextBox , типа текст в рамке ?

AndreyZh: Dima пишет: Да писал и да проверил но не работает.......... Странно? Взял свой пример, поменял местами и получись три копии на принтере. Мой текст: [pre2] PROC Main() LOCA oPrint, nI:=0 LOCA cPrinter:="" // Определяю принтер, используемый по умолчанию в системе cPrinter := GetDefaultPrinter() // Определяем имя объекта класса для принтера, установленного по умолчанию в системе oPrinter := Win32Prn():New( cPrinter ) oPrinter:Landscape := .F. // портретная ориентация oPrinter:FormType := FORM_A4 // А4 oPrinter:Copies := 3 // Параметры изменяются до Create oPrinter:Create() oPrinter:startDoc("Printering USLand") // Определяем перо для рисования линий (толщина шрифта) - форма линий (сплошная, тонкая, черная) oPrinter:SetPen(PS_SOLID, 1, BLACK) // Шрифты и сжатие. oPrinter:Charset(255) oPrinter:SetFont("Lucida Console", 8,{3,-53}) FOR nI := 1 TO 20 oPrinter:NewLine() oPrinter:TextOut(Str(nI,2)+" [-Мама мыла раму------------------------------------------------------------------------------------------------------]") NEXT nI oPrinter:endDoc() // Закрываю печать документа oPrinter:Destroy() // Уничтожаю объект принтера RETU [/pre2] Dima пишет: А нет ли у Вас готовой функции печати TextBox , типа текст в рамке ? Увы... да и сейчас взялся за "печать на Харб", т.к. система печати на FoxPro не пашет на 64 разрядных ОС... Мой "dos" подход был: формирую тестовый файл и копирую его на принтер - сейчас делает "тоже самое" процедура в первом примере, хотя и подход через копирование тоже остался.

Dima: AndreyZh пишет: Странно? Взял свой пример, поменял местами и получись три копии на принтере. Мой текст: Более чем странно. Взял Ваш новый пример и 3 копии не получил , вылезла одна HArbour 3.2 / BCC 5.5 Собирал так c:\hb32\bin\hbmk2 test1 -lhbwin -lxhb

AndreyZh: Dima пишет: Более чем странно. Взял Ваш новый пример и 3 копии не получил , вылезла одна HArbour 3.2 / BCC 5.5 Собирал так c:\hb32\bin\hbmk2 test1 -lhbwin -lxhb У меня xHarbour 1.2.1 Rev 6633 + BCC 5.5

Dima: Dima пишет: Более чем странно. Взял Ваш новый пример и 3 копии не получил , вылезла одна HArbour 3.2 / BCC 5.5 Интересно проблема в сборке Harbour под BCC 5.5 или классе WIN_PRN !??

Dima: Dima пишет: Интересно проблема в сборке Harbour под BCC 5.5 Та же фигня и с MINGW , не пашет кол-во копий (Harbour 3.2)



полная версия страницы