Інтерфейс виводу Aspose.TeX | Java

Будь ласка, зверніться до Aspose.TeX для Java посилання на API, щоб отримати формальні визначення реалізації введення/виведення.

Поняття вихідного каталогу

Оскільки примітиви вводу-виводу мови TeX можуть мати справу лише з іменами файлів, Aspose.TeX визначає каталог як відображення між іменами та масивами даних. Маси даних мають бути файлами, потоками, масивами або будь-яким іншим. API дозволяє нам окремо вказувати вхідні та вихідні робочі каталоги. Він надає загальний інтерфейс IOutputWorkingDirectory для виведення, який користувач може реалізувати для власних цілей. Він також надає власні реалізації, які будуть розглянуті нижче. Інтерфейс розширює IInputWorkingDirectory, оскільки механізм може спочатку створити та записати файл, а потім прочитати його назад. Власний метод інтерфейсу getOuputFile() повертає потік для запису, на відміну від потоку для читання, який повертає getFile().

Запис вихідного файлу у файлову систему диска

Як ми згадували вище, найпоширенішим значенням для OutputWorkingDirectory буде екземпляр класу OutputFileSystemDirectory.

Ось як ми це встановимо:

1// Create conversion options instance.
2...
3// Specify a file system working directory for the output.
4options.setOutputWorkingDirectory(new OutputFileSystemDirectory(Utils.getOutputDirectory()));

Цей варіант використання досить простий, тому ми не будемо на ньому довго зупинятися.

Запис вихідного файлу в ZIP-архів

Ми також можемо створити файл (або потік) і дозволити механізму TeX використовувати його як ZIP-архів для зберігання вихідних файлів. Ось воно:

 1// Open the stream for the ZIP archive that will serve as the output working directory.
 2final OutputStream outZipStream = new FileOutputStream(Utils.getOutputDirectory() + "zip-pdf-out.zip");
 3{
 4    // Create conversion options instance.
 5    ...
 6    // Specify a ZIP archive working directory for the output.
 7    options.setOutputWorkingDirectory(new OutputZipDirectory(outZipStream));
 8} finally {
 9    if (outZipStream != null)
10        outZipStream.close();
11}

Спочатку ми створюємо вихідний потік для файлу ZIP. Потім, після створення параметрів перетворення, ми встановлюємо параметр OutputWorkingDirectory як екземпляр класу OutputZipDirectory.

Поняття про вихідний термінал

Є ще одна важлива частина виводу — вихід терміналу. Що стосується цього, Aspose.TeX для Java визначає загальний інтерфейс IOutputTerminal як такий, що має два методи. Один із них повертає екземпляр BufferedWriter. Інший повертає екземпляр OutputStream як базовий потік. Надані реалізації інтерфейсу обговорюються нижче.

Запис виводу терміналу на консоль

Для цього нам потрібно встановити параметр TerminalOut як екземпляр класу OutputConsoleTerminal.

1// Create conversion options instance.
2...
3// Specify the console as the input terminal.
4options.setTerminalOut(new OutputConsoleTerminal()); // Default value. Arbitrary assignment.

Знову ж таки, це значення параметра за замовчуванням, тому немає потреби вказувати його. Через це цей розділ служить лише для демонстраційних цілей.

Запис вихідних даних терміналу у файл

На відміну від вхідного терміналу, Aspose.TeX для Java забезпечує реалізацію 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.setTerminalOut(new OutputFileTerminal(options.getOutputWorkingDirectory()));

Тут ми просимо механізм TeX записати вихідні дані терміналу у файл із назвою <назва_завдання>.trm, який зберігатиметься в тому самому каталозі виводу, який ми вказали для решти виводу. Але в цьому немає необхідності. Ми також можемо передати будь-який інший екземпляр будь-якої реалізації IOutputTerminal до конструктора.

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.