Что такое виртуальный принтер в телефоне


Что такое виртуальный принтер на андроид телефоне: как пользоваться

Существуют программы для телефона, которые способны управлять принтером. Они используются, если нет компьютера или нам необходим удаленный доступ к принтеру (телефон используется подобно пульту управления). Но некоторые программы позволяют использовать виртуальный принтер, находясь на большом расстоянии от самого устройства.

Содержание статьи

Виртуальный принтер на андроид телефоне: что это

Виртуальный принтер на андроид – это программа, которая позволяет управлять устройством дистанционно. Например, нам нужно распечатать документ, а у нас нет компьютера. Мы может подготовить все через телефон, и осуществить распечатывание, через соответствующее приложение.

Для чего принтер на андроид телефоне

У принтера на андроиде есть следующий набор функций:

  1. Он позволяет отправлять различные документы и файлы с телефона на компьютер, факс или другое устройство.
  2. Позволяет распечатывать большинство типов файлов (если утилите поддерживает эту функцию).
  3. Вы можете контролировать процесс удаленно и получать отчеты.
  4. Появляется список все устройств, подключенных к телефону и их краткое описание.
  5. Вы сможете контролировать историю печати, поскольку вся информация сохраняется в специальном журнале.
  6. Можно хранить документы, которые необходимо распечатать в будущем.

Отправлять файлы и работать через клиент можно некоторыми способами:

  1. Открыть документ и найти утилиту, используя специальный обозреватель.
  2. Нажать клавишу отправить через любое приложение. Потом необходимо выбрать виртуальное устройство.

Функциональность полностью зависит от оборудования, но ключевую роль также играют драйвера. Их необходимо постоянно обновлять. А благодаря утилите можно выбрать формат, режим и ориентацию.

Как пользоваться

Использовать утилиту очень просто, она рассчитана на то, чтобы все процессы происходили автоматизировано, то есть большую часть работы выполняло само устройство. Подключатся к оборудованию можно без каких-либо проводов, что является большим преимуществом. Вы можете самостоятельно настраивать работу, а с интерфейсом разберется даже новичок. В утилите есть базовый набор необходимых функций. Просто сделайте соответствующие действия, и документ сам распечатается. К утилите предлагается инструкция, которая будет в одной папке с программой. Если ее нет, поищите на официальном сайте.

Особенность использования принтера через андроид:

  1. Можно отправлять документы на печать в течение короткого времени. Утилита работает быстро.
  2. Настройка работы по своему усмотрению.
  3. Удобный интерфейс.
  4. Подключается к нескольким удаленным устройствам одновременно.
  5. Для скачивания утилиты необходим только аккаунт на почте Google.
  6. Возможность создавать облако. Это небольшое хранилище для информации, где можно хранить документы, которые необходимо распечатать.
  7. Возможность распечатать документы, не вставая с дивана или находясь на работе (например, нужно воспользоваться оборудованием, которое находится дома).

Виртуальный принтер для андроид – очень удобная и функциональная утилита. Она позволяет получать доступ к устройству, находясь на расстоянии. Можно подключаться одновременно к нескольким приборам.

Подпишитесь на наши Социальные сети

Что такое виртуальный принтер? | Small Business

Нефизический принтер на компьютере вашего офиса или в компьютерной сети, виртуальный принтер - это приложение, которое обычно создает PDF-файл или нередактируемый файл для совместного использования с коллегами или клиентами через Интернет. Виртуальный принтер не является частью физического принтера и автоматически загружает собственный драйвер печати. Принтеры устанавливаются как физические принтеры и отображаются в диалоговом окне принтера приложения вместе с другими принтерами.

Структура

Виртуальные принтеры не печатают на бумаге; принтеры создают цифровой файл, который сохраняется на жестком диске вашего компьютера. Файл, как и печатный документ, содержит точный макет документа, созданного вами или вашим партнером с помощью текстового редактора, электронной таблицы или другого приложения. Вы также можете распечатать файл виртуального принтера на физическом принтере. Виртуальные принтеры доступны для систем Windows, Mac и Linux, а также для других платформ.

Факс-приложения

Факс-приложения устанавливают и используют виртуальные принтеры для создания цифровых документов для отправки на физический факс или факсимильный аппарат бизнес-партнера или клиента.Вы можете просмотреть свой факсимильный документ с помощью факсимильного приложения на вашем компьютере, прежде чем отправить его получателю. Вы также можете хранить копии исходящих факсимильных документов на своем компьютере для повторной отправки или архивирования.

Программы преобразования

Виртуальные принтеры также используются в программах преобразования документов, также известных как универсальные конвертеры документов, для преобразования документа в файл изображения для открытия на любой платформе, включая Windows, Mac и Linux. Программы создают файл, который сохраняет макет и шрифты документа, тем самым избавляя от беспокойства об отсутствующих шрифтах или изменениях в структуре документа.Преобразованный документ сохраняется не в формате PDF, а в формате изображения, например JPG.

Приложения предварительного просмотра печати

Некоторые приложения, включая текстовые редакторы и настольные издательские приложения, включают функцию предварительного просмотра печати, которая позволяет вам увидеть, как ваш документ будет выглядеть напечатанным. Функция предварительного просмотра использует компонент виртуального принтера для создания предварительного просмотра, но вы не можете сохранить файл предварительного просмотра или поделиться предварительным просмотром с другими. Функция предварительного просмотра печати обычно содержит кнопку «Печать», которая позволяет отправить документ на физический или виртуальный принтер для печати.

Удаление

