Записати вихідні дані в ZIP

Збережіть результат перетворення файлу TeX як ZIP з C++

 

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

API Рішення Aspose.TeX пропонує функцію для перетворення файлів TeX і збереження результату як архів ZIP. Наданий тут фрагмент коду показує, як конвертувати файл TeX у PDF і зберегти результат як файл zip. Конвертер API може перетворювати файли TeX мовою C++ і використовувати його для створення крос-платформної програми або інтегрувати у ваш проєкт C++.

Щоб запустити приклади, вам знадобиться Aspose.TeX для C++ API, багатофункціональний і простий у використанні інструмент обробки та перетворення документів для платформи C++. Ви можете встановити Aspose.TeX API, знайшовши його в менеджері пакетів NuGet або використовуючи команду Install-Package Aspose.TeX у консолі менеджера пакетів.

Package Manager Console Command


    PM> Install-Package Aspose.TeX

Наступний код перетворює файл TeX і зберігає його як PDF в архіві ZIP. Щоб запустити таке перетворення, виконайте наступні кроки:

  1. Створіть екземпляр класу TeXOptions . Використайте його, щоб вказати робочий каталог архіву ZIP для виведення за допомогою властивості OutputWorkingDirectory.
  2. Укажіть консоль як вихідний термінал за допомогою класу OutputConsoleTerminal .
  3. Визначте параметри для збереження результату за допомогою класу PdfSaveOptions .
  4. Запустіть перетворення TeX у PDF за допомогою методу TeXJob() для PdfDevice.
  5. Уточніть результат.
  6. Завершіть вихідний ZIP-архів за допомогою класу OutputZipDirectory . Код використовує блок try-catch для обробки будь-яких винятків, які можуть виникнути під час процесу.

Код C++ для використання каталогів ZIP для виведення

    using Aspose::TeX::IO;
    using Aspose::TeX::Presentation::Pdf;
    using System::IO;
    // 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 '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 'using' statement
            System::Details::DisposeGuard<1> __dispose_guard_0({ outZipStream});
            // ------------------------------------------

            try
            {
                // Create typesetting options for default ObjectTeX format on ObjectTeX 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 the console as an output terminal.
                options->set_TerminalOut(System::MakeObject<OutputConsoleTerminal>());
                // Default. Not necessary to specify.

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

                // For the consequent output to look right. 
                options->get_TerminalOut()->get_Writer()->WriteLine();

                // 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?

Щоб відкрити файл TeX, для перегляду результату набору, скористайтеся кросплатформним Застосунком для перегляду TeX . Це також дозволяє зберегти файл як зображення.

2. Чи можу я записати вивід TeX в ZIP архів?

Так, це API Рішення надає таку функціональність. Вам знадобиться клас OutputZipDirectory, який реалізує метод отримання потоку файлів для запису, коли робочий каталог є архівом ZIP.

3. Як записати вивід TeX в архів ZIP?

Створіть екземпляр класу TeXOptions. Потім укажіть для виведення робочий каталог архіву ZIP. Вкажіть параметри збереження та запустіть перетворення. Нарешті завершіть запис результату в архів ZIP, викликавши метод Finish().

TeX What is TeX File Format

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