Virtual Printer for Developers
© 2000-2012, Two Pilots

На английском: Virtual Printer
Другие проекты: PDF Library
В начало История версий Документация Скачать Поддержка Купить

Виртуальный Принтер для C++, C#, VB.NET, Delphi, VB (Visual Basic)

 

Sample Client Application

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

Sample Client Application для интерфейса Виртуального принтера

Вы можете открыть диалог "Свойства" для Виртуального принтера, нажав кнопку "Настройки Принтера".

Диалог Свойства для Виртуального принтера

 

Что Вам необходимо сделать, чтобы создать Sample Client Application на C++/MFC:

Считать из реестра режим передачи пути к INI файлу от виртуального принтера к заданному клиентскому приложению.

Этот параметр хранится в реестре в ветке "HKEY_LOCAL_MACHINE\SOFTWARE\Your Virtual Printer Example", ключ - "Transfer Mode". В C++/MFC значение этого параметра можно получить следующим образом:

// Get transfer mode related settings from the printer configuration
HKEY hKey = NULL;
DWORD dwSize = 0;
CString sKeyName;
CString sRegistryKey = "Your Virtual Printer Example";

sKeyName.Format("Software\\%s", sRegistryKey);
if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, sKeyName, 0, KEY_READ, &hKey) == ERROR_SUCCESS)
{
    RegQueryValueEx(hKey, "Transfer Mode", NULL, NULL, (BYTE*) &m_iTransferMode, &(dwSize = sizeof(int)));
    RegCloseKey(hKey);
}

Получить путь к INI файлу. Способы получения получения этого пути в зависят от "Transfer Mode":

Распарсить INI файл для получения информации о печати и путей для сгенерированных принтером файлов. В C++/MFC это можно сделать следующим образом:

char szBuf[512] = {0};
CString sTemp;

// Show device name
GetPrivateProfileString("Device", "DeviceName", NULL, szBuf, sizeof(szBuf), sInputIniFilePath);

// Show print job (document) page count
GetPrivateProfileString("Document", "Pages", NULL,szBuf, sizeof(szBuf), sInputIniFilePath);

iCount = GetPrivateProfileInt("EMF", "Count", 0, sInputIniFilePath);

for (j = 0; j < iCount; j++)
{
    sTemp.Format("File%d", j);
	
    GetPrivateProfileString("PDF", sTemp, NULL, szBuf, sizeof(szBuf), sInputIniFilePath);
}

 

Скачать Sample Client Application:

Виртуальный принтер для C++/MFC
Виртуальный принтер для Delphi
Виртуальный принтер для C#
Виртуальный принтер для VB.Net
Виртуальный принтер для VB6
Виртуальный принтер для нескольких языков

О компании | Контакты | Карта сайта

Copyright © 2000-2012 Two Pilots. Все права защищены.