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

**Как настроить вывод документов в OpenOffice Writer на определенный принтер через Delphi**

Delphi , Технологии , OLE

Как настроить вывод документов в OpenOffice Writer на определенный принтер через Delphi

Вы хотите управлять выводом документов в OpenOffice Writer через Delphi, выбирая принтер в зависимости от типа документа. Это можно реализовать с помощью библиотеки OOoTools для автоматизации OLE в OpenOffice.

Проблема

В OpenOffice Writer существует возможность печати документов под управлением программы, но не на принтере по умолчанию, а на определенных принтерах в зависимости от типа документа. Для этого необходимо настроить свойства печати документа.

Решение

Используя библиотеку OOoTools, можно управлять выводом документа на определенный принтер, изменяя свойства печати. В коде ниже приведен пример функции, которая устанавливает принтер для документа:

procedure TMyOODocClass.PrintTo(PrinterName: AnsiString);
var
  docObj: Variant; // Текущий объект документа OOo, реализующий IXPrintable
  emptyProps, printProps: Variant;
  propName: AnsiString;
begin
  docObj := GetMyActiveDocument; // Получение текущего активного документа
  try
    emptyProps := VarArrayCreate([0, -1], varVariant); // Пустой массив свойств
    if PrinterName <> '' then
    begin
      propName := 'Name';
      printProps := CreateProperties([propName, PrinterName]); // Создание свойства
      docObj.SetPrinter(printProps); // Установка свойств принтера
    end;
    docObj.Print(emptyProps); // Начало печати
  except
    on E: EOleException do
    begin
      raise EOOoError.Create('OpenOffice Document Print failed. ' + E.Message);
    end;
  end;
end;

Важные моменты

  • При создании свойств для печати важно использовать функцию CreateProperties, которая корректно обрабатывает строки (в данном случае AnsiString).
  • Функция печати Print вызывается без параметров, после установки свойств принтера через метод SetPrinter.
  • Полный пример, который можно скомпилировать и запустить, доступен на bitbucket.

Дополнительные сведения

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

Используя данный подход, вы сможете настраивать вывод документов в OpenOffice Writer на определенные принтеры в зависимости от ваших нужд, управляя процессом печати из вашего Delphi-приложения.

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

Описание контекста: Вы хотите настроить вывод документов в OpenOffice Writer на определенный принтер через Delphi, используя библиотеку OOoTools для автоматизации процессов в OpenOffice.


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

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




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


:: Главная :: OLE ::


реклама


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

Время компиляции файла: 2024-12-22 20:14:06
2024-12-26 16:25:15/0.011454820632935/0