社区
资源
帖子详情
如何使用打印机DEVMODE结构中的dmPaperSize
jiabin_007
2009-12-29 04:34:34
我本意是想要获得DEVMODE结构中的dmPaperLength和dmPaperWidth。
但是,在提取某款打印机的默认devmode值时,它的dmPaperSize不为0,dmPaperLength和dmPaperWidth为0。
我如何才能根据dmPaperSize的值获得纸张的长和宽呢?
望大侠帮忙!!!
...全文
960
8
打赏
收藏
如何使用打印机DEVMODE结构中的dmPaperSize
我本意是想要获得DEVMODE结构中的dmPaperLength和dmPaperWidth。 但是,在提取某款打印机的默认devmode值时,它的dmPaperSize不为0,dmPaperLength和dmPaperWidth为0。 我如何才能根据dmPaperSize的值获得纸张的长和宽呢? 望大侠帮忙!!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
jiabin_007
2009-12-31
打赏
举报
回复
找到答案了,应该用DeviceCapabilities来寻找打印机支持的纸张规格。
孤独剑_LPZ
2009-12-30
打赏
举报
回复
呵呵,顶老鸟
jiabin_007
2009-12-30
打赏
举报
回复
[Quote=引用 6 楼 tiger_zhao 的回复:]
这只是在打印机有多种规格纸张是优先选择,并不表示当前实际纸张规格。
[/Quote]
在程序里,我在做打印预览前,提取了打印机驱动的信息。
在devmode结构体中,dmPaperSize值是9,对应的规格是DMPAPER_A4 A4 Sheet, 210 by 297 millimeters。
但是,在预览时显示的纸张是长条形的,我估计是按51*290mm和57*297mm两种选项显示预览的。
我想可不可以把“纸张规格”51*290mm和57*297mm两种选项在程序中提取出来呢?
Tiger_Zhao
2009-12-30
打赏
举报
回复
这只是在打印机有多种规格纸张是
优先
选择,并不表示
当前
实际纸张规格。
jiabin_007
2009-12-30
打赏
举报
回复
[Quote=引用 4 楼 tiger_zhao 的回复:]
什么的打印预览?
设备(打印机)的属性是实际使用的纸张大小,而打印预览中的大小为需要输出内容的大小,两者可以不匹配。
比如你可以用实际 A3 纸张打印 A4 大小的内容。
[/Quote]
我的打印机驱动是BTP-2001CP(S),
在打印机属性的“打印默认值”中有个“高级”选项,里面限定了“纸张规格”是51*290mm和57*297mm两种选项。(我只安装了驱动,并没有连接打印机)
在程序中,我怎么才能提取到这个51*290和57*297呢?
麻烦大哥了!
Tiger_Zhao
2009-12-30
打赏
举报
回复
什么的打印预览?
设备(打印机)的属性是实际使用的纸张大小,而打印预览中的大小为需要输出内容的大小,两者可以不匹配。
比如你可以用实际 A3 纸张打印 A4 大小的内容。
jiabin_007
2009-12-30
打赏
举报
回复
谢谢一楼!
我得到的dmPaperSize是DMPAPER_A4 A4 Sheet, 210 by 297 millimeters
但是在打印预览的时候,纸张却是53*297的,这个值可以在打印机驱动的“页面设置”的“纸张规格”中看到,为什么它和dmPaperSize不一致呢,如何可以取得这个值呢?
Tiger_Zhao
2009-12-29
打赏
举报
回复
dmPaperSize 对应不同的纸张,都有固定的大小
[Quote=MSDN:]
DMPAPER_LETTER Letter, 8 1/2 by 11 inches
MPAPER_LEGAL Legal, 8 1/2 by 14 inches
DMPAPER_A4 A4 Sheet, 210 by 297 millimeters
DMPAPER_CSHEET C Sheet, 17 by 22 inches
DMPAPER_DSHEET D Sheet, 22 by 34 inches
DMPAPER_ESHEET E Sheet, 34 by 44 inches
DMPAPER_LETTERSMALL Letter Small, 8 1/2 by 11 inches
DMPAPER_TABLOID Tabloid, 11 by 17 inches
DMPAPER_LEDGER Ledger, 17 by 11 inches
DMPAPER_STATEMENT Statement, 5 1/2 by 8 1/2 inches
DMPAPER_EXECUTIVE Executive, 7 1/4 by 10 1/2 inches
DMPAPER_A3 A3 sheet, 297 by 420 millimeters
DMPAPER_A4SMALL A4 small sheet, 210 by 297 millimeters
DMPAPER_A5 A5 sheet, 148 by 210 millimeters
DMPAPER_B4 B4 sheet, 250 by 354 millimeters
DMPAPER_B5 B5 sheet, 182-by-257-millimeter paper
DMPAPER_FOLIO Folio, 8-1/2-by-13-inch paper
DMPAPER_QUARTO Quarto, 215-by-275-millimeter paper
DMPAPER_10X14 10-by-14-inch sheet
DMPAPER_11X17 11-by-17-inch sheet
DMPAPER_NOTE Note, 8 1/2 by 11 inches
DMPAPER_ENV_9 #9 Envelope, 3 7/8 by 8 7/8 inches
DMPAPER_ENV_10 #10 Envelope, 4 1/8 by 9 1/2 inches
DMPAPER_ENV_11 #11 Envelope, 4 1/2 by 10 3/8 inches
DMPAPER_ENV_12 #12 Envelope, 4 3/4 by 11 inches
DMPAPER_ENV_14 #14 Envelope, 5 by 11 1/2 inches
DMPAPER_ENV_DL DL Envelope, 110 by 220 millimeters
DMPAPER_ENV_C5 C5 Envelope, 162 by 229 millimeters
DMPAPER_ENV_C3 C3 Envelope, 324 by 458 millimeters
DMPAPER_ENV_C4 C4 Envelope, 229 by 324 millimeters
DMPAPER_ENV_C6 C6 Envelope, 114 by 162 millimeters
DMPAPER_ENV_C65 C65 Envelope, 114 by 229 millimeters
DMPAPER_ENV_B4 B4 Envelope, 250 by 353 millimeters
DMPAPER_ENV_B5 B5 Envelope, 176 by 250 millimeters
DMPAPER_ENV_B6 B6 Envelope, 176 by 125 millimeters
DMPAPER_ENV_ITALY Italy Envelope, 110 by 230 millimeters
DMPAPER_ENV_MONARCH Monarch Envelope, 3 7/8 by 7 1/2 inches
DMPAPER_ENV_PERSONAL 6 3/4 Envelope, 3 5/8 by 6 1/2 inches
DMPAPER_FANFOLD_US US Std Fanfold, 14 7/8 by 11 inches
DMPAPER_FANFOLD_STD_GERMAN German Std Fanfold, 8 1/2 by 12 inches
DMPA PER_FANFOLD_LGL_GERMAN German Legal Fanfold, 8 1/2 by 13 inches
[/Quote]
打印
DEVMODE
结构
体 简述
DEVMODE
结构
具有如下形式:typedef struct _devicemode{ /* dvmd */ TCHAR dmDeviceName[32]; WORD dmSpecVersion; WORD dmDriverVersion; WORD dmSize; WORD dmDriverExtra; DWORD dmField
VFP下
打印机
的设置编程
VFP下
打印机
的设置编程2008-09-29 13:03VFP本身提供了部分相关
打印机
的数据返回函数以及部分设置项,但在
打印机
的直接控制方面没有提供相应的策略,这里从分析
打印机
的
Devmode
和PRINTER_INFO_2的
结构
来详细说明一下VFP
打印机
的相关操作编程。首先看下
打印机
的基本数据
结构
Devmode
:Private Type
DEVMODE
dmDevic
在C#
中
定义
DEVMODE
DEVMODE
数据
结构
中
包含了有关设备初始化和
打印机
环境的信息。在C#
中
定义
DEVMODE
结构
: [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Auto)] public struct
DEVMODE
{ [MarshalAs(UnmanagedType.ByValTStr...
Devmode
结构
DEVMODE
结构
具有如下形式: typedef struct _devicemode { /* dvmd */ TCHAR dmDeviceName[32]; WORD dmSpecVersion; WORD dmDriverVersion; WORD dmSize; WORD dmDriverExtra; DWORD dmFields
DEVMODE
定义设备对象
DEVMODE
(
DEVMODE
数据
结构
中
包含了有关设备初始化和
打印机
环境的信息) |
DEVMODE
创建设备场景用的
结构
,存放有关设备初始化和
打印机
环境的信息.| 成员名 类型 传址 数组 备注 dmDeviceName 文本型 32 指定驱动程序支持的设备名称. dmSpecVersion 整数型 指定初始化数据规范的版本号. 该
结构
是基于这些初始化数据...
资源
1,066
社区成员
6,496
社区内容
发帖
与我相关
我的任务
资源
VB 资源
复制链接
扫一扫
分享
社区描述
VB 资源
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章