コード例 #1
0
        internal static PrinterSpecifications GetDefaultSpecs()
        {
            var specs = new PrinterSpecifications() {
            DimensionsInInches = true,
            PaperHeight = 11,
            PaperWidth = 8.5,
            PaperID = 0,
            PaperSizeName = "Letter",
            PortraitOrient = true,
            PrintQuality = -4, // 600 dpi
             };

             if ( System.Drawing.Printing.PrinterSettings.InstalledPrinters.Count > 0 )
            specs.MarginsPrinter = System.Drawing.Printing.PrinterSettings.InstalledPrinters[0];

             return specs;
        }
コード例 #2
0
        private void _miPrinterDefaultSpecs_Click(object sender, EventArgs e)
        {
            _printDocument.PrinterSettings.PrinterName = _currentPrinterName;
            FrmSpecifications specDialog = new FrmSpecifications(_printer.UserDefaultSpecifications, _printDocument);

            if (specDialog.ShowDialog(this) == DialogResult.OK)
            {
                PrinterSpecifications printerSpecs = new PrinterSpecifications();
                printerSpecs.MarginsPrinter = specDialog.MarginsPrinter;
                printerSpecs.PaperID        = specDialog.PaperID;
                printerSpecs.PortraitOrient = specDialog.Portrait;
                printerSpecs.PrintQuality   = specDialog.PrintQuality;
                printerSpecs.YResolution    = specDialog.PrintQuality;

                _printer.UserDefaultSpecifications = printerSpecs;
            }
        }
コード例 #3
0
        private void SetDefaultSpecs(Printer printer)
        {
            PrinterSpecifications specs = new PrinterSpecifications();

            specs.DimensionsInInches = true;

            if (PrinterSettings.InstalledPrinters.Count > 0)
            {
                specs.MarginsPrinter = PrinterSettings.InstalledPrinters[0];
            }

            specs.PaperHeight    = 11;
            specs.PaperID        = 0;
            specs.PaperSizeName  = "Custom";
            specs.PaperWidth     = 8;
            specs.PortraitOrient = true;
            specs.PrintQuality   = -3;
            specs.YResolution    = 300;

            printer.Specifications = specs;
        }
コード例 #4
0
ファイル: FrmSpecifications.cs プロジェクト: sakpung/webstudy
        public FrmSpecifications(PrinterSpecifications specifications, PrintDocument printDocument)
        {
            InitializeComponent();

            _printDocument  = printDocument;
            _specifications = specifications;

            if (specifications == null)
            {
                return;
            }

            foreach (PaperSize size in _printDocument.DefaultPageSettings.PrinterSettings.PaperSizes)
            {
                _paperIds.Add(size.RawKind);

                if (size.RawKind == specifications.PaperID)
                {
                    _cmbPaperSize.SelectedIndex = _paperIds.IndexOf(size.RawKind);
                }
            }

            string[] installedPrinters = new string[PrinterSettings.InstalledPrinters.Count];
            PrinterSettings.InstalledPrinters.CopyTo(installedPrinters, 0);
            _cmbEmulatePrinter.Items.AddRange(installedPrinters);

            _txtWidth.Text  = specifications.PaperWidth.ToString();
            _txtHeight.Text = specifications.PaperHeight.ToString();

            _radioInches.Checked      = specifications.DimensionsInInches;
            _radioCentimeters.Checked = !specifications.DimensionsInInches;

            _rdPortrait.Checked  = specifications.PortraitOrient;
            _rdLandscape.Checked = !specifications.PortraitOrient;

            _cmbEmulatePrinter.Text = specifications.MarginsPrinter;

            _txtCustomQuality.Text = "50";

            switch (specifications.PrintQuality)
            {
            case -1:
                _cmbPrintQuality.SelectedIndex = 0;
                break;

            case -2:
                _cmbPrintQuality.SelectedIndex = 1;
                break;

            case -3:
                _cmbPrintQuality.SelectedIndex = 2;
                break;

            case -4:
                _cmbPrintQuality.SelectedIndex = 3;
                break;

            default:
                _cmbPrintQuality.SelectedIndex = 4;
                _txtCustomQuality.Text         = specifications.PrintQuality.ToString();
                break;
            }
        }