00001
00002
00003
00004
00005
00006 #ifndef H_CPPPRINT
00007 #define H_CPPPRINT
00008
00009 #include <PDF/PDFDoc.h>
00010 #include <C/PDF/TRN_Print.h>
00011 #include <SDF/Obj.h>
00012 #include <SDF/ObjSet.h>
00013
00014 namespace pdftron{
00015 namespace PDF {
00016
00021 class PrinterMode;
00022
00023 class Print {
00024 public:
00049 static void StartPrintJob(
00050 PDFDoc & in_pdfdoc,
00051 const UString & in_printerName,
00052 const UString & in_jobName,
00053 const UString & in_outputFileName,
00054 PrinterMode * in_printerMode = NULL,
00055 volatile bool * in_cancel = NULL);
00056
00085 static void StartPrintJob(
00086 PDFDoc & in_pdfdoc,
00087 const char * in_printerName,
00088 const char * in_jobName,
00089 const char * in_outputFileName,
00090 PrinterMode * in_printerMode = NULL,
00091 volatile bool * in_cancel = NULL);
00092
00093
00094 };
00095
00096
00097
00102 class PrinterMode
00103 {
00104 public:
00106 enum DuplexMode {
00107 e_Duplex_Auto = 0,
00108 e_Duplex_None = 1,
00109 e_Duplex_LongSide = 2,
00110 e_Duplex_ShortSide = 3
00111 };
00112
00114 enum OutputQuality {
00115 e_OutputQuality_Draft = -1,
00116 e_OutputQuality_Low = -2,
00117 e_OutputQuality_Medium = -3,
00118 e_OutputQuality_High = -4
00119 };
00120
00122 enum OutputColor {
00123 e_OutputColor_Color = 0,
00124 e_OutputColor_Grayscale = 1,
00125 e_OutputColor_Monochrome = 2,
00126 };
00127
00128 PrinterMode();
00129 ~PrinterMode();
00130
00131 void SetCopyCount( int copyCount );
00132 void SetCollation( bool collation );
00133 void SetDuplexing( DuplexMode mode );
00134 void SetOutputQuality( OutputQuality quality );
00135 void SetOutputColor( OutputColor color );
00136 void SetDPI( int dpi );
00137
00139 SDF::Obj m_printerMode;
00141 private:
00142 SDF::ObjSet * mp_printerModeSet;
00143 };
00144
00145 };
00146 };
00147
00148 #include <Impl/Print.inl>
00149
00150 #endif // H_CPPPRINT
00151