Вот моя ситуация:
- Я разрабатываю надстройку C # для сторонней программы
- Эта программа (Revit) использует свои собственные методы печати и предоставляет их через свой API
- Я пишу утилиту печати, которая использует эти методы для печати в разных местах, включая принтер PDF
- Я использую PDF995 в качестве принтера и изменяю его файл .ini для его автоматизации.
- Обычно я вызываю метод print в API, который печатает активный чертеж на указанном принтере.
Моя проблема в том, что в PDF995, если вы переходите к настройкам печати в Windows, ориентация по умолчанию установлена в «портрет». Мне нужен пейзаж. Кажется, что эти настройки переопределяют все, что я установил в Revit API, поэтому мне нужен способ изменения настроек Windows.
Я пробовал этот код:
PrintDocument printDocument = new PrintDocument();
printDocument.PrinterSettings.PrinterName = "PDF995";
printDocument.DefaultPageSettings.Landscape = true;
до вызова функции печати в API, но это не имеет значения. Я не вижу способа отредактировать pdf995 ini, чтобы установить эти настройки. Это настройки Windows, которые мне нужно переопределить.
Я видел в сети некоторый код C ++, который я могу вызвать для работы с принтерами, но не могу найти пример изменения настроек по умолчанию.
Кто-нибудь может указать мне правильное направление?