我想打印文件,但不想用windows提供的打印界面,就是想直接访问打印机,把文件打印出来,我用的是VS2010,请问大家,怎么做?

解决方案 »

  1.   

    楼主想脱离MFC框架还是怎么地?自己处理CDC绘制打印内容,网上这类帖子还是很多的
      

  2.   

    参考
    http://download.csdn.net/detail/mirage1982/2105735http://www.vckbase.com/index.php/cv/551http://www.vckbase.com/index.php/cv/424
      

  3.   


    不是看不上,我做了图像处理,要把图像按自己的要求用打印机打印出来,如果调用windows自带的打印界面设置窗口,就没意义了!
      

  4.   

    这是一个简单的打印流程
    HANDLE hPrinter = INVALID_HANDLE_VALUE;
    PRINTER_DEFAULTS PD; PD.pDatatype = 0;
    PD.DesiredAccess = PRINTER_ALL_ACCESS;
    PD.pDevMode = 0; BOOL bRet = OpenPrinter(_T("Printer Name"), &hPrinter, &PD); DOC_INFO_1 DocInfo;
    BYTE lpData[10];
    DWORD dwCount = 10;
    DWORD dwBytesWritten; DocInfo.pDocName = L"Test Job";
    DocInfo.pOutputFile = NULL;
    DocInfo.pDatatype = L"RAW"; StartDocPrinter(hPrinter, 1, (LPBYTE)&DocInfo);
    StartPagePrinter(hPrinter ); //该例子讲lpData下发到打印机,你将此处修改为你要下发的File的数据。例子中下发了10个0a换行符
    memset(lpData, 0x0a, 10);
    WritePrinter(hPrinter, lpData, dwCount, &dwBytesWritten );
    EndPagePrinter(hPrinter );
    EndDocPrinter(hPrinter ); ClosePrinter(hPrinter);
    hPrinter = INVALID_HANDLE_VALUE; if (pJobInfo)
    {
    free(pJobInfo); 
    pJobInfo = NULL; 
    }
      

  5.   

    BOOL bRet = OpenPrinter(_T("改为我的打印机名字"), &hPrinter, &PD);
    没有打印出来
      

  6.   

    先要枚举打印机,windows程序设计里有