|
|
|
Установка размеров листа для печати
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, уважаемые форумчане! Версия PB: 6.5 Build 444. Операционная система: Windows2000 SP4. Прошу у Вас помощи в решении следующей задачи. Необходимо печатать информацию из DW на нестандартных листах (конверты размера 11,3 см * 22,8 см). Предустановленного размера страницы печати для подобных DW нет (DataWindow.Print.Paper.Size). Требуется из скрипта PB установить размер страницы для печати (DW предполагается печатать у многих пользователей, и желательно избавиться от специфической настройки каждого принтера самими пользователями и печати DW с его установками по умолчанию. Не разрешено использовать сторонние библиотеки, кроме WinAPI). Для реализации такой возможности я вижу следующие пути: 1. Установить в скрипте PB нужный размер DataWindow.Print.Paper.Size. В PB9 это можно реализовать с помощью CustomPage.Length и CustomPage.Width. Как это сделать в PB6? Есть ли аналоги такой возможности и можно ли сделать это вообще? 2. С помощью WinAPI установить нужный размер страницы для печати принтера. Как это сделать и можно ли сделать вообще? Какие функции для этого использовать? 3. Попытаться "развернуть" DW на ориентацию 22,8 см * 11, 3 см и печатать на стандартном листе A4. Но возникают проблемы с переносом и центровкой полей, направлением текста в них (как расположить текст в колонках вертикально?) 4. Печатать на стандартном листе A4 (21,0 см * 29,7 см), не располагая текст за пределами 21 см (теряется информация на 1,8 см). Данное решение можно использовать в последнюю очередь, если исчерпаны все другие возможности и задачу невозможно выполнить другими способами. Уважаемые коллеги! Хочу узнать от вас советы и примеры решения подобного задания. Буду благодарен за любую информацию, которая может помочь в данном случае. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2007, 10:59 |
|
||
|
Установка размеров листа для печати
|
|||
|---|---|---|---|
|
#18+
Amberitкак расположить текст в колонках вертикально? Это про Font.Escapement что-ли? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2007, 11:20 |
|
||
|
Установка размеров листа для печати
|
|||
|---|---|---|---|
|
#18+
Спасибо за подсказку по поводу Font.Escapement. Еще мнения? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2007, 12:40 |
|
||
|
Установка размеров листа для печати
|
|||
|---|---|---|---|
|
#18+
использовать Print Functions ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2007, 17:19 |
|
||
|
Установка размеров листа для печати
|
|||
|---|---|---|---|
|
#18+
Код: plaintext Какие из Print Fuctions нужно использовать для решения данного задания и каким образом? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2007, 17:35 |
|
||
|
Установка размеров листа для печати
|
|||
|---|---|---|---|
|
#18+
Print Print a string in the current font. In all but one form of this function, you can control the spacing in the print area PrintBitmap Print a specified bitmap image at a specified location in the print area. PrintCancel Cancel printing. PrintClose Close the print job and sends the page to the printer. PrintDataWindow Print a DataWindow with other DataWindows in a print job. PrintDefineFont Define a font for the print job. PowerBuilder supports eight fonts for each print job. PrintLine Print a line of a specified thickness at a specified location. PrintOpen Start the print job and assigns it a print job number. PrintOval Print an oval (or circle) with a specified line thickness at a specified location. PrintPage Send the current page to the printer and sets up a new blank page. PrintRect Print a rectangle with a specified line thickness at a specified location. PrintRoundRect Print a round rectangle with a specified line thickness at a specified location. PrintScreen Print the screen image as part of a print job. PrintSend Send a specified string directly to the printer. PrintSetFont Set the current print job font to one of the defined fonts. PrintSetSpacing Sets the spacing factor that will be used to determine the space between lines. PrintSetup Call the Printer Setup dialog box for the printer driver. PrintText Print specified text at a specified location. PrintWidth Return the width (in 1/1000s of an inch) of the specified string in the current font. PrintX Return the X coordinate of the cursor. PrintY а если серьезно, то я тоже недавно из банка :). вы тама наверное поздравление печатать тоже собрались :). у нас решили проще добавили еще один размер бумаги и все. хотя была идея использовать вот ети функции. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2007, 17:59 |
|
||
|
Установка размеров листа для печати
|
|||
|---|---|---|---|
|
#18+
Наверное, я не до конца понимаю, как использовать в моем случае Print Functions. Например, как с их помощью установить размеры листа для печати? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2007, 18:51 |
|
||
|
Установка размеров листа для печати
|
|||
|---|---|---|---|
|
#18+
а устанавливать не надо. использую функции печатаешь где надо (указывая положение на листе) и что надо. после печати одного конверта просто переходишь на другую страницу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2007, 18:54 |
|
||
|
Установка размеров листа для печати
|
|||
|---|---|---|---|
|
#18+
Кхм, но как я думаю, чтобы печатать где надо и что надо, нужно каким-то образом указать, где МОЖНО печатать. Если не устанавливать Paper.Size в DW, то по умолчанию возьмутся установки принтера. Предустановленных параметров такого размера ни в свойствах принтера, ни в Paper.Size DW нет. Создавать нужные размеры листа в принтере невыгодно по вышеописанным причинам (много рабочих мест, везде нужно настроить). При неверных настройках размера области печати печать будет производиться некорректно (например, будут появляться пустые листы, или часть информации распечатается на одном листе, часть на другом). Если возможно, приведите пример использования Print Functions в моем случае, я не вижу способа, как их корректно можно применить без установки размера Paper.Size. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2007, 10:27 |
|
||
|
Установка размеров листа для печати
|
|||
|---|---|---|---|
|
#18+
признаюсь честно на нестандартных листах не проверял. можешь проверить сам положи несколько нестандартных листов и зделай переход на новую страницу. должен, по идее, выйти один лист и затянутся другой. если протянет несколько листов значит моя идея не прокатит. p.s. Вадим а ты в почту смотриш(та которая в твоем профиле. привет из ГМУСа ;) ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2007, 10:44 |
|
||
|
Установка размеров листа для печати
|
|||
|---|---|---|---|
|
#18+
принтер это девайс у которого можно взять настройки. The DeviceCapabilities function retrieves the capabilities of a printer device driver. т.е. печать, разбиение на страницы, это проблемы программы а не принтера. на сколько я понял задачу: надо печатать отчет размером 11,3 см * 22,8 см на принтер у которого размер страницы по умолчанию А4. рисуешь ДВ у которого header+detail+footer удовлетворяет размеру 11,3 см * 22,8 см. делаешь группу на каждую строку для группы ставишь св-во "new page on group break" т.о. после каждой строки ДВ у тебя на принтер посылается комманда "новая страница". далее, если надо, поиграться с ориентацией бумаги и все. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2007, 12:00 |
|
||
|
Установка размеров листа для печати
|
|||
|---|---|---|---|
|
#18+
Кажется забыли про zoom ----------------------------------------------------------------------------- Главная деталь любой машины - голова ее владельца ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2007, 12:56 |
|
||
|
Установка размеров листа для печати
|
|||
|---|---|---|---|
|
#18+
С функциями Print можно печатать все, что захочешь и как захочешь. Хоть футболку засунь в принтер. Но редактировать, конечно, удобней с DW. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2007, 13:41 |
|
||
|
Установка размеров листа для печати
|
|||
|---|---|---|---|
|
#18+
Спасибо всем за обсуждение вопроса и советы! Решение нашел достаточно простое - развернул лист на альбомную ориентацию формата A4 и подкорректировал координаты объектов. Все работает и без лишних телодвижений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2007, 15:38 |
|
||
|
|

start [/forum/topic.php?fid=15&msg=34936364&tid=1336921]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
42ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 13ms |
| total: | 142ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...