Send an Image File Directly to Printer

Universal Document Converter is the software based on virtual printering. With Universal Document Converter practically any document can be saved as a PDF file or an image file. You can use a post-print feature of Universal Document Converter to apply additional processing to every output file. The example below is just one of many post-print processing solutions.

// Some professional printers allow you send image files directly
// without opening in graphics viewer. In some cases you can receive
// better results if you print your drawing to high-resolution
// image file using Universal Document Converter and then send this
// image file to the printer directly.

#include "Winspool.h"
#include <io.h>

BOOL Img2Printer(char* filePath, char* prnName)
{
  HANDLE     prnHandle;
  DOC_INFO_1 di;
  DWORD	     cWritten, len;
  BOOL	     retCode;
  FILE       *fp;
  char       *buff;
////
  fp = fopen( filePath, "rb" );
  if( !fp ) return 0;

  len = _filelength( fileno(fp) );
  buff = new char[len];

  fread( buff, len, 1, fp );
  fclose( fp );
////
  if( !::OpenPrinter( prnName, &prnHandle, 0 ) )
  {
    delete buff;
    return 0;
  }
////
  di.pDocName = "My Image File";
  di.pOutputFile = 0;
  di.pDatatype = "RAW";

  if( !::StartDocPrinter( prnHandle, 1, (LPBYTE)&di ) )
    return 0;

  retCode = ::WritePrinter( prnHandle, buff, len, &cWritten );

  ::EndDocPrinter( prnHandle );
  ClosePrinter( prnHandle );

  delete buff;
  return retCode;
}


  • Alfred Dietrich

    DI Alfred Dietrich

    Austria

    «I use all of the MS Office programs with the Universal Document Converter being an indispensable addition for creating PDF files and converting files to JPG and TIF file formats. The Universal Document Converter is intuitive in its structure, easy to handle and, most importantly, extremely reliable. Currently, I am using the 6.0 version on Windows 7 and I am very happy with it.»