Exemplo n.º 1
0
        private void btnProperties_Click(object sender, EventArgs e)
        {
            string buttonPressed    = (sender as Button).Name;
            string buttonIndex      = buttonPressed[buttonPressed.Length - 1].ToString();
            int    pdfDocumentIndex = -1;

            if (int.TryParse(buttonIndex, out pdfDocumentIndex))
            {
                pdfDocumentIndex--;
                if (pdfDocumentIndex > -1 && pdfDocumentIndex < 5)
                {
                    if (pdfPrintPropertiesForms[pdfDocumentIndex] == null)
                    {
                        pdfPrintPropertiesForms[pdfDocumentIndex] = new PDFPrintPropertiesForm(cmbxPrinterNames.SelectedItem.ToString(), pdfDocumentIndex);
                        if (_printerInfo == null)
                        {
                            _printerInfo = PdfPrintTest.GetPrinterInfo(cmbxPrinterNames.SelectedItem.ToString());
                        }
                        pdfPrintPropertiesForms[pdfDocumentIndex].ApplyPrinterInfo(_printerInfo);
                        pdfPrintPropertiesForms[pdfDocumentIndex].ShowDialog();
                    }
                    else
                    {
                        pdfPrintPropertiesForms[pdfDocumentIndex].ShowDialog();
                    }
                }
            }
        }
Exemplo n.º 2
0
        private void btnPrint_Click(object sender, EventArgs e)
        {
            List <SinglePdfDocumentPrintSettings> documents = new List <SinglePdfDocumentPrintSettings>();

            AddPdfDocumentIfNeeded(tbPdf1, 0, documents);
            AddPdfDocumentIfNeeded(tbPdf2, 1, documents);
            AddPdfDocumentIfNeeded(tbPdf3, 2, documents);
            AddPdfDocumentIfNeeded(tbPdf4, 3, documents);
            AddPdfDocumentIfNeeded(tbPdf5, 4, documents);
            if (documents.Count > 0)
            {
                Cursor = Cursors.WaitCursor;
                var pdfPrint = PdfPrintTest.GetPdfPrint(_configFile);
                MultiPdfDocumentPrintSettings multiDocuments = new MultiPdfDocumentPrintSettings(tbJobName.Text);
                multiDocuments.DocumentList = documents;
                var status = pdfPrint.Print(multiDocuments);
                Cursor = Cursors.Arrow;
                MessageBox.Show("Status = " + status.ToString());
                multiDocuments.Dispose();
            }
            else
            {
                MessageBox.Show("None of the document selected for print.");
            }
        }
Exemplo n.º 3
0
        private void FillPrinters()
        {
            var    installedPrinters = PrinterSettings.InstalledPrinters;
            var    printerSettings   = new PrinterSettings();
            string defaultPrinter    = printerSettings.PrinterName;

            cmbxPrinterNames.SelectedIndexChanged -= cmbxPrinterNames_SelectedIndexChanged;
            PdfPrintTest.FillComboBox(cmbxPrinterNames, installedPrinters, defaultPrinter);
            cmbxPrinterNames.SelectedIndexChanged += cmbxPrinterNames_SelectedIndexChanged;
        }
Exemplo n.º 4
0
        private void cmbxPrinterNames_SelectedIndexChanged(object sender, EventArgs e)
        {
            _printerInfo = PdfPrintTest.GetPrinterInfo(cmbxPrinterNames.SelectedItem.ToString());

            foreach (PDFPrintPropertiesForm form in pdfPrintPropertiesForms)
            {
                if (form != null)
                {
                    form.ApplyPrinterInfo(_printerInfo);
                }
            }
        }
        private void PDFPrintProperties_Load(object sender, EventArgs e)
        {
            PdfPrintTest.SetConfigFromIni(_configFile);
            _previewPaperHeight = _configFile.PreviewPageHeight;
            _previewPaperWidth  = _configFile.PreviewPageWidth;
            _watermarkForm      = new WatermarkForm(_watermark, _previewPaperWidth, _previewPaperHeight, _previewImagePath);

            if (PdfPrintTest.Is64)
            {
                // on 64 bit PrinterSettingsDialog isn't available so we hide it...
                btnSetPrinterSettings.Visible = false;
                cbUsePrinterSettings.Visible  = false;
            }
        }
        public void ApplyPrinterInfo(PrinterInfo printerInfo)
        {
            cbDefaultPaperSize.Checked         = true;
            cbDefaultPaperSource.Checked       = true;
            cbDefaultPrinterResolution.Checked = true;
            cbDefaultPrintInColor.Checked      = true;
            cbDefaultPrintOrientation.Checked  = true;

            cbPrintInColor.Checked = printerInfo.Color;
            rbLandscape.Checked    = printerInfo.Landscape;
            rbPortrait.Checked     = !printerInfo.Landscape;
            _printerSettings       = null;

            rbLandscape.Checked = printerInfo.Landscape;
            rbPortrait.Checked  = !printerInfo.Landscape;

            PdfPrintTest.FillComboBox(cmbxPrinterResolutions, printerInfo.PrinterResolutions, printerInfo.PrinterResolution);
            PdfPrintTest.FillComboBox(cmbxPaperSize, printerInfo.PaperSizes, printerInfo.PaperSize);
            PdfPrintTest.FillComboBox(cmbxPaperSource, printerInfo.PaperSources, printerInfo.PaperSource);

            PrinterName = printerInfo.PrinterName;
            cbUsePrinterSettings.Checked = false;
            EnableOrDisableFieldsBasedOnDefaultCheck();
        }
