首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在Delphi中使用DeviceCapabilities检索特定打印机中的纸张名称和尺寸

在Delphi中,可以使用DeviceCapabilities函数来检索特定打印机中的纸张名称和尺寸。DeviceCapabilities函数位于WinSpool单元中,可以通过调用该函数来获取打印机的相关信息。

DeviceCapabilities函数的语法如下:

代码语言:txt
复制
function DeviceCapabilities(pDevice, pPort: PChar; fwCapability: Word;
  pOutput: PChar; DevMode: PDeviceMode): Integer; stdcall;

参数说明:

  • pDevice: 指定打印机的名称或驱动程序。
  • pPort: 指定打印机的端口。
  • fwCapability: 指定要检索的打印机功能,可以是以下常量之一:
    • DC_PAPERNAMES: 获取打印机支持的纸张名称。
    • DC_PAPERS: 获取打印机支持的纸张尺寸。
  • pOutput: 指向一个缓冲区,用于接收返回的纸张名称或尺寸。
  • DevMode: 指向一个DEVMODE结构,用于指定打印机的设置。

返回值为函数执行的结果,如果成功则返回一个大于等于0的值,表示返回的纸张名称或尺寸的数量。如果失败则返回一个小于0的值,表示错误代码。

下面是一个示例代码,演示如何使用DeviceCapabilities函数获取特定打印机的纸张名称和尺寸:

代码语言:txt
复制
var
  PrinterName: array[0..255] of Char;
  PaperNames: array[0..255] of Char;
  PaperSizes: array[0..255] of Word;
  NumPapers: Integer;
  i: Integer;
begin
  // 获取默认打印机名称
  Printer.GetPrinter(PrinterName, PrinterName, Result);

  // 获取打印机支持的纸张名称
  NumPapers := DeviceCapabilities(PrinterName, nil, DC_PAPERNAMES, PaperNames, nil);

  // 获取打印机支持的纸张尺寸
  DeviceCapabilities(PrinterName, nil, DC_PAPERS, nil, nil);
  Move(Output, PaperSizes, NumPapers * SizeOf(Word));

  // 输出纸张名称和尺寸
  for i := 0 to NumPapers - 1 do
  begin
    ShowMessage(Format('纸张名称:%s,纸张尺寸:%d mm x %d mm',
      [PaperNames[i], PaperSizes[i] div 10, PaperSizes[i] mod 10]));
  end;
end;

上述代码中,首先通过Printer.GetPrinter函数获取默认打印机的名称。然后分别调用两次DeviceCapabilities函数,第一次获取纸张名称,第二次获取纸张尺寸。最后使用ShowMessage函数输出纸张名称和尺寸。

需要注意的是,DeviceCapabilities函数返回的纸张尺寸是以0.1毫米为单位的值,因此需要将其转换为实际的毫米值。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

打印机设置(PrintDialog)、页面设置(PageSetupDialog) 及 RDLC报表如何选择指定打印机

如果一台电脑同时连接多个打印机,而且每个打印机使用纸张大小各不相同(比如:票据打印钱用小票专用张,办公打印机是A4标准纸),在处理打印类需求时,如果不用代码干预,用户必须每次打印时,都必须在弹出窗口里...可以看到,打印机设置界面里,已经包含了关于纸张尺寸纸张布局(纵向、横向)设置,所以在我看来,系统没有必要再单独提供"页面设置(PageSetupDialog)" 二、页面设置(PageSetupDialog...还有一个问题,如何在弹出这二个对话框时,默认就选中一些特定值呢?...public void SetPageSettings(PageSettings pageSettings);  利用这些信息,就足够控制RDLC打印机纸张大小了,比如要指定某台打印机打印,可以这么做...以及PrinterSettings关键信息,持久化存储起来(比如:用xml或DB),下次再进入该业务界面时,根据存储配置信息还原相关设置,这样用户只要设置一次,以后就不用每次手动切换打印机纸张类型了

3.1K70

在sap系统设置纸张打印格式(针式打印机)

方向选横向则按横向打印,当你纸张设为140*215时才可横向打印);保存退出; ?...至此就为SAP报表打印设置了针孔纸纸张打印格式,接着是在报表使用: 6、write输出方式,不需要在程序设置,只是在打印时要求用户选择“格式类型”为上面所设置“215*140”; 7、smarform...方式,在使用事务代码smartforms画表格时,在“表格属性”栏“输出选项”“页格式”选择上面所设置“215*140”即可。...8、对于针式打印机,其默认纸张都是A4,我们需要自定义一种纸张大小,定义纸张格式为215*140,实际尺寸可设置为214.5mm/139.5mm。...注意:由于SAP与针式打印机之间接口问题,如果表格线太细,打印出来表格会有时缺少部分横线竖线,纠正办法是:加粗表格表框线,最好设置到20TW

