1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
   | private void PrintPdf(string aFile)
        {
            string defaultPrinter;
 
            // On change les paramètre de PDF Créator
            var rk = Registry.CurrentUser.OpenSubKey(_cleRegistrePdfCreator, true);
            rk.SetValue("AutosaveDirectory", _folder, RegistryValueKind.String);
            rk.SetValue("AutosaveFilename", "test.pdf", RegistryValueKind.String);
            rk.SetValue("UseAutosave", 1, RegistryValueKind.String);
            //rk.SetValue("OptionsVisible", 1, RegistryValueKind.String);
            //rk.SetValue("UseAutosave", 1, RegistryValueKind.String);
 
            #region On Lance l'impression
 
            clsPDFCreatorOptions opt;
            _pDfCreator = new clsPDFCreator();
            _pDfCreator.eError += _pDfCreator_eError;
            _pDfCreator.eReady += _pDfCreator_eReady;
            _pDfCreator.cStart("/NoProcessingAtStartup", true);
            defaultPrinter = _pDfCreator.cDefaultPrinter;
            _pDfCreator.cDefaultPrinter = "PDFCreator";
            _pDfCreator.cPrinterStop = false;
            _pDfCreator.cClearCache();
            opt = _pDfCreator.cOptions;
            opt.UseAutosave = 1;
            opt.UseAutosaveDirectory = 1;
            opt.AutosaveFormat = 0;
            _pDfCreator.cOptions = opt;
            _pDfCreator.cVisible = false;
            _pDfCreator.cPrintFile(aFile);
            _pDfCreator.cPrinterStop = false;
            _readyState = false;
            _pDfCreator.cPrinterStop = true;
            _pDfCreator.cDefaultPrinter = defaultPrinter;
            _pDfCreator.cClose();
            System.Runtime.InteropServices.Marshal.ReleaseComObject(_pDfCreator);
            System.Runtime.InteropServices.Marshal.ReleaseComObject(_pErr);
            _pErr = null;
            GC.Collect();
            GC.WaitForPendingFinalizers();
 
            #endregion
        } | 
Partager