Введення-виведення TeX із ZIP

Конвертуйте TeX у PDF, використовуючи архіви ZIP як вхідні та вихідні дані. API для C++

 

Мова TeX — це інструмент верстки, який дозволяє створювати професійні документи, не турбуючись про форматування. За допомогою TeX ви вводите звичайний текст, що містить текстові фрагменти документа разом із командами, які керують виведенням. На виході ви отримаєте відформатований файл у потрібному (заданому) форматі. Для кращого розуміння введення та виведення TeX зверніться до документації TeX .

TeX також є потужною, просунутою системою, але вона не має широкого використання за межами академічних і наукових кіл. PDF, з іншого боку, є портативним форматом, який можна легко переглядати на більшості пристроїв і широко поширений. Можливість читати PDF є на кожному пристрої, у більшості сучасних браузерів. Перетворення TeX у PDF дозволяє ділитися документами з ширшою аудиторією та забезпечує більш доступний формат для тих, хто не має спеціального програмного забезпечення. Крім того, PDF має декілька переваг перед TeX, наприклад, краще відтворення шрифтів, підтримка інтерактивності та легше керувати розміром сторінки та макетом.

Наведений нижче код C++ набирає файл TeX, створюючи PDF, який потім зберігається в архіві ZIP у локальній файловій системі. Щоб виконати це завдання, використайте Aspose.TeX API для C++, який є багатофункціональним, потужним і простим у використанні інструментом для обробки та перетворення документів. Щоб встановити API, відкрийте менеджер пакетів NuGet і знайдіть Aspose.TeX.Cpp. Крім того, ви можете скористатися такою командою в консолі диспетчера пакетів:

Package Manager Console Command

PM> Install-Package Aspose.TeX.Cpp

У наведеному нижче коді TeX бере основний вхідний файл із ZIP-архіву, перетворює його на PDF, який записується в інший ZIP-архів. Дотримуйтесь інструкції:

  1. Відкрийте потік, що містить ZIP-архів, який слугуватиме вхідним робочим каталогом. Ви можете додатково вказати підкаталог в архіві. Інакше файл шукатиметься по всьому архіву.
  2. Створіть потік файлів для нового ZIP-архіву, який слугуватиме вихідним робочим каталогом.
  3. Створіть параметри верстки для формату Object TeX у розширенні двигуна Object TeX.
  4. Укажіть робочі каталоги ZIP-архіву для введення та виведення за допомогою InputZipDirectory і OutputZipDirectory класи.
  5. Вкажіть консоль як вихідний термінал.
  6. Використовуючи клас PdfSaveOptions , вкажіть параметри збереження для параметрів верстки.
  7. Створіть екземпляр класу TeXJob , передаючи ім’я основного вхідного файлу, щойно створеного б’єкту PdfDevice і параметри набору як аргументи. Запустіть перетворення, викликавши метод Run().
  8. Збережіть вихідний архів ZIP.

Приклад коду C++: перетворення TeX у PDF із введенням і виведенням ZIP

using Aspose::TeX::IO;
using Aspose::TeX::Presentation::Pdf;
// Open a stream on a ZIP archive that will serve as the input working directory.
System::SharedPtr<System::IO::Stream> inZipStream =
    System::IO::File::Open(System::IO::Path::Combine(RunExamples::InputDirectory, u"zip-in.zip"), System::IO::FileMode::Open);
// Clearing resources under the 'using' statement
System::Details::DisposeGuard<1> __dispose_guard_1({ inZipStream });
try
{
    System::SharedPtr<System::IO::Stream> outZipStream =
        System::IO::File::Open(System::IO::Path::Combine(RunExamples::OutputDirectory, u"zip-pdf-out.zip"), System::IO::FileMode::Create);
    // Clearing resources under the 'using' statement
    System::Details::DisposeGuard<1> __dispose_guard_0({ outZipStream });
    try
    {
        // Create typesetting options for the default Object TeX format on the Object TeX engine extension.
        System::SharedPtr<TeXOptions> options = TeXOptions::ConsoleAppOptions(TeXConfig::ObjectTeX());
        // Specify a ZIP archive working directory for the input.
        options->set_InputWorkingDirectory(System::MakeObject<InputZipDirectory>(inZipStream, u"in"));
        // Specify a ZIP archive working directory for the output.
        options->set_OutputWorkingDirectory(System::MakeObject<OutputZipDirectory>(outZipStream));
        // Specify console as output terminal.
        options->set_TerminalOut(System::MakeObject<OutputConsoleTerminal>());

        // Create and specify saving options.
        options->set_SaveOptions(System::MakeObject<PdfSaveOptions>());
        // Run the typesetting job.
        System::MakeObject<Aspose::TeX::TeXJob>(u"hello-world", System::MakeObject<PdfDevice>(), options)->Run();

        // Finalize the output ZIP archive.
        (System::DynamicCast<Aspose::TeX::IO::OutputZipDirectory>(options->get_OutputWorkingDirectory()))->Finish();
    }
    catch(...)
    {
        __dispose_guard_0.SetCurrentException(std::current_exception());
    }
}
catch(...)
{
    __dispose_guard_1.SetCurrentException(std::current_exception());
}



FAQ

1. Чи можу я набирати документи TeX, використовуючи файл ZIP як вхідне джерело?

Aspose.TeX підтримує читання вихідних файлів TeX зі стиснутих архівів, таких як ZIP-файли. Ви можете включити всі необхідні файли, включаючи вихідні файли TeX, зображення та додаткові ресурси, в архів ZIP, а потім вказати файл ZIP як вхідні дані для компілятора LaTeX. Це дозволяє зручно організовувати та розповсюджувати проєкти LaTeX, особливо при роботі з великими або складними документами з кількома залежностями.

2. Чи є якісь переваги використання файлів ZIP для верстки документів TeX?

Так, використання ZIP-файлів для верстки документів TeX дає кілька переваг. По-перше, ZIP-файли забезпечують зручний спосіб упаковки та організації кількох файлів, пов’язаних із проєктом LaTeX, включаючи вихідні файли TeX, бібліографії, зображення та файли стилів, у єдиний стиснутий архів. Це спрощує розповсюдження та спільний доступ до документів LaTeX, особливо під час співпраці з іншими або спільного використання проєктів онлайн.

3. Як набрати файли TeX?

Щоб зверстати файли TeX за допомогою API Рішення Aspose.TeX, вам потрібно створити параметри конверсії для формату Object TeX або Object LaTeX на основі розширення двигуна Object TeX. Потім вкажіть робочий каталог файлової системи для виводу. Нарешті, створіть екземпляр класу TeXJob і запустіть процес верстки за допомогою методу TeXJob.Run().

TeX What is TeX File Format

TeX насправді не є форматом. Це як мова програмування, так і механізм інтерпретатора, який розуміє цю мову. Файл TeX — це звичайний текстовий файл, створений за допомогою синтаксису TeX для перетворення в певний цільовий формат за допомогою обробки механізмом TeX. Цей вихідний документ може містити графіки, таблиці, списки, формули та рівняння.