2.4K10

【知识】Latexemptmm等长度单位及使用场景

适合在需要精确对齐或符合特定打印标准文档中使用。mm, cm:适用于页面布局设计,设定页边距、列宽等。当文档需要在多种不同打印机纸张尺寸上打印时,使用公制单位可以更容易地管理预见打印效果。...in(英寸):主要用于符合美国标准文档排版,例如设置按美国常用纸张尺寸信纸)页边距。适合在需要与设备物理特性(屏幕尺寸)对齐时使用。...em:适合用于定义与文字大小密切相关尺寸缩进、列表项目前空白等。在调整UI组件(如按钮选择框)大小时非常有用,因为这样可以保持与周围文本视觉协调。...pc:适用于更传统排版场景,书籍杂志设计大块文本设置。当需要在多个页面上保持严格布局一致性时使用。sp:主要用于非常精细排版调整,通常在自动化排版脚本或宏中使用。...} b \] % 使用具体点数        这些示例显示了如何在LaTeX文档根据不同需要选择应用各种度量单位。

23010

Ttp-244标签机打印时怎么选择热敏纸

热敏热转印是两种不同打印方式,设计制作标签时候都可以使用标签制作软件,但有一些客户制作和预览时候都没有问题,打印时候打印不出来,就对标签制作软件有一些误解。...这里跟大家解释下出现这种情况原因。 打印机不同,支持纸张类型也是不一样,有的打印机对热敏热转印标签纸都是支持,有的打印机只支持热敏或者热转印。...这里建议大家打印机支持什么类型纸张,就买什么样标签纸。如果你打印机两种方式都是支持的话,在标签制作软件制作好标签之后,需要根据你标签纸设置打印方式。...可以在页面设置自定义设置纸张尺寸。 在”卷”可以设置纸张方式及类型。如果我们打印机支持是热敏纸,则在纸张设置方式设置纸张为”热敏”,反之则设置热转印。...设置好之后,在卷-类型,这是标签纸类型,:有间距标签(设置标签高度)、有标记标签、继续、使用当前打印机设置等,都是可以根据自己需求自定义进行设置

1.3K40

标签制作软件如何制作1行多列标签

使用标签制作软件制作标签时,我们需要根据标签纸实际尺寸在标签软件中进行设置。因为只有将标签纸实际尺寸跟标签软件纸张尺寸设置成一致,才能打印到相应纸张上。...2.在文档设置-请选择打印机纸张类型,可以选择需要打印机纸张选择“自定义大小”宽度为标签尺寸加上边距及间距,高度为标签纸高度。以下标签纸尺寸为自定义输入66*20。...点击下一步,设置标签尺寸及间距。标签实际尺寸按31*20输入,这里可以看到标签间距默认为2,实际尺寸相符。 再不设置其他位置及反向、画布及边线情况下,可以点击完成。...纸张及标签尺寸已经设置好了,可以在标签制作软件设计及排版了。...以上就是在标签制作软件设置一行多列标签方法,标签制作软件纸张尺寸要跟打印机首选项里面的纸张尺寸保持一致,如果打印机首选项里面没有所需尺寸,可以点击新建,新建一个标签尺寸,这里就不演示了,具体操作可以参考条码打印软件怎么自定义设置纸张尺寸

