Верстка TeX с ZIP вводом/выводом

Конвертируйте TeX в PDF, используя ZIP-архивы в качестве входных и выходных данных. API для С++

 

Язык TeX — это инструмент для набора текста, позволяющий создавать профессиональные документы, не беспокоясь о форматировании. Aspose.TeX предлагает вам решение API для C++, которое представляет собой гибкую и простую в использовании библиотеку для верстки файлов TeX и LaTeX.

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

API позволяет разделить входные и выходные каталоги, предлагая интерфейс IOutputWorkingDirectory для пользовательской настройки вывода. Он имеет свои собственные реализации. Этот интерфейс расширяет IInputWorkingDirectory, поскольку движку может потребоваться запись в файл перед его чтением. Метод интерфейса GetOutputFile() возвращает поток для записи, а не поток чтения, предоставляемый GetFile().

Package Manager Console Command

PM> Install-Package Aspose.TeX.Cpp

В приведенном ниже коде мы поместим входные файлы в ZIP-архив и будем считать его входным каталогом, создадим файл (или поток) и позволим механизму TeX использовать его в качестве ZIP-архива для хранения выходных файлов. Следуйте алгоритму:

  1. Откройте поток в ZIP-архиве, который будет служить входным рабочим каталогом.
  2. Создайте параметры верстки для формата ObjectTeX по умолчанию в расширении движка ObjectTeX.
  3. Укажите рабочий каталог ZIP-архива для ввода и вывода, используя InputZipDirectory и OutputZipDirectory Классы.
  4. Укажите консоль в качестве выходного терминала.
  5. С помощью класса PdfSaveOptions создайте и укажите параметры сохранения.
  6. Запустите преобразование.
  7. Уточните вывод.
  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());
}



Часто задаваемые вопросы

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 Формат файла TeX

TeX на самом деле не является форматом. Это одновременно и язык программирования, и интерпретатор, который понимает этот язык. Файл TeX — это документ, созданный в LaTeX. Этот документ может включать графику, таблицы, символы, списки, формулы и уравнения.