Как и физический принтер, вы также можете удалить виртуальный принтер, если он вам больше не нужен или не хотите, чтобы он находился на компьютере в вашем офисе. В принтере может быть или не быть собственной программы удаления. Если программа для удаления недоступна, вы можете удалить виртуальный принтер с помощью утилиты Windows «Удалить или изменить программу».

.Учебники по виртуальному принтеру

- два пилотных проекта


На главную Загрузить Цены Часто задаваемые вопросы Руководство Учебные пособия Известные проблемы Новости

Здесь вы можете найти различные примеры использования нашей технологии виртуального принтера в ваших приложениях. Проиллюстрируем примеры кодом на C ++.

  1. Как перенести информацию с принтера в клиентское приложение
  2. Как создать собственное приложение предварительного преобразования
  3. Как создать собственное приложение для постконвертера
  4. Как создать собственное приложение пост-конвертера, совместимое с режимом раннего доступа
  5. Как получить и установить ориентацию бумаги в принтере
  6. Как создать, добавить, установить, перечислить, получить и удалить бумажную форму для указанного принтера
  7. Как получить, установить и пересчитать лоток для бумаги для указанного принтера
  8. Как получить, установить и перечислить разрешения печати для указанного принтера
  9. Как пересчитать данные формы бумаги для указанного принтера
  10. Как получить и установить DEVMODE для указанного принтера
  11. Как подсчитать принтеры в системе
  12. Как запустить, остановить, получить текущее состояние и перечислить зависимости для указанной службы Windows
  13. Как устанавливать, получать и удалять настройки для основных функций драйвера виртуального принтера
1.Как получить информацию с принтера в ваше клиентское приложение

После отправки документа на принтер он создает файл INI, в котором хранится вся необходимая информация о задании печати и файлах вывода:

INI-файл может быть передан вашему приложению через командную строку, именованный канал или сообщение WM_COPYDATA, для получения дополнительных сведений см. Документацию.

Для чтения информации из файла INI рекомендуем использовать вызовы WinAPI:

GetPrivateProfileInt для чтения целочисленного значения из файла INI:

[код C ++]

 // Получает значения ширины и длины бумаги из раздела [Документ] void foo (WCHAR const * pathToIniFile) { int width = GetPrivateProfileInt (L «Документ», L «Ширина бумаги», 0, pathToIniFile); int length = GetPrivateProfileInt (L «Документ», L «PaperLength», 0, pathToIniFile); } 

GetPrivateProfileString для чтения строкового значения из файла INI:

[код C ++]

 // Получает имя устройства из раздела [Device] и имя документа из раздела [Document]: void boo (WCHAR const * pathToIniFile) { DWORD const size = 256; WCHAR deviceName [размер] = {0}; WCHAR documentName [размер] = {0}; GetPrivateProfileString (L «Устройство», L «Имя устройства», L «», имя устройства, размер, pathToIniFile); GetPrivateProfileString (L «Документ», L «Имя», L «», имя документа, размер, pathToIniFile); } 

2.Как создать собственное приложение предварительного преобразования

Pre-converter - это приложение, которое виртуальный драйвер принтера вызывает перед преобразованием файлов EMF.

Создайте собственный предварительный конвертер, если хотите:

  • Обработайте файлы EMF перед их печатью, например, отредактируйте их
  • Установить пользовательские настройки преобразования EMF
  • Определите для каждого конкретного задания печати, будет ли оно принято или отклонено для печати

Используя предварительный преобразователь, вы можете обрабатывать файлы EMF по мере необходимости и изменять некоторые настройки драйвера виртуального принтера, такие как форматы вывода, водяные знаки, каталог вывода и другие, кроме настроек устройства (размер бумаги, разрешение, ориентация и т. Д.). Все эти настройки хранятся в реестре. Для получения дополнительной информации см. Документацию.

Вход и выход предварительного преобразователя следующие:

Virtual Printer Driver вызывает предварительный преобразователь, передавая путь к INI-файлу со свойствами задания на печать. В соответствии с вашими потребностями вы можете настроить драйвер виртуального принтера для отправки пути к файлу INI в предварительный преобразователь через командную строку, именованный канал или сообщение WM_COPYDATA.

Как работает предварительный преобразователь

Virtual Printer Driver получает задание на печать, извлекает файлы EMF, приостанавливает свои процессы, вызывает предварительный преобразователь и не возобновляет работу до тех пор, пока предварительный преобразователь не обновит статус задания на печать или просто не закроет.

Файл INI на этапе предварительного преобразования выглядит следующим образом:

INI-файл содержит пути ко всем файлам EMF в разделе [EMF] файла и статус задания на печать в разделе [Предварительное преобразование].

После обработки файлов EMF и настройки драйвера виртуального принтера предварительный преобразователь должен обновить состояние задания на печать в файле INI.

Чтобы принять задание на печать, установите для параметра «Статус» значение «возобновлено» в файле INI:

 [Предварительное преобразование] Статус = возобновлено 

Чтобы отклонить задание на печать, установите для параметра «Статус» значение «отменено» в файле INI:

 [Предварительное преобразование] Статус = отменен 

Обратите внимание, что сразу после того, как предварительный преобразователь обновляет файл INI, драйвер виртуального принтера возобновляет свои процессы.Поэтому, если предварительный преобразователь обновляет статус перед обработкой EMF, драйвер виртуального принтера, вероятно, будет использовать их в исходном состоянии, поскольку у предварительного преобразователя нет времени на их изменение.

Настройка предварительного преобразователя

Настройте предварительный преобразователь для виртуального драйвера принтера в соответствии с разделом «Настройки приложения».

Пример

