Інтерфейс виводу Aspose.TeX | Python
Щоб отримати офіційні визначення реалізації вводу/виводу, зверніться до посилання на API **Aspose.TeX для Python **.
Ідея вихідного каталогу
Aspose.TeX визначає каталог як відображення між іменами та масивами даних, де масиви даних можуть бути файлами, потоками, масивами або іншими типами даних. API дозволяє специфікувати окремі вхідні та вихідні робочі каталоги. Для виведення API надає загальний інтерфейс IOutputWorkingDirectory, який користувач може реалізувати для своїх конкретних потреб. Крім того, API надає готові до використання реалізації, які будуть розглянуті нижче. Інтерфейс IOutputWorkingDirectory розширює IInputWorkingDirectory, оскільки механізм може спочатку створити та записати файл, а потім прочитати його назад. Інтерфейс містить метод get_output_file(), який повертає потік для запису, на відміну від методу get_file(), який повертає потік для читання.
Збереження результату як файл у файловій системі диска
Як згадувалося вище, output_working_directory зазвичай встановлюється як екземпляр класу OutputFileSystemDirectory.
Ось як ми це встановимо:
1# Create conversion options instance.
2...
3# Specify a file system working directory for the output.
4options.output_working_directory = OutputFileSystemDirectory(Utils.output_directory)
Цей конкретний випадок використання простий, тому немає потреби заглиблюватися в нього далі.
Збереження результату як архівний файл ZIP.
Інший варіант — створити файл або потік і використовувати його як ZIP-архів для зберігання вихідних файлів. Ось приклад:
1# Open the stream for the ZIP archive that will serve as the output working directory.
2with open(path.join(Utils.output_directory, "zip-pdf-out.zip") as out_zip_stream:
3 # Create conversion options instance.
4 ...
5 # Specify a ZIP archive working directory for the output.
6 options.output_working_directory = OutputZipDirectory(out_zip_stream)
Для початку ми створюємо вихідний потік для файлу ZIP. Потім, після створення параметрів перетворення, ми встановлюємо параметр output_working_directory як екземпляр класу OutputZipDirectory.
Ідея вихідного терміналу
Вивід терміналу є ще одним важливим аспектом виводу. Для цього Aspose.TeX для Python визначає загальний інтерфейс IOutputTerminal, який має єдину властивість, яка повертає екземпляр реалізації TerminalWriter. Доступні реалізації будуть розглянуті нижче.
Запис виведення терміналу на консоль
Щоб досягти цього, нам потрібно встановити параметр terminal_out як екземпляр класу OutputConsoleTerminal.
1# Create conversion options instance.
2...
3# Specify the console as the input terminal.
4options.terminal_out = OutputConsoleTerminal() # Default value. Arbitrary assignment.
Знову ж таки, це значення параметра за замовчуванням, тому немає справжньої потреби вказувати його. Тому цей розділ надається виключно для демонстрації.
Запис вихідних даних терміналу у файл
На відміну від вхідного терміналу, Aspose.TeX для Python містить реалізацію інтерфейсу IOutputTerminal, який дозволяє нам записувати вихідні дані терміналу у файл у вказаному каталозі виведення.
1# Create conversion options instance.
2...
3# Specify that the terminal output must be written to a file in the output working directory.
4# The file name is <job_name>.trm.
5options.terminal_out = OutputFileTerminal(options.output_working_directory)
У цьому випадку ми наказуємо механізму TeX записати вихідні дані терміналу до файлу з іменем <назва_завдання>.trm, який буде розташований у тому самому каталозі виведення, що й решта виведення. Однак це не є обов’язковим. Ми також можемо надати будь-який інший екземпляр реалізації IOutputTerminal для конструктора.