Exemplo n.º 7
0
 private void Form1_Load(object sender, EventArgs e)
 {
     Text += (PdfPrintTest.Is64 ? " 64 bit" : " 32 bit") + " ver. " + Application.ProductVersion;
     PdfPrintTest.SetConfigFromIni(_configFile);
     FillPrinters();
 }
        public SinglePdfDocumentPrintSettings GetSinglePdfDocumentPrintSettings(string fileName)
        {
            SinglePdfDocumentPrintSettings pdfDocumentPrintSettings = null;

            if (cbIsStream.Checked)
            {
                pdfDocumentPrintSettings = new SinglePdfDocumentPrintSettings(File.ReadAllBytes(fileName), tbPassword.Text);
            }
            else
            {
                pdfDocumentPrintSettings = new SinglePdfDocumentPrintSettings(fileName, tbPassword.Text);
            }

            var printerSettings = new PrinterSettings();
            var defaultPrinter  = printerSettings.PrinterName;

            PdfPrintTest.SetDefaultPrinter(PrinterName);
            var newPrinterSettings = new PrinterSettings();

            if (cbUsePrinterSettings.Checked)
            {
                pdfDocumentPrintSettings.PrinterSettings = _printerSettings;
            }
            else
            {
                if (!cbDefaultPrintOrientation.Checked)
                {
                    if (rbLandscape.Checked)
                    {
                        pdfDocumentPrintSettings.IsLandscape             = true;
                        newPrinterSettings.DefaultPageSettings.Landscape = true;
                    }
                    if (rbPortrait.Checked)
                    {
                        pdfDocumentPrintSettings.IsLandscape             = false;
                        newPrinterSettings.DefaultPageSettings.Landscape = false;
                    }
                }


                if (!cbDefaultPaperSize.Checked)
                {
                    if (cmbxPaperSize.SelectedItem == null)
                    {
                        MessageBox.Show(string.Format("Paper size for PDF Document {0} not set.", _pdfDocumentIndex));
                        PdfPrintTest.SetDefaultPrinter(defaultPrinter);
                        return(null);
                    }

                    foreach (PaperSize size in newPrinterSettings.PaperSizes)
                    {
                        if (size.ToString().Equals(cmbxPaperSize.SelectedItem.ToString()))
                        {
                            pdfDocumentPrintSettings.PaperSize = size;
                            newPrinterSettings.DefaultPageSettings.PaperSize = size;
                            break;
                        }
                    }
                }

                if (!cbDefaultPaperSource.Checked)
                {
                    if (cmbxPaperSource.SelectedItem == null)
                    {
                        MessageBox.Show(string.Format("Paper source for PDF Document {0} not set.", _pdfDocumentIndex));
                        PdfPrintTest.SetDefaultPrinter(PrinterName);
                        return(null);
                    }

                    foreach (PaperSource paperSource in newPrinterSettings.PaperSources)
                    {
                        if (paperSource.ToString().Equals(cmbxPaperSource.SelectedItem.ToString()))
                        {
                            pdfDocumentPrintSettings.PaperSource = paperSource;
                            newPrinterSettings.DefaultPageSettings.PaperSource = paperSource;
                            break;
                        }
                    }
                }

                if (!cbDefaultPrintInColor.Checked)
                {
                    pdfDocumentPrintSettings.PrintInColor        = cbPrintInColor.Checked;
                    newPrinterSettings.DefaultPageSettings.Color = cbPrintInColor.Checked;
                }

                if (!cbDefaultPrinterResolution.Checked)
                {
                    if (cmbxPrinterResolutions.SelectedItem == null)
                    {
                        MessageBox.Show(string.Format("Printer resolution for PDF Document {0} not set.", _pdfDocumentIndex));
                        PdfPrintTest.SetDefaultPrinter(defaultPrinter);
                        return(null);
                    }

                    foreach (PrinterResolution printerResolution in newPrinterSettings.PrinterResolutions)
                    {
                        if (printerResolution.ToString().Equals(cmbxPrinterResolutions.SelectedItem.ToString()))
                        {
                            pdfDocumentPrintSettings.PrinterResolution = printerResolution;
                            newPrinterSettings.DefaultPageSettings.PrinterResolution = printerResolution;
                            break;
                        }
                    }
                }

                PdfPrintTest.SetDefaultPrinter(defaultPrinter);
                newPrinterSettings.PrinterName           = PrinterName;
                pdfDocumentPrintSettings.PrinterSettings = newPrinterSettings;
            }

            if (cbUseWatermark.Checked)
            {
                pdfDocumentPrintSettings.Watermark = _watermark;
            }
            pdfDocumentPrintSettings.IsContentCentered = cbCentered.Checked;
            pdfDocumentPrintSettings.IsAutoRotate      = cbAutoRotate.Checked;

            if (rbScaleActualSize.Checked)
            {
                pdfDocumentPrintSettings.Scale = PdfPrint.ScaleTypes.None;
            }
            if (rbScaleFit.Checked)
            {
                pdfDocumentPrintSettings.Scale = PdfPrint.ScaleTypes.FitToMargins;
            }
            if (rbScaleShrink.Checked)
            {
                pdfDocumentPrintSettings.Scale = PdfPrint.ScaleTypes.Shrink;
            }

            pdfDocumentPrintSettings.Pages = tbPrintPages.Text;

            if (rbPrintEvenOdd.Checked)
            {
                pdfDocumentPrintSettings.RangeType = PdfPrint.RangeTypes.EvenAndOdd;
            }
            if (rbPrintEven.Checked)
            {
                pdfDocumentPrintSettings.RangeType = PdfPrint.RangeTypes.JustEven;
            }
            if (rbPrintOdd.Checked)
            {
                pdfDocumentPrintSettings.RangeType = PdfPrint.RangeTypes.JustOdd;
            }

            return(pdfDocumentPrintSettings);
        }