Выходной интерфейс Aspose.TeX | Питон

Формальные определения реализации ввода-вывода см. в справочнике 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 for 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 for 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 записать вывод терминала в файл с именем <job_name>.trm, который будет расположен в том же выходном каталоге, что и остальная часть вывода. Однако это не является обязательным. Мы также можем предоставить конструктору любой другой экземпляр реализации IOutputTerminal.

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.