ilyachalov (ilyachalov) wrote,
ilyachalov
ilyachalov

Categories:

Печать через PRN из консольной программы Windows

Программа ezprint.cpp со стр.589 учебника Лафоре:
#include <fstream>
using namespace std;

int main()
{
    const char* s1 = "\nToday's winning number is ";
    int n1 = 17982;
    
    ofstream outfile;            // создать выходной поток
    outfile.open("PRN");         // связать его с первым параллельным портом
    outfile << s1 << n1 << endl; // послать данные на принтер
    outfile << '\x0C';           // прогнать лист до конца, чтобы
                                 // выбросить его из принтера
    return 0;
}

Держим в уме, что книжка вышла в 2001 году. PRN (или LPT1) — имя специального файла, связанного с первым параллельным портом (он же — порт Centronics, см. также стандарт IEEE 1284).

Цитата из учебника Лафоре, стр.589:

В большинстве систем принтер подключен к первому параллельному порту, поэтому имя принтера — prn или lpt1 (понятно, что в случае, если ваша система настроена иначе, надо использовать другое имя).


Это тогда было настолько общепринятым, что некоторые шутники писали так (на примере вышеприведенной программы):
#include <fstream>
#include <iostream>
using namespace std;

int main()
{
    const char* s1 = "\nToday's winning number is ";
    int n1 = 17982;
    
    ofstream outfile;            // создать выходной поток
    outfile.open("PRN");         // связать его с первым параллельным портом
    
    if (outfile)
    {
        outfile << s1 << n1 << endl; // послать данные на принтер
        outfile << '\x0C';           // прогнать лист до конца, чтобы
                                     // выбросить его из принтера
    }
    else
        cout << "Buy a printer!\n";  // купи принтер!
    
    return 0;
}

В наше время наиболее популярны (на мой субъективный взгляд) принтеры, подключаемые к настольному компьютеру через интерфейс USB. В офисах любят подключать пользователей к принтеру через локальную сеть. Популярны подключения беспроводных принтеров (например, через Wi-Fi). Большинство изготовителей даже перестали выпускать компьютеры с портом типа LPT.

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

Цитата из интервью (14.01.2020 г.) корреспондентов «РИА Новости» с Алексеем Кудриным:
https://ria.ru/20200114/1563387576.html

Кабинет председателя Счетной палаты РФ после новогодних праздников выглядит как после военного совета: маркерная доска завешана разноцветными стикерами с поручениями и планами. Самый яркий в центре — «уволить всех, кто не перешел на электронный документооборот».


Я не могу проверить, работает ли печать через PRN в современных операционных системах Windows, так как у меня вообще нет принтера. В интернетах рекомендуют для печати из консольных программ современных операционных систем Windows использовать функции Windows API. Изучение этого способа можно начать, например, отсюда:
https://docs.microsoft.com/en-us/windows/win32/printdocs/printdocs-printing
Tags: Образование, Программирование
Subscribe

Recent Posts from This Journal

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your IP address will be recorded 

  • 0 comments