Давайте создадим простое консольное приложение для предварительного преобразования, которое получает путь к файлу INI через командную строку и решает продолжить процесс преобразования, если «HorizontalResolution» и «VerticalResolution» меньше или равно 300, а размер бумаги меньше или равно 2286 x 3048 в десятках мм (9 x 12 дюймов).

Пример исходного кода и решения Visual Studio 2013 доступны здесь.

[код C ++]

 #include  int wmain (int argc, WCHAR const * argv []) { если (argc! = 2) возврат 1; WCHAR const * pathToIniFile = argv [1]; int horzRes = GetPrivateProfileInt (L "Документ", L "HorizontalResolution", 0, pathToIniFile); int vertRes = GetPrivateProfileInt (L «Документ», L «Вертикальное разрешение», 0, pathToIniFile); int paperWidth = GetPrivateProfileInt (L «Документ», L «Ширина бумаги», 0, pathToIniFile); int paperLength = GetPrivateProfileInt (L «Документ», L «PaperLength», 0, pathToIniFile); if (horzRes> 300 || vertRes> 300 || paperWidth> 2286 || paperLength> 3048) { // пропустить преобразование WritePrivateProfileString (L «Предварительное преобразование», L «Статус», L «Отменено», pathToIniFile); } else { // принимаем преобразование WritePrivateProfileString (L «Предварительное преобразование», L «Статус», L «возобновлено», pathToIniFile); } возврат 0; } 

Мы должны установить настройки предварительного преобразователя для виртуального драйвера принтера.

Чтобы настроить наше приложение в качестве предварительного преобразователя, выполните следующие действия:

  1. Откройте реестр и найдите ключ «HKCU / Software / Two Pilots Demo Printer / Application».
  2. В этом ключе создайте ключ «Preconverter».
  3. Добавьте следующие значения в «Preconverter»:
Имя значения Тип значения Описание
Включено REG_DWORD Включает или отключает предварительный преобразователь.Для включения установите значение «1».
Запускаемый файл REG_SZ Полный путь к приложению предварительного конвертера. Например:
C: \ Program Files \ Two Pilots Demo Printer \ pre-converter.exe
Режим передачи REG_DWORD Способ получения предварительным преобразователем пути к файлу INI.Установите «0» для приема через командную строку.

После этого мы можем использовать наш предварительный преобразователь.

Совет: Если вы хотите скрыть приложение предварительного преобразования, вы должны создать приложение Win32 (не консоль) и изменить основную запись:

