VC 输出打印机

vc将文件送入指定的打印机(根据打印机名) <br />如下:<br /> <br />BOOL PTKT_SendFiletoPrinter(LPCSTR pPrinterName, LPCSTR pFilePath){ if(pPrinterName == NULL || pFilePath == NULL) return FALSE; DWORD tFileSize = 0; DWORD tReadFileSize = 0; char * tBuf = NULL; HANDLE tPrinter = NULL; 阅读详情

建议使用OFFICE 里面的 MS Office Document Imaging 测试。在打印-》选择打印机时选择MS Office
Document Imaging writer,即可看到打印效果。

BOOL PrintListCtrl()
{
    PRINTDLG pd;
    pd.lStructSize = sizeof(PRINTDLG);
    pd.Flags = PD_RETURNDC;
    pd.hDC = NULL;
    pd.hwndOwner = NULL;
    pd.hInstance = NULL;
    pd.nMaxPage = 1;
    pd.nMinPage = 1;
    pd.nFromPage = 1;
    pd.nToPage = 1;
    pd.nCopies = 1;
    pd.hDevMode = NULL;
    pd.hDevNames = NULL;
    //显示打印对话框,由用户来设定纸张大小等。
    if(!PrintDlg(&pd)) return FALSE;
    ASSERT(pd.hDC!=NULL);
    int nHorRes = GetDeviceCaps(pd.hDC, HORZRES);
    int nVerRes = GetDeviceCaps(pd.hDC, VERTRES);
    int nXMargin = 2;
    int nYMargin = 2;
    TEXTMETRIC tm;
    GetTextMetrics(pd.hDC, &tm);
    int nCharHeight = tm.tmHeight;
    int nCharWidth = tm.tmAveCharWidth;
    DOCINFO di;
    di.cbSize = sizeof(DOCINFO);
    di.lpszDocName = "ListCtrl Data Printing";
    di.lpszOutput = (LPTSTR) NULL;
    di.lpszDatatype = (LPTSTR) NULL;
    di.fwType = 0;
    StartDoc(pd.hDC, &di);
    StartPage(pd.hDC);
    TextOut(pd.hDC, 10,10,"test",4);
    EndPage(pd.hDC);
    EndDoc(pd.hDC);
    DeleteDC(pd.hDC);
    return TRUE;

}

 

CFont font;
CDC *dc = CDC::FromHandle (pd.hDC);
VERIFY(font.CreatePointFont(80, "Courier", dc));
CFont* def_font = dc->SelectObject(&font);
设置打印输出字体

BOOL PrintListCtrl()
{
        FILE * fp;
        char  buf[1024];
        if((fp=fopen("f://prt.txt","rt"))==NULL) return 0;

    PRINTDLG pd;
    pd.lStructSize = sizeof(PRINTDLG);
    pd.Flags = PD_RETURNDC;
    pd.hDC = NULL;
    pd.hwndOwner = NULL;
    pd.hInstance = NULL;
    pd.nMaxPage = 1;
    pd.nMinPage = 1;
    pd.nFromPage = 1;
    pd.nToPage = 1;
    pd.nCopies = 1;
    pd.hDevMode = NULL;
    pd.hDevNames = NULL;
    //显示打印对话框,由用户来设定纸张大小等。
    if(!PrintDlg(&pd)) return FALSE;
    ASSERT(pd.hDC!=NULL);
CFont font;
CDC *dc = CDC::FromHandle (pd.hDC);
VERIFY(font.CreatePointFont(80, "Courier", dc));
CFont* def_font = dc->SelectObject(&font);
    int nHorRes = GetDeviceCaps(pd.hDC, HORZRES);
    int nVerRes = GetDeviceCaps(pd.hDC, VERTRES);
    int nXMargin = 200;
    int nYMargin = 300;
    TEXTMETRIC tm;
    GetTextMetrics(pd.hDC, &tm);
    int nCharHeight = tm.tmHeight;
    int nCharWidth = tm.tmAveCharWidth;
        int  x = nXMargin ,y=nYMargin;
    DOCINFO di;
    di.cbSize = sizeof(DOCINFO);
    di.lpszDocName = " Data Printing";
    di.lpszOutput = (LPTSTR) NULL;
    di.lpszDatatype = (LPTSTR) NULL;
    di.fwType = 0;
    StartDoc(pd.hDC, &di);
    StartPage(pd.hDC);

        while(fgets(buf, 1024,fp ))
        {
            TextOut(pd.hDC, x,y,buf,strlen(buf)-1);
                y+=nCharHeight;
                if(y>nVerRes-nYMargin*2)
                {
                        EndPage(pd.hDC);
                        EndDoc(pd.hDC);
                        y=nYMargin;
                        StartDoc(pd.hDC, &di);
                        StartPage(pd.hDC);
                }
        }
    EndPage(pd.hDC);
    EndDoc(pd.hDC);
    DeleteDC(pd.hDC);
        fclose(fp);
   return TRUE;

}

VC虚拟打印机源码的完整实现指南 在开始编写Windows设备驱动程序之前,需要先配置好Visual C++开发环境。Visual C++是微软Visual Studio套件的一部分,它为Windows开发者提供了强大的代码编辑和调试工具。为了配置一个适合驱动开发的环境,需要进行如下步骤:安装Visual Studio:选择包含桌面开发和C++开发的Visual Studio版本,下载并安装。安装Windows Driver Kit (WDK):WDK提供了开发Windows驱动程序所需的工具和库。 阅读详情

相关推荐

vc++操作打印机打印文档

本程序实现vc利用DC绘制打印界面,实现了打印预览、选择打印机等功能

PRINTDLG

<br />typedef struct tagPD{<br />DWORD lStructSize;<br />HWND hwndOwner;<br />HGLOBAL hDevMode;<br />HGLOBAL hDevNames;<br />HDC hDC;<br />DWORD Flags;<br />WORD nFromPage;<br />WORD nToPage;<br />WORD nMinPage;<br />WORD nMaxPage;<br />WORD nCopies;<br />

tg5156的专栏 2941

vc实现打印机打印程序

mfc开发的税费打印系统,程序小巧轻便易用

vc 实现打印功能

Visual C++6.0是开发Windows应用程序的强大工具,但是要通过它实现程序的打印功能,一直是初学者的一个难点,经常有朋友询问如何在VC中实现打印功能,他们往往感到在MFC提供的框架内实现这个问题很复杂,不知道如何下手。本例针对这个问题,介绍一种简单的方法实现文字串的打印功能,读者朋友可以在此基础上稍微改动一下,就可以实现文件、图像的打印功能。   一、实现方法   在Win

夜空的流星的专栏 2万+

斑马打印机-条码打印源码

VS2013 条码打印源码+资料 ;VS2013 条码打印源码+资料 ;

VC6 斑马打印机Demo

自己做的时候一直没有找到VC6下的Demo,深感痛苦,希望后来者能少走点弯路。此Demo适应于斑马打印机105sl,包括串口和并口。另外斑马打印机的串口为专用的串口线,如果需要可以给我发Email我会把斑马打印机串口的线序发给你。如用串口,需把lib文件添加一下,即可使用。斑马打印机打印中文需要FNTHEX32.DLL,Demo中也包含有。Email:xzc02106430@163.com

VC下打印机的使用

VC 5.0是开发Windows 95下应用程序的强大工具。本文将通过一个具体实例讨论用VC打印文字和图形的一些技术。在Windows 95下,显示器和打印机、绘图仪都被视为输出设备。系统默认的输出设备是显示器。要使用打印机,首先需要创建一个指向打印机的设备环境句柄,然后通过该句柄调用相关的绘图函数把所需的文字

hh_bj的专栏 1491

VC++读取文件内容并输出到打印机

内容索引:VC/C++源码,报表打印,打印  VC++读取文件内容并输出到打印机,很实用的程序,部分代码释义:   定义实际上指向ADDJOB_INFO_1   // 结构的指针   LPBYTE pJob=0;   //打印机句柄   HANDLE m_hPrinter=NULL;   //********函数定义****************   //获得打印作业的临时文件名和ID号   //并保存在变量pJob所在的空间,成功返   //回true,失败返回false   bool GetSpoolFileName( );   //通知系统数据准备就绪,可以输出,   //同时

VC下打印机的使用 (转)

VC下打印机的使用 (转)[@more@] vc 5.0是开发windows 95下应用程序的强大工具。本文将通过一 个具体实例讨论用VC打印文字和图形的一些技术。在Windows 95下, 显示器和打印机、...

csd3176的博客 136

LibTV保姆级教程:从提示词到AI视频成片全流程

AI视频生成技术正以前所未有的速度重塑内容创作行业,过去需要编剧、摄影、剪辑等多角色协作的复杂流程,如今借助AI绘画与图生视频等核心能力,一个人也能完成高质量短视频制作。理解提示词工程是掌控AI视频创作的关键,通过精准描述主体、环境、光线与运镜,可以显著提升生成画面的稳定性与专业度。而图生视频技术则让静态分镜自然流动,有效解决角色一致性与场景漂移等常见问题。这类工具已广泛应用于产品宣传、剧情短片、社交媒体内容生产等场景,大幅降低了视频创作门槛。本文以LibTV一站式AI视频创作平台为例,从核心概念到完整实操

weixin_29046035的博客 935

TLSR8258蓝牙Mesh实战:从SDK下载到自定义通信指令全流程(附避坑指南)

本文详细介绍了TLSR8258蓝牙Mesh开发的完整流程,从SDK下载、环境搭建到自定义通信指令的实现。通过实战案例和避坑指南,帮助开发者快速掌握低功耗蓝牙Mesh网络构建技巧,适用于智能家居、工业监控等物联网场景。

weixin_29176179的博客 198

C++连接打印机(windows API)

Visual C++6.0是开发Windows应用程序的强大工具,但是要通过它实现程序的打印功能,一直是初学者的一个难点,经常有朋友询问如何在VC中实现打印功能,他们往往感到在MFC提供的框架内实现这个问题很复杂,不知道如何下手。本例针对这个问题,介绍一种简单的方法实现文字串的打印功能,读者朋友可以在此基础上稍微改动一下,就可以实现文件、图像的打印功能。   一、实现方法   在Win

rongyong的专栏 1万+

光学遥感显著目标检测初探笔记总结

一张图片里最吸引注意力的部分就是显著性物体,其实是模拟人的一个注意力机制。目标是希望通过计算机的方法让我们自动定位和模拟人的这种感知能力,从而去定位场景中的一个让人感兴趣的目标。

醋酸洋红的博客 2075

通过GDI打印

VC 5.0是开发Windows 95下应用程序的强大工具。本文将通过一个具体实例讨论用VC打印文字和图形的一些技术。在Windows  95下,显示器和打印机、绘图仪都被视为输出设备。系统默认的输出设备是显示器。要使用打印机,首先需要创建一个指向打印机的设备环境句柄,然后通过该句柄调用相关的绘图函数把所需的文字和图形输出至打印机上。当打印结束后,删除这个设备环境句柄即可。   一、

锄禾日当午 2340

从零开始用QP框架开发STM32:事件驱动编程实战指南(附状态机设计技巧)

本文详细介绍了如何使用QP框架在STM32上实现事件驱动编程,包括状态机设计技巧和嵌入式开发实践。通过对比传统前后台系统和RTOS,展示了QP框架在资源占用、实时性和代码可维护性方面的优势,并提供了从环境搭建到高级状态机设计的完整指南。

h6i7j8的博客 1173

量化交易新手必看:如何用Python快速接入XTP极速交易系统(附避坑指南)

本文为量化交易新手提供了使用Python快速接入中泰证券XTP极速交易系统的完整指南。文章详细介绍了XTP系统的微秒级性能优势、与CTP系统的核心区别,并逐步讲解了环境配置、API连接、资金查询、下单撤单等关键步骤,同时分享了网络维护、订单处理等实战避坑技巧,帮助开发者高效对接专业交易柜台。

life6的博客 659

vc 实现打印机打印功能

Visual C++6.0是开发Windows应用程序的强大工具,但是要通过它实现程序的打印功能,一直是初学者的一个难点,经常有朋友询问如何在VC中实现打印功能,他们往往感到在MFC提供的框架内实现这个问题很复杂,不知道如何下手。本例针对这个问题,介绍一种简单的方法实现文字串的打印功能,读者朋友可以在此基础上稍微改动一下,就可以实现文件、图像的打印功能。  一、实现方法  在Window...

FLY_THINK2012的博客 574

pytorch中dataloader的num_workers参数

结论速递 在Windows系统中,num_workers参数建议设为0,在Linux系统则不需担心。 1 问题描述 在之前的任务超大图上的节点表征学习中,使用PyG库用于数据加载的DataLoader,ClusterLoader等类时,会涉及到参数num_workers。在不同系统环境试验该参数的设定值时,会出现不同的结果 colab(Linux),设为12 有warning message,提示num_workers参数设置不合理,不影响继续运行 /usr/local/lib/python3.7/di

qq_40990057的博客 1万+

VC打印机编程之两篇有用的文章获取打印机与打印作业的状态和设置打印机模式并预览打印

 VC打印机编程之两篇有用的文章 vc设置打印机模式并预览打印   调用打印属性对话框: if(::OpenPrinter("Adobe PDF", &hPrint, NULL)) { ::PrinterProperties(m_hWnd, hPrint); ::ClosePrinter(hPrint); } 注:通过EnumPrinters可以枚举全部的本地、网

lzw8114的专栏 1333

笔试题-2023-加特兰-数字IC设计【纯净题目版】

笔试题-2023-加特兰-数字IC设计【纯净题目版】

w0shishabi的博客 2248

YOLO系列算法改进 | 主干改进篇 | 替换LSKNet主干特征提取网络 | 通过动态调整感受野自适应融合长程上下文,显著提升小目标与复杂背景下的检测精度!

YOLO系列算法改进 | 主干改进篇 | 替换LSKNet主干特征提取网络 | 通过动态调整感受野自适应融合长程上下文,显著提升小目标与复杂背景下的检测精度! (以YOLO26最新目标检测模型为基础,利用LSKNet替代Backbone)

2502_91881744的博客 211

打印机相关的c语言程序,VC下打印机的使用

VC 5.0是开发Windows 95下应用程序的强大工具。本文将通过一个具体实例讨论用VC打印文字和图形的一些技术。在Windows 95下,显示器和打印机、绘图仪都被视为输出设备。系统默认的输出设备是显示器。要使用打印机,首先需要创建一个指向打印机的设备环境句柄,然后通过该句柄调用相关的绘图函数把所需的文字和图形输出至打印机上。当打印结束后,删除这个设备环境句柄即可。一、技术细节当我们在Win...

weixin_39830012的博客 824

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

上一篇: redmine+svn windows环境安装流程
下一篇: VC 通过CWebBrowser2 操作js函数
minddancer
博客等级 码龄26年 5粉丝 25原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值