作者gary22675129 (冈)
看板C_and_CPP
标题[问题] C++ 如何更变印表机预设纸张大小
时间Mon Dec 21 21:40:48 2015
开发平台(Platform): (Ex: VC++, GCC, Linux, ...)
VC++
我试着在createDC里面丢DEVMODE来设定大小
但印出来的纸张长度还是跟预设的一样
这个试了好几天了还是没用
跪求大神帮忙解难题
程式码(Code):(请善用置底文网页, 记得排版)
#include<windows.h>
#include<Wingdi.h>
#include<Winspool.h>
#include<iostream>
using namespace std;
前头有引入
https://support.microsoft.com/en-us/kb/167345的子集合
int main(){
SetDefaultPrinter("NEC Pinwriter P2200");
HANDLE gPrinter;
OpenPrinter("NEC Pinwriter P2200",&gPrinter,NULL);
DOCINFO kk={0};
kk.cbSize=sizeof(DOCINFO);
kk.lpszDocName="报表";
kk.lpszOutput="";
kk.fwType=0;
HDC gHDC=0;
gHDC = CreateDC(
NULL,
"NEC Pinwriter P2200",
NULL,
GetLandscapeDevMode((HWND)gPrinter,"NEC Pinwriter P2200")
);
StartDoc(gHDC,&kk);
StartPage(gHDC);
HFONT hFont;
hFont=CreateFont(30,0,0,0,FW_BOLD,0,0,0,0,0,0,2,0,"SYSTEM_FIXED_FONT");
SelectObject(gHDC,hFont);
TextOut(gHDC,300,63,"中文",4);
EndPage(gHDC);
EndDoc(gHDC);
system("PAUSE");
return 0;
}
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 124.218.65.102
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1450705253.A.A9D.html
1F:→ testPtt: 挂.net比较容易 12/21 23:27
2F:推 stupid0319: GetLandscapeDevMode後,你没有去改DEVMODE 内容吧 12/22 00:02
3F:→ gary22675129: Stupid大 我把step2的部分删掉双面列印 改成纸张长 12/22 10:25
4F:→ gary22675129: 度&宽度唷 12/22 10:25
5F:→ gary22675129: Testptt大 请教.net是什麽 小弟初学VC++ 都靠MSDN 12/22 10:27