Просматривают:
2 Анонимно
Custom Page Size |
||
|
||
---|---|---|
Пользователь 2 уровня
Присоединился:
2008/2/4 10:01 Откуда Москва
Сообщений: 49
|
Доброго дня Всем !!!
помогите разобраться... Есть желание печатать Custom Page Size, но не получается принтеру назначить тот размер который нужно ....например получить список принтеров это пожалуста, выбрать нужный тоже ...посмотреть текущий размер тоже можно.... а КАК Установить свой размер? Private Sub Command1_Click() List1.Clear For Each objPrinter In Printers List1.AddItem objPrinter.DeviceName If objPrinter.DeviceName = "Adobe PDF" Then Text4.Text = objPrinter.DeviceName Dim W Dim H W = objPrinter.Width * 1.7636684303351E-03 * 10 H = objPrinter.Height * 1.7636684303351E-03 * 10 W = Round(W, 2) H = Round(H, 2) Text3.Text = W Text5.Text = H End If Next End Sub Private Sub Command2_Click() установить в принтер новые парамтры (размеры) ??? objPrinter.Width = ??? ??? objPrinter.Height = T??? End Sub
Опубликовано: 2010/3/22 17:51
Edited by GoodvinVV on 22/03/2010 18:41:53
|
|
|
Re: Custom Page Size |
|
---|---|---|
Титан
Присоединился:
2005/10/2 14:57 Откуда Москва
Сообщений: 6779
|
GoodvinVV
вы об чем молчел? у любого принтера есть адд кастом сайз накой все эти сложные скриптули?
Опубликовано: 2010/3/23 0:31
|
|
_________________
[икс́эм] |
||
|
Re: Custom Page Size |
|
---|---|---|
Пользователь 2 уровня
Присоединился:
2008/2/4 10:01 Откуда Москва
Сообщений: 49
|
.....как вбить Custom ручками меня не интересует я этим по 50-100 раз в день .... а мне нужно програмно ибо ручками (каждый раз новые размеры) много времени тыркать диалог принтера однако.
поэтому и "скриптули"
Опубликовано: 2010/3/23 9:40
|
|
|
Re: Custom Page Size |
|
---|---|---|
Титан - модератор
Присоединился:
2006/4/8 19:42 Сообщений: 152
|
нужно будет писать через winapi, иначе никак. Кури гуглы, должны быть примеры, я пользовал только чтение отступов:
Sub GetPrinterMargins(Optional L#, Optional t#, Optional r#, Optional b#) Const PhysicalOffsetX& = 112, PhysicalOffsetY& = 113, PhysicalWidth& = 110, PhysicalHeight& = 111, _ HorzRES& = 8, VertRES& = 10, HorzSIZE& = 4, VertSIZE& = 6, _ LogPixelsX& = 88, LogPixelsY& = 90 Dim dpiX#, dpiY#, W#, H#, hDC&, s$ s = Printers.Default.Name hDC = CreateDCW(StrPtr("WINSPOOL"), StrPtr(s), 0, ByVal 0&) If hDC = 0 Then Exit Sub dpiX = GetDeviceCaps(hDC, LogPixelsX): If dpiX = 0 Then Exit Sub dpiY = GetDeviceCaps(hDC, LogPixelsY): If dpiY = 0 Then Exit Sub L = ConvertUnits(GetDeviceCaps(hDC, PhysicalOffsetX) / dpiX, cdrInch, p_impUnit) t = ConvertUnits(GetDeviceCaps(hDC, PhysicalOffsetY) / dpiY, cdrInch, p_impUnit) W = ConvertUnits(GetDeviceCaps(hDC, PhysicalWidth) / dpiX, cdrInch, p_impUnit) H = ConvertUnits(GetDeviceCaps(hDC, PhysicalHeight) / dpiY, cdrInch, p_impUnit) r = W - ConvertUnits(GetDeviceCaps(hDC, HorzRES) / dpiX, cdrInch, p_impUnit) - L b = H - ConvertUnits(GetDeviceCaps(hDC, VertRES) / dpiY, cdrInch, p_impUnit) - t DeleteDC hDC marginTop = t: marginBottom = b: marginLeft = L: marginRight = r With chMargins hDC = InStr(.Caption, "(") .Caption = RTrim$(Left$(.Caption, IIf(hDC = 0, 99, hDC - 1))) & " (" & s & ")" .ControlTipText = "Top: " & RoundUnit(t, p_impUnit) & "; Left: " & RoundUnit(L, p_impUnit) & _ "; Right: " & RoundUnit(r, p_impUnit) & "; Bottom: " & RoundUnit(b, p_impUnit) & _ " — using default system printer: " & s End With End Sub
Опубликовано: 2010/3/23 10:26
|
|
|
Re: Custom Page Size |
|
---|---|---|
Пользователь 2 уровня
Присоединился:
2008/2/4 10:01 Откуда Москва
Сообщений: 49
|
вот, нашел примерчик, не совсем то , что хотелось бы.... мудрёный очень...кто поможет разобраться?
http://www.planet-source-... пример моей тестовой формы и cod Private Sub Command1_Click() List1.Clear For Each objPrinter In Printers List1.AddItem objPrinter.DeviceName If objPrinter.DeviceName = "Adobe PDF" Then Text4.Text = objPrinter.DeviceName Dim W Dim H W = objPrinter.Width * 1.7636684303351E-03 * 10 H = objPrinter.Height * 1.7636684303351E-03 * 10 W = Round(W, 2) H = Round(H, 2) Text3.Text = W Text5.Text = H End If Next End Sub Private Sub Command2_Click() установить в принтер новые парамтры (размеры) ??? ??? ??? ??? End Sub
Опубликовано: 2010/3/23 17:37
Edited by GoodvinVV on 23/03/2010 18:34:28
Edited by GoodvinVV on 23/03/2010 18:37:10 Edited by GoodvinVV on 23/03/2010 18:38:01 Edited by GoodvinVV on 23/03/2010 22:39:03 Edited by GoodvinVV on 23/03/2010 22:42:06 |
|
|
Re: Custom Page Size |
|
---|---|---|
Guest_
|
Был жуткий затрах с этой темой.
В итоге как вышло у меня: Юзер жмёт печатать. ППД файл заменяется с подменой скажем А4 страницы нужными размерами. PrintSettings натравливаются на этот кастомный размер. Выводится диалог на печать.
Опубликовано: 2011/9/22 12:55
|
|