2.5K90

Ttp-244标签机打印时怎么选择热敏纸

热敏热转印是两种不同打印方式,设计制作标签时候都可以使用标签制作软件,但有一些客户制作和预览时候都没有问题,打印时候打印不出来,就对标签制作软件有一些误解。...这里跟大家解释下出现这种情况原因。 打印机不同,支持纸张类型也是不一样,有的打印机对热敏热转印标签纸都是支持,有的打印机只支持热敏或者热转印。...这里建议大家打印机支持什么类型纸张,就买什么样标签纸。如果你打印机两种方式都是支持的话,在标签制作软件制作好标签之后,需要根据你标签纸设置打印方式。...可以在页面设置自定义设置纸张尺寸。 热敏2.jpg 在”卷”可以设置纸张方式及类型。如果我们打印机支持是热敏纸,则在纸张设置方式设置纸张为”热敏”,反之则设置热转印。...热敏3.jpg 设置好之后,在卷-类型,这是标签纸类型,:有间距标签(设置标签高度)、有标记标签、继续、使用当前打印机设置等,都是可以根据自己需求自定义进行设置

1.4K60

聊一聊CSS长度单位

使用场景 那么这些属性单位怎么配合使用呢?特定属性需要使用特定单位吗?...单位虽然属性无关,但是输出媒介有一定关系,比如输出到是屏幕还是纸张。在屏幕上显示和在纸张上面打印推荐使用单位是不一样。...因为pxin关系为1in=96px, 在低分辨率设备上,1px为1像素(pixel,也是px名称由来)长度,而低分辨率屏幕上1px往往大于1/96in,所以从px计算得到其他绝对单位值都不准确...而在高分辨率设备上(现在高清屏打印机)绝对单位显示得更精确。由于以上原因,绝对单位更多是在打印时使用。 曾经,CSS要求在计算机屏幕上正确显示绝对单位。...em可以用于控制尺寸,比如margin: 1em; text-indent:1.5em,此时这些尺寸元素字体大小相关,因此在大屏幕上(字体尺寸较大)小屏幕上(字体尺寸较小)会等比缩放,因此em可以用于响应式设计

1K70

HP打印机维修资料大全(续)

使用驱动程序不符合IEEE-1284标准时,会发生本错误。为获得最佳性能,请使用打印机所带HP驱动程序。按[执行]键清除出错信息。(数据将丢失。)...确保打印机控制面板I/O菜单中选择了正确串行定步选项。。打印菜单图,校验串行定步项目(从打印机控制面板I/O菜单)与计算机设置匹配。(有关接口设置更多信息,参见用户手册。)...41.3 UNEXPECTED PAPER SIZE 所用纸张尺寸与纸盘设置不一致。确保所有纸盘尺寸设置正确。纸盘前部显示尺寸必须与装入纸盘纸张尺寸相吻合。...(打印机将在尺寸设置正确后才继续试打印作业。)如果用纸盘1打印,确保打印机控制面板纸张尺寸配置正确。执行以上操作后,按[执行]键。出错页将自动重印。...(如果该信息仅对某一特定软件应用程序或打印作业出现,向软件厂商寻求帮助。)如果该信息对不同软件应用程序打印作业均出现,记录出现数字(xxxx)并与HP授权服务或支持提供者联系。

1.1K20

立象Argox OX- 100条码机如何打印标签

可以根据你打印机型号,在网上搜一下对应出厂设置及自校验方法。 2.打开条码打印软件,点击新建,在文档设置-打印机纸张及类型打印机选择Argox OX- 100条码机。...在纸张中,自定义设置一下纸张尺寸。然后在布局设置一下行数列数、页面边距、在标签尺寸及间距设置一下标签尺寸及间距、再不设置起始位置及方向、画布及边线情况下,点击完成。...最终效果如图所示: 标签制作好之后,可以直接连接打印机进行打印,如果出现打印偏移或者打印不全情况,你可以检查下软件里面的纸张设置是否跟打印机首选项里面的纸张设置保持一致,如果打印机首选项里面的纸张设置没有你需求尺寸...,你可以点击新建,根据你标签尺寸新建一个尺寸 在卷可以设置一下标签感应器,如果标签有间距,在标签感应器中选择标签间距,如果没有,可以不用选,设置好之后,点击确定。...如果在打印机首选项中标签尺寸设置条码软件一致,还是打印偏移的话,可能是打印机没有正确识别纸张,建议你做一下打印机自校验(根据你打印机型号,在网上搜一下对应校验方法,做打印机自校验)。

1.7K20

如何精准地用打印机在贺卡或邀请函上打字

那么如何打印以便让所有文字内容都对应到贺卡或邀请函正确空位上,还是有些难度。 本文将教你如何在毫米级别将文字精准地打印到贺卡或邀请函上。...(那种不会将纸卷起来类型) 一张 A4 纸 一支笔 第一步:准备打印机纸张 取一张 A4 纸,将邀请函放置于 A4 纸任意一角。...现在,我们要么调整文档方向,要么调整打印机纸张方向。为了之后对齐文字直观,我们当然应该选择调整打印机纸张方向。 于是,请重新将刚刚打印纸放回打印机,但是我们预期邀请函方向就变化了: ?...以后对于同款打印机,你可以不用再尝试了,直接使用这一次调试结果: 记住这次邀请函在纸张位置方向 记住这次 Word 文档邀请函位置 精确对齐邀请函占位符 现在,准备好你尺子,把邀请函放到打印纸上...▲ 测量出每一个占位符位置 在测量过程,不断对应到 Word 文档相应位置。(注意到我们一开始打开了 Word 文档厘米标注吗?就是为了与物理尺寸对齐。) ?

11.1K10

在得力条码打印机怎么设置双排标签纸

据我了解,得力好像是一款常见打印机品牌,在打印机设置双排标签的话需要一个专业标签设计软件,然后在标签设计软件中进行排版及添加内容。...具体设置双排标签纸操作方法如下: 1.打开标签设计软件,点击”新建”,在文档设置-打印机纸张类型,选择你需要打印机,然后根据你纸张类型,在纸张中自定义设置一下纸张尺寸。...3.点击”下一步”,在页面边距,设置一下左右边距各为1(根据标签纸实际尺寸进行设置), 4.点击”下一步”,设置一下标签尺寸及间距。...标签信息添加完成之后,可以点击软件上方工具栏”打印预览”,看预览效果,预览没有问题的话,可以直接连接得力打印机进行打印。...以上就是在标签设计软件设置双排操作步骤,如果你使用条码打印软件也是你打印机(得力条码软件)自带,无法设置双排的话,可以考虑下载条码标签打印软件,进行试用。

2.7K10

C# 打印PDF文档10种方法

前言 操作PDF文档时,打印是常见需求之一。针对不同打印需求,可分多种情况来进行,设置静默打印、指定打印页码范围打印纸张大小、双面打印、黑白打印等等。...在程序添加引用Spire.Pdf.dll,dll文件在安装路径下bin文件夹。 2、通过Nuget网站下载。...该方法是根据A4纸标准尺寸595pt*842pt对PDF页面进行拆分,超过该大小页面,打印时其超过部分将会被打印到下一张纸。...pdf.PrintSettings.SelectSplitPageLayout(); pdf.Print() 10、自定义纸张大小打印PDF 1、使用虚拟打印机自定义纸张大小打印:保持原来页面大小打印到...doc.PrintSettings.SelectSinglePageLayout(PdfSinglePageScalingMode.FitSize, true); //打印 doc.Print(); 2、使用真实打印机设置纸盒中纸张大小打印

2.6K50

Spread for Windows Forms高级主题(7)---自定义打印外观

