Верстка TeX із введенням-виведенням ZIP
Конвертируйте TeX у PDF, використовуючи ZIP-архіви як введення та виведення. API для C++
Мова TeX — це інструмент верстки, який дозволяє створювати професійні документи, не турбуючись про форматування. За допомогою TeX ви вводите звичайний текст, що містить текстові фрагменти документа, а також команди, що керують виведенням. На виході ви отримаєте відформатований файл у потрібному (заданому) форматі. Для кращого розуміння введення та виведення TeX зверніться до документації TeX.
TeX також є потужною, просунутою системою, але вона не набула широкого розповсюдження за межами академічних та наукових кіл. PDF, з іншого боку, є переносним форматом, який можна легко переглядати на більшості пристроїв і який більш широко прийнятий. Можливість читання PDF присутня на кожному пристрої, у більшості сучасних браузерів. Конвертація TeX у PDF дозволяє ділитися документами з ширшою аудиторією та надає більш доступний формат для тих, хто не має спеціального програмного забезпечення. Крім того, PDF має низку переваг порівняно з TeX, таких як краще відтворення шрифтів, підтримка інтерактивності та простіший контроль розміру та макета сторінки.
Наведений нижче код C++ верстає TeX-файл, створюючи PDF, який потім зберігається в ZIP-архів у локальній файловій системі. Щоб виконати це завдання, використовуйте API Aspose.TeX для C++, який є багатофункціональним, потужним і простим у використанні інструментом для обробки та конвертації документів. Щоб встановити API, відкрийте менеджер пакетів NuGet і виконайте пошук Aspose.TeX.Cpp. Крім того, ви можете скористатися наступною командою в консолі менеджера пакетів:
Package Manager Console Command
PM> Install-Package Aspose.TeX.Cpp
У наведеному нижче коді TeX бере основний вхідний файл із ZIP-архіву, конвертує його в PDF, який записується в інший ZIP-архів. Дотримуйтесь інструкції:
- Відкрийте потік, що містить ZIP-архів, який буде служити вхідним робочим каталогом. Ви можете додатково вказати підкаталог в архіві. В іншому випадку пошук файлу буде вестися по всьому архіву.
- Створіть потік файлу для нового ZIP-архіву, який буде служити вихідним робочим каталогом.
- Створіть параметри верстки для формату Object TeX на розширенні движка Object TeX.
- Вкажіть робочі каталоги ZIP-архівів для введення та виведення, використовуючи класи InputZipDirectory та OutputZipDirectory .
- Вкажіть консоль як вихідний термінал.
- Використовуючи клас PdfSaveOptions , вкажіть параметри збереження для параметрів верстки.
- Створіть екземпляр класу TeXJob , передавши ім’я основного вхідного файлу, новостворений об’єкт PdfDevice та параметри верстки як аргументи. Запустіть конвертацію, викликавши метод Run().
- Завершіть роботу з вихідним 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‑двигунами (pdfTeX, XeTeX, LuaTeX) і генерують PDF, DVI тощо.