Я использую Delphi 2009 и MS Access Interop COM API. Я пытаюсь понять две вещи, но одна сейчас важнее другой.
Мне нужно знать, как задать имя файла при отправке задания на печать в спулер. В настоящее время по умолчанию используется имя БД Access, которое может отличаться от имени файла. Мне просто нужно убедиться, что когда это напечатано, оно входит в катушку печати, используя то же имя файла, что и сам файл, а не имя БД. Моя катушка принтера на самом деле представляет собой виртуальный драйвер печати, который преобразует документы в изображение.
Это моя главная проблема. Второй вопрос - как указать, какой принтер использовать. На данный момент это менее важно, потому что сейчас я просто использую принтер по умолчанию. Было бы неплохо, если бы я мог указать принтер для использования.
Кто-нибудь знает одну из этих двух проблем? Заранее спасибо.
Я вставлю свой код:
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;
end.