当你执行打印操作时,你将一个特定表单发送给使用这些设置打印机。如果你想为不同表单使用不同打印设置,那么你可能需要重置PrintInfo对象,然后在表单打印间隔内做必要修改。...PaperSource 获取或设置所使用纸张来源。 Preview 用来提供打印预览。 Printer 获取或设置用来打印打印机名称。 PrintNotes 获取或设置是否打印单元格注释。...你可以在任意支持Windows打印机上打印表单。 你可以自定义打印作业设置项包括打印机纸张来源、以及纸张大小。...使用PrintInfo类 Header属性 Footer属性,可能包含特殊控制指令,你可以指定文本变量,页数,也可以指定字体设置。与字体相关指令以"f"开头。...你也可以检索到表单位于分页符后下一行或列。要查看已经设置分页符,使用GetRowPageBreaks方法返回行分页符数量,使用GetColumnPageBreaks方法返回列分页符数量。

3.4K70

ZMIN XII条码机怎么设置流水号

我现在用条码软件对于可以在windows系统上安装条码机都是可以连接打印,条码软件设置流水号具体步骤如下: 1.打开条码软件,设置一下纸张标签尺寸(这里以1排2列标签,间距为2,左右边距为1...点击“新建”,在文档设置-打印机纸张类型,自定义设置一下纸张尺寸为66*19。 流水号1.jpg 点击”下一步”,设置一下标签行列,这里设置行列为1行2列。...再点击”下一步”设置标签尺寸及间距,这里输入标签实际尺寸为31*19,这时可以看到标签间距默认为2,再不设置其他情况下,点击完成。...流水号4.jpg 设置好之后,可以点击软件上方工具栏”打印预览”,看下预览效果,没有问题的话,可以直接连接条码机或者打印机进行打印。...流水号5.jpg 以上就是在条码软件设置流水号步骤,是不是很简单,条码软件各种打印机通用,要想使用哪个条码机或者打印机,首选要确保你电脑上有对应打印驱动,这样的话,才可以直接连接ZMIN XII

70300

佳博打印机如何设置热敏打印

现在市场上标签纸种类比较多,如果你打印机适合哪种标签纸,你需要在你打印机上安装对应标签纸即可,这里以佳博打印机安装热敏纸为例,首选需要在打印机上安装热敏纸,安装位置要是热敏打印位置。...安装好之后,再在打印机首选项中进行设置,具体操作如下: 点击开始-设备打印机,弹出设备打印机对话框,在对话框中找到佳博打印机。...在打印机设置好之后,打开条码打印软件,点击新建,或者文件-新建,弹出文档设置对话框,在文档设置-打印机类型及纸张中,在打印机下拉列表中选择你需要打印机,然后在纸张中自定义设置一下纸张大小。...然后文档设置-布局设置一下标签行数列数、上下左右页面边距以及标签间距等,再不设置顺序、页码、区间、光标、画布情况下,点击完成。具体操作可以参考:条码打印软件怎么自定义设置纸张尺寸。...实际上在打印机上安装好热敏纸之后,打印机自检一下就可以识别热敏了。 如果打印机不能自动识别的话,可以在打印机首选项手动进行设置。

3.2K30

实践-佳博蓝牙打印机打印实现

前言 最近项目中使用到了打印机,最后总算打印出自己想要打印数据了,还算不错,做一个小结吧,希望对需要朋友有些帮助。...---- 打印机 我们使用打印机是 《佳博ZH3080条码打印蓝牙标签机.....》...,特殊说明一下,我使用是标签模式(有标签模式小票模式),而且使用标签模式时候,如果打印机纸比较窄的话,每次打印,打印机都会回退纸张,这样就无法使用了,因为每次都是贴着边缘撕纸,回退的话,纸就出不来了...Paste_Image.png 步骤 链接上打印机 组装要打印数据 设置打印机参数 执行打印 步骤解析源码示例 链接打印机 ?...CBController 实现文件 .m是封装到SDK,我们不得而知,但是这里用到继承是为了 获取CBController 方法全局变量,下面会解释 @interface ConnectViewController

3.7K20

条码打印软件中标签预览正常打印无反应怎么解决

使用条码打印软件制作标签时,有客户反馈,标签打印预览正常,但是打印无反应,咨询是怎么回事?今天针对这个情况,可以参考以下方法进行解决。...一、预览正常情况下,打印没反应 (1)在条码打印软件设计好标签之后,打印预览没有问题的话,是可以直接连接条码打印机进行打印。...在电脑上点击开始-设备打印机,在所需打印机右击-打印机属性,在打印机属性-常规窗口下,点击打印测试页,看下是否正常出纸. (3)测试页正常打印,标签打印没反应。...可以检查条码打印软件纸张尺寸是否跟条码打印机实际尺寸一致。或者检查条码软件纸张设置是否出现了负数。 二、打印预览不正常 (1)在条码打印软件设计好标签之后,点击打印预览,出现空白页。...以上就是解决条码打印软件预览正常,打印无反应操作教程。如果在使用条码打印软件遇到这种问题,可以按照以上步骤进行操作。想要了解关于软件更多操作技巧,可以到条码打印软件查询。

2.5K20

惠普打印机如何调整条码宽度

最近有朋友咨询,是否可以直接在惠普打印机调整条形码尺寸,如果一定要修改条形码尺寸,可以在专业条码软件里面进行调整。...因为有的打印机自带条码软件,但是对条码尺寸有限制,不能进行修改,需要用到第三方软件,在第三方条码打印软件对条码尺寸进行设置,下面给大家介绍下专业条码软件调整条形码尺寸操作步骤: 1.打开条码软件,...设置一下纸张标签尺寸。...惠普2.jpg 也可以双击条形码,在图形属性-基本里面来手动设置条形码宽度高度。...惠普3.jpg 以上就是在条码软件调整条形码尺寸两种方法,可以根据自己需求选择最方便方式,在软件中生成条形码之后,可以连接惠普打印机进行打印,有关打印选择纸张设置方面的问题,可以参考ZMIN

1K40

打印标签时如何解决打印偏移

我们在打印标签时,使用纸张一般都是不干胶卷纸,这样卷纸又有单排、双排、三排四排规格。这些不同规格标签纸在条码打印中经常会出现打印偏移问题,甚至会跳纸,遇到这样情况该如何调整呢?...01.png 小编办公桌上有一台TSCTTP-244 Pro打印机,里面装是三排标签纸,尺寸是30*10mm,可以打印条形码或者小标签。下面就以这台打印机为例来介绍。...首先确认软件设置标签大小打印机纸张是否一致。...然后矫正纸张并测试纸张:关闭打印机(开关在打印机后右侧),左手按住PAUSE键(上面的那个按键)不放,右手开启打印机开关,等到机器一开始吐纸松开左手按键,机器开始走纸,直到停止走纸,才算测纸完毕;...02.jpg 打开条码标签软件,使用条码工具在画布上绘制一个条形码。

2K60

打印流水号文字(递增、递减)

标签文件批量打印,常以流水号(序列号)文字来区分标签,以实现标签唯一性。最简单“递增”流水号样式:0001、0002、0003、0004......下面来具体演示一下制作过程: 一、启动Label mx条码软件,在新建标签窗口中设置标签纸张尺寸,这里采用默认值,点击“确定”按钮。...二、点选文字工具,在页面拖拉画出一个文字,默认是000001,可以点击“文字属性”按钮或双击文字弹出文字窗口,修改字体、字号、颜色、文字内容等, 在属性栏下方数据选项里勾选“流水号”选项,采用默认流水参数...四、点击“打印预览”按钮预览流水号效果: 怎么样,是不是很简单,标签尺寸改成需要大小、文字改成要求起始号就可以实现您要求了,下面对流水号各个参数做详细说明: ★进制:默认为10进制(0~9...确定后,在打印机窗口里选择“打印机名称, 点击“确认”按钮就可以批量打印流水号了。

84050
领券