[код C ++]

 int APIENTRY wWinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLine, int nCmdShow) { int argc = 0; WCHAR ** argv = CommandLineToArgvW (GetCommandLineW (), & argc); // вот тот же код, что и в предыдущей версии приложения предварительного конвертера LocalFree (argv); возврат 0; } 

3.Как создать собственное приложение для постконвертера

Post-converter - это приложение, которое виртуальный драйвер принтера вызывает после преобразования файлов EMF.

Создайте свой собственный пост-конвертер, если хотите:

  • Обработка файлов результатов после печати
  • Покажите результат вашему покупателю
  • Получить дополнительную информацию от Пользователя и использовать ее для дальнейшей обработки

Используя приложение пост-конвертера, вы можете обрабатывать файлы результатов по мере необходимости.

Вход пост-преобразователя следующий:

Драйвер виртуального принтера

вызывает пост-конвертер, передавая путь к файлу INI со свойствами задания на печать и пути к файлам результатов. В соответствии с вашими потребностями вы можете настроить драйвер виртуального принтера для отправки пути к файлу INI постконвертеру через командную строку, именованный канал или сообщение WM_COPYDATA.

Как работает пост-конвертер

Virtual Printer Driver получает задание на печать, извлекает файлы EMF, обрабатывает файлы EMF и вызывает пост-конвертер.

INI-файл на этапе пост-конвертации выглядит так:

Файл INI содержит пути ко всем файлам EMF, BMP, JPEG, TIFF, PNG, PDF и текстовым файлам в соответствующих разделах.

Настройка постконвертера

Настройте пост-конвертер для виртуального драйвера принтера в соответствии с разделом «Настройки приложения» в документации.

Пример

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

Пример исходного кода и решения Visual Studio 2013 доступны здесь.

[код C ++]

 #include  #include  int wmain (int argc, WCHAR const * argv []) { если (argc! = 2) возврат 1; WCHAR const * pathToIniFile = argv [1]; DWORD count = GetPrivateProfileInt (L «PNG», L «Count», 0, pathToIniFile); если (! счет) возврат 0; size_t const pathSize = 1024; WCHAR path [pathSize] = {0}; size_t const keySize = 32; Ключ WCHAR [размер ключа] = {0}; for (DWORD i = 0; i  

Мы должны установить настройки пост-конвертера для драйвера виртуального принтера.

Чтобы настроить наше приложение в качестве пост-конвертера, выполните следующие действия:

  1. Откройте реестр и найдите ключ «HKCU / Software / Two Pilots Demo Printer / Application».
  2. В этом ключе создайте ключ «Постконвертер».
  3. Добавьте в «Постконвертер» следующие значения:
Имя значения Тип значения Описание
Включено REG_DWORD Включает или отключает пост-конвертер.Для включения установите значение «1».
Запускаемый файл REG_SZ Полный путь к приложению пост-конвертера. Например:
C: \ Program Files \ Two Pilots Demo Printer \ post-converter.exe
Режим передачи REG_DWORD Способ получения постконвертером пути к файлу INI.Установите «0» для приема через командную строку.

После этого мы можем использовать наш постконвертер.

Совет: Если вы хотите скрыть свое приложение пост-конвертера, вы должны создать приложение Win32 (не консоль) и изменить основную запись:

[код C ++]

 int APIENTRY wWinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLine, int nCmdShow) { int argc = 0; WCHAR ** argv = CommandLineToArgvW (GetCommandLineW (), & argc); // вот тот же код, что и в предыдущей версии приложения постконвертера LocalFree (argv); возврат 0; } 

4.Как создать собственное приложение пост-конвертера, совместимое с режимом раннего доступа

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

Используйте режим раннего доступа, если хотите:

  • сократить время обработки документов
  • показать результаты пользователю как можно скорее

Вход пост-преобразователя в режиме раннего доступа следующий:

Как работает ранний доступ

Драйвер виртуального принтера получает задание на печать, вызывает путь передачи пост-конвертера к файлу INI со свойствами задания на печать.

Файл INI на этом этапе выглядит так:

INI-файл содержит статус задания на печать в разделе [Документ]. На этом этапе он установлен на «Спулинг».

Для каждой страницы задания на печать, драйвер виртуального принтера:

  • Распаковать файл EMF
  • Обработка файла EMF
  • Передает пути к файлам результатов в пост-конвертер

Пути к файлам результатов запакованы в пакет. В каждом пакете хранится имя устройства, идентификатор задания на печать и пути к файлам результатов с нулем ('\ 0') в качестве разделителя и двойным нулем в конце пакета.

Например, упаковка:

«Демонстрационный принтер Two Pilots \ 017 \ 0c: \ Output \ result.emf \ 0c: \ Output \ result.png \ 0 \ 0»

поступает с устройства «Two Pilots Demo Printer», идентификатор задания - 17, и есть два файла «c: \ Output \ result.emf» и «c: \ Output \ result.png».

В конце преобразования драйвер виртуального принтера передает путь к файлу INI в пост-конвертер. Файл INI на этом этапе выглядит так:

Статус задания на печать в разделе [Документ] установлен на «Напечатано».

Пример

Давайте создадим приложение Win32, которое получает данные через сообщение WM_COPYDATA и показывает файл BMP в программе просмотра по умолчанию.

Пример исходного кода и решения Visual Studio 2013 доступны здесь.

Пример кода ниже показывает обработку WM_COPYDATA в диалоговой процедуре.

[код C ++]

 BOOL CALLBACK DialogProc (HWND hDlg, сообщение UINT, WPARAM wParam, LPARAM lParam) { switch (Сообщение) { case WM_COPYDATA: { COPYDATASTRUCT * data = (COPYDATASTRUCT *) lParam; // пакет - это массив строк «значение0 \ 0значение1 \ 0значение2 \ 0… \ 0 \ 0» WCHAR const * package = (WCHAR const *) data-> lpData; std :: wstring fileName (пакет); // Получаем расширение fileName std :: size_t index = имя_файла.rfind ('.'); std :: wstring extension = L ""; если (индекс! = std :: string :: npos) extension = fileName.substr (index + 1); if (! _wcsicmp (extension.c_str (), L "ini")) { // Получен INI-файл. // Здесь мы можем получить информацию о задании печати и внести некоторые изменения в настройки VPD } else { // пути к преобразованным файлам, полученным в формате "имя принтера \ 0 id задания \ 0file0 \ 0file1 \ 0… \ 0 \ 0" пакет + = wcslen (пакет) + 1; // пропускаем заголовок "имя принтера \ 0" пакет + = wcslen (пакет) + 1; // пропускаем заголовок "id задания \ 0" WCHAR const * ptr = package; while (ptr [0]) { fileName = ptr; // находим расширение fileName index = имя_файла.rfind ('.'); if (index! = std :: string :: npos) { extension = fileName.substr (index + 1); if (! _wcsicmp (extension.c_str (), L "bmp")) {// найден BMP файл images.addImage (имя_файла); updateStatics (hDlg, currentImage, images.getSize (), images.getImage (currentImage) .c_str ()); InvalidateRect (hDlg, NULL, TRUE); возврат 0; } } ptr + = wcslen (ptr) + 1; } } возврат 0; } //… } 

Мы должны установить настройки пост-конвертера для драйвера виртуального принтера.

Чтобы настроить наше приложение в качестве пост-конвертера, выполните следующие действия:

  1. Откройте реестр и найдите ключ «HKCU / Software / Two Pilots Demo Printer / Application».
  2. В этом ключе создайте ключ «Постконвертер».
  3. Добавьте в «Постконвертер» следующие значения:
Имя значения Тип значения Описание
Включено REG_DWORD Включает или отключает пост-конвертер.Для включения установите значение «1».
Запускаемый файл REG_SZ Полный путь к приложению пост-конвертера. Например:
C: \ Program Files \ Two Pilots Demo Printer \ Early-access.exe.
Режим передачи REG_DWORD Способ получения постконвертером пути к файлу INI.Установите «1» для получения через сообщение WM_COPYDATA.
Ранний доступ REG_DWORD Включает или отключает режим раннего доступа. Для включения установите значение «1».
Класс окна REG_SZ Класс окна приложения компонента. Например, ClientAppClass
Заголовок окна REG_SZ Заголовок окна приложения компонента.Например, ClientAppTitle.

После этого мы можем использовать наш пост-конвертер в режиме раннего доступа.

5. Как получить и установить ориентацию бумаги в принтере

В этом примере мы используем API VPD SDK, который распространяется как часть пакета Devkit, вы можете скачать его здесь.

[код C ++]

 #include  void paperOrientationTest (std :: wstring const & printerName) { // получаем ориентацию бумаги vpd :: PaperOrientation result; vpd :: getPaperOrientation (имя_принтера, результат); если (результат == vpd :: PaperOrientationLandscape) возвращение; // устанавливаем ориентацию бумаги в альбомный режим vpd :: setPaperOrientation (имя_принтера, vpd :: PaperOrientationLandscape); } 

6.Как создать, добавить, установить, перечислить, получить и удалить бумажную форму для указанного принтера

В этом примере мы используем API VPD SDK, который распространяется как часть пакета Devkit, вы можете скачать его здесь.

[код C ++]

 #include  void paperFormsTest (std :: wstring const & printerName) { // создаем новую бумажную форму vpd :: PaperForm testForm; wcsncpy_s (testForm.mName, L "тестовая форма", vpd :: PaperForm :: paperFormSize - 1); testForm.mWidth = testForm.mHeight = 1234.0f; // ширина и высота 1234.0 testForm.mMeasure = vpd :: PaperSizeMeasureMetrics; // ширина и высота в метриках testForm.mPrecision = vpd :: PaperSizePrecisionNormal; // ширина и высота с нормальной точностью, т.е. мм или дюймы // добавляем бумажную форму в список форм принтера vpd :: addPaperForm (имя_принтера, testForm); // устанавливаем форму "тестовой формы" для выбранного принтера vpd :: setPaperForm (имя_принтера, testForm); // перечисляем бумажные формы vpd :: AutoReleasePtr  forms (0); std :: size_t size = 0; vpd :: enumPaperForms (имя_принтера, forms.getRef (), размер, vpd :: PaperSizeMeasureMetrics); vpd :: PaperForm form; for (std :: size_t i = 0; i  

7. Как получить, установить и пересчитать лоток для бумаг для указанного принтера

В этом примере мы используем API VPD SDK, который распространяется как часть пакета Devkit, вы можете скачать его здесь.

[код C ++]

 #include  void paperBinTest (std :: wstring const & printerName) { // подсчитываем лотки для бумаги vpd :: AutoReleasePtr  бункеры (nullptr); std :: size_t size = 0; int result = vpd :: enumPaperBins (имя_принтера, bins.getRef (), размер); // получаем корзину для бумаги WORD bin = 0; vpd :: getPaperBin (имя_принтера, корзина); если (bin == DMBIN_CASSETTE) возвращение; for (std :: size_t i = 0; i  

8. Как получить, установить и пересчитать разрешения печати для указанного принтера

В этом примере мы используем API VPD SDK, который распространяется как часть пакета Devkit, вы можете скачать его здесь.

[код C ++]

 #include  void resolutionTest (std :: wstring const & printerName) { // получаем разрешение принтера vpd :: PrintResolution resolution; vpd :: getPrintResolution (имя_принтера, разрешение); если (разрешение.mDpiX <= 300 || разрешение.mDpiY <= 300) возвращение; // перечисляем разрешения принтера vpd :: AutoReleasePtr  разрешения (nullptr); std :: size_t size = 0; vpd :: enumPrintResolutions (имя_принтера, разрешениеs.getRef (), размер); for (std :: size_t i = 0; i  

9.Как пересчитать данные формы бумаги для указанного принтера

В этом примере мы используем API VPD SDK, который распространяется как часть пакета Devkit, вы можете скачать его здесь.

[код C ++]

 #include  void formInfoTest (std :: wstring const & printerName) { // перечисляем информацию о формах для выбранного принтера vpd :: AutoReleasePtr  forms (nullptr); std :: size_t size = 0; vpd :: enumFormInfo (имя принтера, forms.getRef (), размер); } 

10.Как получить и установить DEVMODE для указанного принтера

В этом примере мы используем API VPD SDK, который распространяется как часть пакета Devkit, вы можете скачать его здесь.

[код C ++]

 #include  void devmodeTest (std :: wstring const & printerName) { // получить DEVMODE для указанного принтера vpd :: Devmode devmode (vpd :: getDevmode (имя_принтера)); // изменяем DEVMODE devmode-> dmFields | = DM_COPIES | DM_COLLATE | DM_DUPLEX; devmode-> dmCopies = 1; devmode-> dmCollate = DMCOLLATE_FALSE; devmode-> dmDuplex = DMDUP_HORIZONTAL; // устанавливаем DEVMODE vpd :: setDevmode (имя_принтера, режим разработки); } 

11.Как пронумеровать принтеры в системе

В этом примере мы используем API VPD SDK, который распространяется как часть пакета Devkit, вы можете скачать его здесь.

[код C ++]

 #include  void printerTest (void) { vpd :: AutoReleasePtr  принтеры (nullptr) std :: size_t size = 0; // перечисляем локальные принтеры vpd :: enumPrinters (vpd :: PrinterLocationLocal, printers.getRef (), размер); для (std :: size_t i = 0; i  

12. Как запустить, остановить, получить текущее состояние и перечислить зависимости для указанной службы Windows

В этом примере мы используем API VPD SDK, который распространяется как часть пакета Devkit, вы можете скачать его здесь.

[код C ++]

 #include  void serviceTest (std :: wstring const & serviceName) { // получаем текущее состояние сервиса Состояние DWORD = 0; vpd :: getServiceCurrentState (имя_службы, состояние); switch (состояние) { case SERVICE_STOPPED: // запускаем службу vpd :: startService (имя_службы); перерыв; case SERVICE_RUNNING: // остановка службы vpd :: stopService (имя_службы); перерыв; } // перечисляем службы, которые зависят от выбранной службы vpd :: AutoReleasePtr  services (nullptr); std :: size_t size = 0; vpd :: enumDependentServices (имя_службы, services.getRef (), размер); для (std :: size_t i = 0; i  

13. Как устанавливать, получать и удалять настройки для основных функций драйвера виртуального принтера

Настройки виртуального драйвера принтера, хранящиеся в структурах POD, например, текстовая структура настроек:

[код C ++]

 struct TextSettings { беззнаковый длинный mEnable; / ** <включить или отключить формат файла ТЕКСТ * / беззнаковый длинный mMultipage; / ** <включить или отключить многостраничность * / TextEncoding mEncoding; / ** <кодировка текста * / беззнаковый длинный mWriteBOM; / ** <включение или отключение спецификации в текстовых файлах * / беззнаковое длинное mSingleLineInterval; / ** <установить ширину интервала по оси OY, в котором два слова находятся в одной строке * / беззнаковое длинное mSingleWordInterval; / ** <расстояние между двумя словами, которые должны быть в одном слове * / unsigned long mDebug; / ** <включить или отключить вывод отладки в текстовых файлах * / unsigned long mKeepFormatting; / ** <включить или отключить вывод в текстовом формате * / беззнаковый длинный mDefaultBidirectionalAlgorithm; / ** <использовать двунаправленный алгоритм по умолчанию * / unsigned long mCleanup; / ** <удалить ТЕКСТОВЫЕ файлы после обработки * / }; 

Для каждой структуры VPD SDK API предоставляет методы установки, получения и удаления, например

[код C ++]

 int getTextSettings (TextSettings & settings, unsigned int hive, std :: wstring const & registryKey); int setTextSettings (TextSettings const & settings, unsigned int hive, std :: wstring const & registryKey); int removeTextSettings (unsigned int hive, std :: wstring const & registryKey); 

, где куст - куст реестра, может принимать одно или несколько из следующих значений:

  • REGISTRY_HKLM: используйте куст HKEY_LOCAL_MACHINE;
  • REGISTRY_HKCU: используйте куст HKEY_CURRENT_USER.

, если улей содержит оба улья HKLM и HKCU, тогда метод get сначала считывает настройки из улья HKCU.

[код C ++]

 беззнаковый int hive = vpd :: REGISTRY_HKCU | vpd :: REGISTRY_HKLM; 

RegistryKey - это корневой ключ для настроек драйвера виртуального принтера в выбранном улье, например «Software \\ Two Pilots Demo Printer» означает «HKCU \ Software \ Two Pilots Demo Printer» или «HKLM \ Software \ Two Pilots Demo» Принтер ».

В этом примере мы используем API VPD SDK, который распространяется как часть пакета Devkit, вы можете скачать его здесь.

[код C ++]

 #include  void textSettingsTest (void) { std :: wstring const textRoot = std :: wstring (L "Программное обеспечение \\ Двухпилотный демонстрационный принтер"); vpd :: TextSettings textSettings = {0}; // получаем настройки текста vpd :: getTextSettings (textSettings, vpd :: REGISTRY_HKCU | vpd :: REGISTRY_HKLM, textRoot); textSettings.mMultipage = 1; textSettings.mSingleLineInterval = 10; textSettings.mDebug = 1; // сохраняем текстовые настройки в HKLM hive vpd :: setTextSettings (textSettings, vpd :: REGISTRY_HKLM, textRoot); // и удаляем текстовые настройки из улья HKCU vpd :: removeTextSettings (vpd :: REGISTRY_HKCU, textRoot); } 


На главную Загрузить Цены Часто задаваемые вопросы Руководство Учебные пособия Известные проблемы Новости

.Печать

- Создание виртуального принтера на Java

Переполнение стека
  1. Около
  2. Товары
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
.

Как превратить любой принтер в умный Wi-Fi-принтер

Принтеры - худшие. Нет, правда: это прямая цитата из каждой дискуссии, которую наша редакция ведет о печати. Принтеры застревают, засоряются, собирают несколько листов бумаги вместо одного, случайным образом обрывают соединения Wi-Fi и требуют регулярного расхода чернил, что, кажется, почти на вес золота. Даже The Wirecutter соглашается: «Все принтеры разочаровывают».

Возможно, самое большое разочарование при использовании принтеров - это настройка их таким образом, чтобы вы могли надежно печатать на любом из ваших устройств из любой точки дома или даже за пределами дома, особенно если у вас нет беспроводного принтера.Хотя существует несколько способов совместного использования принтера из Windows или macOS в вашей сети, они могут быть легко испорчены и более ограничены, чем лучшая альтернатива: Google Cloud Print. Вот как использовать Google Cloud Print для совместного использования принтера с вашими компьютерами, телефонами и планшетами и печати из любой точки мира.

Что такое виртуальный принтер Google?

Печать из любого места через Google Cloud Print (анимация через Google)

Нет, это не лучший принтер в облаке, который мгновенно доставляет распечатанные копии ваших документов к вашей двери.Виртуальный принтер Google выполняет более простую - и, возможно, даже более мощную - задачу: превратить любой принтер в интеллектуальный беспроводной принтер.

Настройте свой принтер с помощью виртуального принтера, и вы сможете печатать с любого устройства или веб-сайта из любой точки земного шара. Если у вас есть Wi-Fi-принтер с включенным виртуальным принтером, ваш документ будет автоматически распечатан, ожидая, когда вы его заберете, когда вернетесь домой. У вас есть USB-принтер? В следующий раз, когда вы подключите его к компьютеру и откроете Chrome, все документы Google Cloud Print из очереди будут автоматически распечатаны.Вы также можете поделиться им - это один из самых простых способов позволить всей семье или офису распечатать документы.

И, в отличие от стандартной сетевой печати, вы можете настроить ее за 5 минут или меньше - и вам больше не придется об этом беспокоиться.

Как предоставить общий доступ к любому принтеру с помощью Google Cloud Print

Все, что вам нужно, чтобы добавить принтер в Google Cloud Print:

  1. USB или сетевой принтер, который работает с вашим компьютером под управлением Windows, Mac или Linux
  2. Аккаунт Google
  3. Google Chrome установлен на вашем компьютере

Включите принтер и подключите его к компьютеру, если вы еще этого не сделали.Затем откройте Chrome и введите в адресной строке следующее, чтобы открыть инструмент скрытого принтера Chrome: chrome: // devices . (Это ярлык. Более длинный, но более интуитивно понятный путь - открыть страницу настроек Chrome и выбрать опцию Google Cloud Print внизу страницы. Откроется страница настроек, на которой вы можете добавить «классические принтеры» в Google Cloud Print.) Щелкните Добавить принтеры .

Chrome затем покажет все принтеры, которые работают с вашим компьютером, как USB, так и сетевые принтеры.Выберите те, которые вы хотите добавить в виртуальный принтер, и укажите, должен ли Chrome автоматически добавлять новые принтеры, которые вы устанавливаете в виртуальный принтер.

Вот и все. Теперь ваш принтер является виртуальным принтером, готовым к печати документов из Интернета.

Совет: Если у вас есть принтер со встроенным Wi-Fi за последние пару лет, скорее всего, он имеет встроенный Google Cloud Print. Ознакомьтесь с руководством по эксплуатации вашего принтера или на сайте Google Cloud Print Ready, чтобы узнать, как это сделать. настроить это.Обычно вы открываете настройки вашего принтера на своем компьютере, как показано на изображении ниже. После того, как вы все настроите, вы можете печатать из виртуального принтера в любое время, пока ваш принтер включен и подключен к Интернету - компьютер не нужен.

Как предоставить общий доступ к принтеру в Google Cloud Print

Дружелюбный? Как и любой другой документ на Google Диске, вы также можете предоставить общий доступ к своему принтеру Cloud Print, чтобы друзья и коллеги могли быстро распечатать документы.

Для этого посетите страницу настроек Виртуального принтера Google в Google.com / cloudprint # printers, выберите свой принтер и нажмите кнопку Поделиться . Вы можете добавить определенных людей по электронной почте, пригласить всю группу Google (отличный способ поделиться принтером внутри компании) или скопировать ссылку, чтобы поделиться принтером. В последнем случае любой, кто перейдет по ссылке, сможет использовать ваш принтер.

Обеспокоены бесконечным потоком заданий на печать? Вы можете установить ограничение на количество страниц, которые пользователи могут распечатывать в день - 15 по умолчанию.

Как просмотреть свои вакансии в Google Cloud Print

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

Виртуальный принтер Google включает тот же инструмент. Вы можете открыть страницу заданий печати виртуального принтера по адресу google.com/cloudprint#jobs и просмотреть список всего, что распечатали вы или другие пользователи, которым вы предоставили общий доступ к принтеру. Также будут отображаться ожидающие задания на печать - и если вы решили, что не хотите что-либо печатать, щелкните его имя, затем нажмите Удалить , чтобы не тратить бумагу впустую. Вы не можете просмотреть фактические напечатанные документы, но вы можете получить хотя бы подробную информацию о том, кто что напечатал.


Как печатать через Google Cloud Print

Возможно, неудивительно, что самый простой способ печати с помощью Google Cloud Print - это Google Chrome.Откройте любой веб-сайт или веб-приложение, нажмите Ctrl + P или CMD + P или щелкните значок печати, и диалоговое окно печати Google Chrome по умолчанию позволяет печатать что угодно через виртуальный принтер. Все, что вам нужно сделать, это выбрать правильный принтер. Chrome покажет принтер вашего компьютера по умолчанию; нажмите Изменить , затем выберите свой принтер под заголовком Google Cloud Print .

Распечатайте как обычно - используя те же настройки принтера, чтобы выбрать размер страницы, цвет и т. Д. - и Chrome распечатает это через Google Cloud Print.Это работает везде - на Android, iOS, Windows, macOS, Linux и на Chromebook.

Хотите распечатать изображение, документ PDF или другой файл, который можно просмотреть в Google Chrome? Перетащите документ в Chrome и распечатайте его так же, как если бы вы распечатывали что-либо в Интернете.

Совет Хотите вместо этого PDF-копию вашего документа? Выберите Сохранить на Google Диске «принтер» в Google Cloud Print, и ваш файл будет сохранен на Google Диске, а не распечатан.Это простой способ сохранить что-либо в формате PDF, особенно на мобильном устройстве.

Вы также можете использовать Google Cloud Print из других приложений. Если вы не используете Google Chrome, виртуальный принтер по-прежнему работает в Google Документах и ​​Gmail в Интернете. Щелкните Печать в приложениях, и вы увидите диалоговое окно «Виртуальный принтер» выше. Если принтер находится в автономном режиме, он будет серым, однако выберите его, и вы все равно сможете печатать на нем.

Или, если вы работаете с мобильного устройства, Google Документы, Диск, Gmail и другие приложения на iOS и Android также поддерживают Виртуальный принтер Google.Нажмите Печать и выберите принтер виртуального принтера, который хотите использовать в обычном режиме.

Хотите распечатать на Google Cloud Print из любого приложения на вашем компьютере или телефоне? Вот инструменты для этого:

Как печатать с помощью Google Cloud Print из Windows

Google упрощает работу в Windows с помощью официального приложения Cloud Printer, которое добавляет Google Cloud Print в качестве еще одного принтера на ваш компьютер. Установите приложение, затем распечатайте как обычно из любого приложения на вашем компьютере.В стандартном диалоговом окне печати выберите Виртуальный принтер Google в качестве принтера.

Это откроет новое окно в Google Chrome с параметрами печати, аналогичными тем, которые указаны в Документах Google выше. Выберите принтер, который вы хотите использовать для обычной печати с помощью виртуального принтера.

→ Загрузить Виртуальный принтер Google для Windows

Как печатать с помощью Google Cloud Print из macOS

Чтобы использовать Google Cloud Print для печати из любого приложения Mac, вам необходимо приобрести 4 доллара США.99 Виртуальный принтер из Mac App Store. Откройте его и войдите в свою учетную запись Google, и вы увидите каждый из подключенных принтеров, их настройки и любые документы в очереди. Есть кнопка Открыть файл , чтобы открыть что-либо и добавить это в свою очередь печати.

Затем, чтобы печатать из любого приложения, загрузите сопутствующий виртуальный принтер и установите его. Затем у вас будет вариант Cloud Printer в обычном диалоговом окне печати Mac, который вы можете использовать для печати всего, что захотите.

→ Купить виртуальный принтер (4,99 доллара США) в Mac App Store

Как печатать с помощью Google Cloud Print с Android

У

Android, пожалуй, самый простой. Многие устройства Android сегодня поставляются со встроенным Виртуальным принтером Google. Распечатайте как обычно из меню приложения, затем выберите Виртуальный принтер Google и принтер, который вы хотите использовать.

Если вы не можете найти опцию, загрузите приложение Cloud Print бесплатно. Затем вы можете открывать документы в приложении и распечатывать их - или использовать его из меню печати.

→ Загрузите Виртуальный принтер для Android (бесплатно) из магазина Google Play

Как печатать с помощью Google Cloud Print с iPhone и iPad

На iPhone или iPad у вас есть два отличных варианта для печати чего угодно с помощью Google Cloud Print. Самым дешевым и простым является бесплатное приложение CloudPrint. Установите его, затем откройте приложение и войдите в свою учетную запись Google.

Затем, когда вы хотите что-то напечатать из любого приложения, коснитесь значка Share в приложении, выберите значок CloudPrint (включите его в опции More , если вы его не видите) и выберите принтер, который вы хочу использовать.Затем вы можете просмотреть свои задания на печать и отменить их в меню приложения CloudPrint.

Или, для получения дополнительных функций, рекомендуемое Google приложение PrintCentral Pro позволяет вам систематизировать файлы и распечатывать их через виртуальный принтер, а также включает расширение принтера, такое как CloudPrint, для печати из любого приложения.

→ Загрузите CloudPrint (бесплатно) или купите PrintCentral Pro (7,99 долл. США) в App Store.

Как автоматически печатать из облака с помощью Zapier

Или вы можете пропустить нажатие кнопки печати, и ваши приложения будут печатать файлы автоматически.Это возможно с помощью инструмента автоматизации приложений Zapier, который имеет встроенную интеграцию с Google Cloud Print, которая может автоматически печатать ваши файлы, простой текст и копии в формате HTML.

Допустим, вы хотите автоматически распечатывать электронные письма Gmail с этикеткой Print или новые файлы, сохраненные в определенной папке Dropbox, или заметки Evernote в записной книжке Print - или хотите распечатать что-нибудь еще, что вам нужно на бумаге. из - без лишних мыслей, связанных с запоминанием нажатия кнопки «Печать».Вот как это работает:

  1. Откройте Zapier и нажмите кнопку Make a Zap
  2. Выберите приложение, из которого вы хотите распечатать файлы, в качестве триггерного приложения
  3. Выберите Google Cloud Print в качестве приложения действия, выберите действие Submit Print Job и подключите Zapier к своей учетной записи Cloud Print.
  4. Добавьте файл или текст, который хотите напечатать, щелкнув значок + рядом с полем Content , как на скриншоте выше.Выберите тип содержимого ниже, затем выберите правильный принтер.
  5. Протестируйте и включите Zap.

Теперь, когда что-то новое добавляется в выбранное вами приложение-триггер, Zapier автоматически распечатывает этот файл или текст на вашем принтере Google Cloud Print. Это самый простой способ распечатать материал. Вот некоторые из самых популярных способов автоматизации вашей печатной работы:

Узнайте, как Hydro Empire автоматически печатает этикетки и многое другое с помощью Zapier и Google Cloud Print.


Производственная печать

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

Виртуальный принтер Google не решит наихудшие проблемы принтеров, но сгладит острые углы.Вместо того, чтобы бесконечно настраивать параметры общего доступа к сети, вы можете один раз настроить принтер с помощью Виртуального принтера, а затем печатать на нем с любого из ваших устройств в любой точке земного шара, даже если ваш принтер выключен. Затем, когда вы вернетесь домой или в офис, включите принтер и подключите его к принтеру, и Google Cloud Print сотворит чудеса.

Теперь, когда вы улучшили свой принтер, возможно, пришло время приобрести и новый факсимильный аппарат. Нет, правда - вот лучшие приложения для отправки документов по факсу, а также приложения для их подписи и сканирования, поэтому вам не придется распечатывать документы только для того, чтобы подписать и отсканировать их снова.

Изображение предоставлено: Фон баннера на основе фотографии Макса Уиллера с Flickr; Анимация виртуального принтера через сайт виртуального принтера Google.

.

Смотрите также