📄 prt.cpp
字号:
#include "stdafx.h"
#include "prt.h"
//#include <winspool.h>
#include "stdio.h"
FILE * hPrn;
int PrnType;
extern int iDirect;
//打印机型号
//CSI [ / Pn t参数Pn=0,1... 选择打印机型号,
//凡是以点阵或图象方式打印的都需选择确定的某种打印机。
int PrintType()
{
return 0;
}
//有无换页符
//CSI ?18h 打印完毕后终端附加换页符给打印机
//CSI ?18l 打印完毕后终端不作附加处理
int PrintLFChar()
{
return 0;
}
//图象放大系数
//CSI /Pn X参数Pn=1,2,3,4 屏幕图象打印时,选择放大打印的倍数.
int PrintImageMult()
{
return 0;
}
//打印区域
//CSI ?19h 打印整屏
int PrintAll()
{
return 0;
}
//CSI ?19l 打印滚动区域
int PrintPart()
{
return 0;
}
//代码打印
//CSI / 22h 全部内容使用打印机字库打印文本
int PrintCode()
{
return 0;
}
//点阵打印
//CSI/ 22lCSI / 21l 全部内容使用终端字库打印文本
int PrintLattice()
{
return 0;
}
//快速打印
//CSI / 22l 西文使用打印机字库,
//CSI / 21h 中文使用终端字库打印文本
int PrintQuick()
{
return 0;
}
//字体放大
//CSI / 0W 点阵字体正常
int PrintFontNormal()
{
return 0;
}
//CSI / 1W 点阵字体横放
int PrintFontW()
{
return 0;
}
//CSI / 2W 点阵字体纵放
int PrintFontH()
{
return 0;
}
//CSI / 3W 点阵字体纵横放
int PrintFontWH()
{
return 0;
}
//横向点阵基数
//CSI / 23l 横向点阵16
int PrintWBase16()
{
return 0;
}
//CSI / 23h 横向点阵24
int PrintWBase24()
{
return 0;
}
//行间距
//CSI / 0 U 字符行间距0点
int PrintRowD0()
{
return 0;
}
//CSI / 1 U 字符行间距2点
int PrintRowD1()
{
return 0;
}
//CSI / 2 U 字符行间距4点
int PrintRowD2()
{
return 0;
}
//CSI / 3 U 字符行间距6点
int PrintRowD3()
{
return 0;
}
//列间距
//CSI / 0 V 字符列间距0点
int PrintColD0()
{
return 0;
}
//CSI / 1 V 字符列间距2点
int PrintColD1()
{
return 0;
}
//CSI / 2 V 字符列间距4点
int PrintColD2()
{
return 0;
}
//CSI / 3 V 字符列间距6点
int PrintColD3()
{
return 0;
}
//打印方式****************************************
//屏幕打印
//ESC[ i
//把当前屏幕内容按文本或图象方式传送到打印机,结束后自动退出。
int PrintScreen()
{
return 0;
}
//打印光标行
//ESC[ 1i
//把当前光标所在行的内容按文本方式传送到打印机,结束后自动退出。
int PrintCursorRow()
{
return 0;
}
//拷贝打印
//把主机按显示格式(不含打印机命令)逐行传送的内容一边显示一边打印,在点阵打印方式下,可用控制显示格式的命令来控制打印格式。
//ESC[ ? 5 i 开
int PrintCopyOpen()
{
return 0;
}
//ESC[ ? 4 i 关
int PrintCopyClose()
{
return 0;
}
//直接透明打印
//除了退出命令外,把主机传送的内容全透明地送到打印机,即主机直接控制打印机,传送的内容不影响屏幕。
//ESC[5 i
int PrintDritTransOpen1()
{
/* PRINTER_INFO_2 pInfo[20];
DWORD dwBytes,dwPrn;
BOOL bRet;
dwPrn=0;
bRet=EnumPrinters(PRINTER_ENUM_DEFAULT,NULL,2,(LPBYTE)&pInfo,sizeof(pInfo),&dwBytes,&dwPrn);
if (bRet==0 || dwPrn==0)
return 1;
else
bRet=OpenPrinter(pInfo[0].pPrinterName, &hPrn,NULL);
*/
iDirect=2;
PrnType=1;
hPrn=fopen("LPT1:","w");
return 0;
}
int PrintDritTransOpen2()
{
/* PRINTER_INFO_2 pInfo[20];
DWORD dwBytes,dwPrn;
BOOL bRet;
dwPrn=0;
bRet=EnumPrinters(PRINTER_ENUM_DEFAULT,NULL,2,(LPBYTE)&pInfo,sizeof(pInfo),&dwBytes,&dwPrn);
if (bRet==0 || dwPrn==0)
return 1;
else
bRet=OpenPrinter(pInfo[0].pPrinterName, &hPrn,NULL);
*/
iDirect=2;
PrnType=2;
hPrn=fopen("LPT1:","w");
return 0;
}
int PrintDritTransOpen3()
{
/* PRINTER_INFO_2 pInfo[20];
DWORD dwBytes,dwPrn;
BOOL bRet;
dwPrn=0;
bRet=EnumPrinters(PRINTER_ENUM_DEFAULT,NULL,2,(LPBYTE)&pInfo,sizeof(pInfo),&dwBytes,&dwPrn);
if (bRet==0 || dwPrn==0)
return 1;
else
bRet=OpenPrinter(pInfo[0].pPrinterName, &hPrn,NULL);
*/
iDirect=2;
PrnType=3;
hPrn=fopen("LPT1:","w");
return 0;
}
//ESC[4 i
int PrintDritTransClose()
{
return 0;
}
//间接透明打印
//不显示的拷贝打印,即用控制显示的方式来控制打印。
//ESC[7 i
int PrintInDritTransOpen()
{
return 0;
}
//ESC[6 i
int PrintInDritTransClose()
{
return 0;
}
//打印数据
int PrintData(char * szData)
{
/* DOC_INFO_1 di1;
DWORD dwBytes;
di1.pDatatype=NULL;
di1.pDocName="aaa";
di1.pOutputFile=NULL;
StartDocPrinter(hPrn,1,(LPBYTE)&di1);
StartPagePrinter(hPrn);
WritePrinter(hPrn,LPVOID(szData),strlen(szData),&dwBytes);
EndPagePrinter(hPrn);
EndDocPrinter(hPrn);
*/
fprintf(hPrn,szData);
return 0;
}
//关闭打印机
int ClosePrn()
{
// ClosePrinter(hPrn);
fclose(hPrn);
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -