Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Название статьи: "Работа с COM API MS Access Interop и печать в Delphi 2009: настройка имени файла и выбора принтера"

Delphi , Базы данных , Access

Работа с COM API MS Access Interop и печать в Delphi 2009: настройка имени файла и выбора принтера

При работе с базами данных MS Access через COM API в среде Delphi 2009, разработчики часто сталкиваются с необходимостью тонкой настройки процессов печати. В частности, важно уметь управлять именами файлов, которые отправляются в печать, а также иметь возможность выбора конкретного принтера для выполнения задачи. В данной статье мы рассмотрим, как решить эти задачи на примере Object Pascal (Delphi).

Проблема с именами файлов при печати

Пользователи Delphi 2009, использующие MS Access Interop COM API, сталкиваются с проблемой, когда имя файла, отправляемого в печать, по умолчанию соответствует имени базы данных MS Access, а не имени фактического файла, который необходимо распечатать. Это может быть критично, особенно если используется виртуальный драйвер принтера, который конвертирует документы в изображение.

Пример кода

В приведенном ниже примере кода функция ToTiff предназначена для конвертации файла в формат TIFF с помощью виртуального драйвера принтера:

unit Converter.Handlers.Office.Access;
interface
uses
  sysutils, variants,
  Converter.Printer,
  Office_TLB, Access_TLB, UDC_TLB;
procedure ToTiff(p_Printer: PrinterDriver; p_InputFile, p_OutputFile: String);
implementation
procedure ToTiff(p_Printer: PrinterDriver; p_InputFile, p_OutputFile: String);
var
  AccessApp : AccessApplication;
begin
  AccessApp := CoAccessApplication.Create;
  AccessApp.Visible := False;
  try
    AccessApp.OpenCurrentDatabase(p_InputFile, True, '');
    AccessApp.RunCommand(acCmdQuickPrint);
    AccessApp.CloseCurrentDatabase;
  finally
    AccessApp.Quit(acQuitSaveNone);
  end;
end.

Настройка имени файла и выбора принтера

Для решения вопроса с управлением именами файлов и выбором принтера необходимо использовать дополнительные возможности COM API MS Access. В частности, можно использовать свойства AccessApp.Printers для получения списка доступных принтеров и настройки, а также свойство AccessApp.Printer для установки текущего принтера.

Подтвержденный ответ

Microsoft выпустила горячее исправление, касающееся сохранения настроек диалога "Page Setup", что может повлиять на работу вашего кода. Для управления принтерами можно использовать следующие объекты:

  • AccessApp.Printers — список всех доступных принтеров и их настройках.
  • AccessApp.Printer — возможность установки текущего принтера или изменение настроек текущего принтера.

Пример настройки принтера

AccessApp.Printers.Item(0).Name := 'Имя вашего принтера'; // Установка имени принтера
AccessApp.Printer := AccessApp.Printers.Item(0); // Выбор конкретного принтера

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

Заключение

В статье были рассмотрены основные проблемы, с которыми сталкиваются разработчики при работе с печатью в MS Access Interop в среде Delphi 2009, а также предложены пути их решения. Несмотря на то, что некоторые вопросы остаются открытыми, разработчики могут использовать предоставленные примеры и рекомендации для более глубокой настройки процессов печати в своих проектах.

Создано по материалам из источника по ссылке.

Разработчики в Delphi 2009 используют COM API MS Access Interop для настройки печати, в том числе управления именами файлов и выбором принтеров.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Access ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2025-02-05 15:54:57/0.012090921401978/0