Запис виводу в ZIP
Збереження результату конвертації TeX-файлу у ZIP через C++
TeX — це мова розмітки даних і ядро комп’ютерної системи верстки, також відомої як система підготовки публікацій. Хоча його часто називають форматом файлів, насправді це мова програмування та механізм інтерпретатора, що використовується для створення математичних, технічних та інших складних документів. Однак після створення файлу може виникнути необхідність конвертувати його в більш популярний формат, щоб мати можливість використовувати результат на будь-якому пристрої та платформі.
API-рішення Aspose.TeX пропонує функцію конвертації TeX-файлів і збереження результату у вигляді ZIP-архіву. Наведений тут фрагмент коду показує, як конвертувати TeX-файл у PDF і зберегти результат у вигляді zip-файлу. Конвертер API може перетворювати TeX-файли мовою C++ і може використовуватися для створення кросплатформного додатка або бути інтегрований у ваш проект C++.
Для запуску прикладів вам знадобиться API Aspose.TeX для C++, багатофункціональний і простий у використанні інструмент для маніпулювання документами та їх конвертації для платформи C++. Ви можете встановити API Aspose.TeX, знайшовши його в менеджері пакетів NuGet або скориставшись командою Install-Package Aspose.TeX у консолі менеджера пакетів.
Package Manager Console Command
PM> Install-Package Aspose.TeX
Наведений тут код конвертує TeX-файл і зберігає його у форматі PDF у ZIP-архіві. Виконайте наступні кроки для обробки такої конвертації:
- Створіть екземпляр класу TeXOptions . Використовуйте його, щоб вказати робочий каталог ZIP-архіву для виводу за допомогою властивості OutputWorkingDirectory.
- Вкажіть консоль як вихідний термінал, використовуючи клас OutputConsoleTerminal .
- Визначте параметри збереження результату, використовуючи клас PdfSaveOptions .
- Запустіть конвертацію TeX у PDF, використовуючи метод TeXJob для PdfDevice.
- Уточніть вивід.
- Завершіть створення вихідного 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());
}
}TeX What is TeX File Format
TeX — система набору та мова програмування, що дозволяє створювати високоякісні документи, особливо з формулами. Файли .tex — простий текст, обробляються TeX‑двигунами (pdfTeX, XeTeX, LuaTeX) і генерують PDF, DVI тощо.