Member 13325846 Ответов: 2

Как я могу получить единицу измерения принтера в ярлыке


Привет,
Я хочу получить единицу размера страницы принтера (которую можно установить из диалогового окна настройки принтера>вкладка макет с помощью выпадающего списка) в метке. Я хочу, чтобы пользователь знал, что он находится в дюйме, сантиметре или миллиметре.
заранее благодарю вас за вашу помощь.

Что я уже пробовал:

Я могу получить имя pinter, вид страницы, размер бумаги и другие параметры, но я не могу получить блок печати. есть перечисление, но я понятия не имею, что можно использовать из него.

2 Ответов

Рейтинг:
1

Member 13325846

Я изменил единицу измерения на сантиметр, миллиметр и дюйм, но это дает только ширину и высоту страницы в ста дюймах, так что:

In FormA_Load 
{
            PageSettings pgSting = new PageSettings();
           
            lblPaperSizeReslt.Text = "Width: " + ((Math.Round((double)pgSting.PaperSize.Width, 2)) / 100).ToString() + "In" +
                " × " + "Height: " + ((Math.Round((double)pgSting.PaperSize.Height, 2)) / 100).ToString() + "In";
}


А также на кнопку нажать:


private void xBtnPrntrSetup_Click(object sender, EventArgs e)
        {
            PrintDialog pd = new PrintDialog();
            pd.ShowDialog();

            lblPaperSizeReslt.Text = "Width: " + ((Math.Round((double)pd.PrinterSettings.DefaultPageSettings.PaperSize.Width,2))/100).ToString() +"In"+
                " × " + "Height: " + ((Math.Round((double)pd.PrinterSettings.DefaultPageSettings.PaperSize.Height,2))/100).ToString()+ "In";

        }


Это может быть просто для кого-то, но также может сэкономить время некоторых других. Я надеюсь, что это поможет.


Рейтинг:
0

Richard MacCutchan

Блоки принтера используются программой, которая создает выходные данные принтера для форматирования текста/изображений в зависимости от ориентации и размера выбранного печатающего устройства и бумаги. Сам принтер не имеет понятия об этих значениях.


Member 13325846

Привет,
Спасибо за ваш ответ.
У меня есть программное обеспечение, которое получает единицу заданного размера бумаги на вкладке макет диалогового окна настройки принтера в виде этикетки(например, ширина:21,7 см). вот почему я говорю, что это возможно, но я просмотрел много сайтов и не нашел ни одной связанной темы.

Richard MacCutchan

Да, это размер бумаги, в единицах измерения по умолчанию в системной локали. Что еще вы ищете?

Member 13325846

Как я могу получить его размерность? означает дюйм, см или мм?

Richard MacCutchan

У вас есть размер: 21,7 см. Что именно вы пытаетесь получить?

Member 13325846

Я не могу иметь единицу измерения (см), я хочу иметь единицу измерения в ярлыке. 21.7 без своего блока доступен в свойствах формата бумаги. есть ли у вас какой-либо способ получить выбранный блок из диалогового окна настройки принтера?

Member 13325846

Нет, если вы откроете свойства принтера в Microsoft Word и перейдете на вкладку макет в выпадающем списке с именем единица измерения, вы увидите, что это значит. есть ли способ прикрепить сюда изображение для вас?

Richard MacCutchan

Я не вижу этого в своей версии Word. Но единицы измерения связаны только с размером бумаги, а не с принтером. Для печати данных можно использовать любой тип блока, но он должен соответствовать фактическому размеру выбранной бумаги.