Файли TeX використовуються для верстки різних документів і книг, що містять текст, символи та арифметичні вирази. Крім того, ці файли можуть генерувати вихідні дані, такі як PDF, XPS і різні формати зображень. У цій статті ви дізнаєтеся, як конвертувати файли TeX у формат XPS і PDF за допомогою C++.
- C++ API для перетворення TeX у формат PDF і XPS
- Перетворіть TeX у формат XPS за допомогою C++
- Перетворення TeX у формат PDF за допомогою C++
- Перетворіть каталог TeX ZIP у каталог PDF ZIP за допомогою C++
C++ API для перетворення TeX у формат PDF і XPS
Aspose.TeX for C++ — це бібліотека C++ для роботи з файлами TeX без встановлення додаткового програмного забезпечення. API дозволяє набирати файли TeX і генерувати вихідні дані у таких форматах, як XPS, PDF, PNG, JPEG, TIFF, BMP. Ви можете встановити API через NuGet або завантажити його безпосередньо з розділу Завантаження.
PM> Install-Package Aspose.TeX.Cpp
Перетворіть TeX у формат XPS за допомогою C++
Ви можете конвертувати файли TeX у формат XPS лише за кілька рядків коду. Щоб досягти цього, виконайте наведені нижче дії.
- Створіть екземпляр класу TeXOptions за допомогою TeXConfig::ObjectTeX(System::SharedPtr)Aspose::TeX::ResourceProviders::FormatProvider formatProvider = nullptr) функція-член.
- Вкажіть вхідний і вихідний робочі каталоги.
- Вкажіть консоль або потік пам’яті як вихідний термінал.
- Збережіть вихідний файл XPS за допомогою TeX::Typeset(System::String path, System::SharedPtrPresentation::Device пристрій, System::SharedPtr options) з екземпляром класу XpsDevice.
Наступний зразок коду демонструє, як перетворити файл TeX у формат XPS за допомогою C++.
// Створіть параметри верстки для формату ObjectTeX за замовчуванням у розширенні двигуна ObjectTeX.
System::SharedPtr<TeXOptions> options = TeXOptions::ConsoleAppOptions(TeXConfig::ObjectTeX());
// Укажіть робочий каталог файлової системи для введення.
options->set_InputWorkingDirectory(System::MakeObject<InputFileSystemDirectory>(u"SourceDirectory"));
// Вкажіть робочий каталог файлової системи для виведення.
options->set_OutputWorkingDirectory(System::MakeObject<OutputFileSystemDirectory>(u"OutputDirectory"));
// Вкажіть консоль як вихідний термінал.
options->set_TerminalOut(System::MakeObject<Aspose::TeX::IO::OutputConsoleTerminal>());
// За замовчуванням. Не потрібно вказувати.
// Укажіть потік пам’яті як вихідний термінал, якщо ви не бажаєте, щоб вихід терміналу записувався на консоль.
//options.TerminalOut = новий OutputMemoryTerminal();
// Запустити верстку.
Aspose::TeX::TeX::Typeset(u"hello-world", System::MakeObject<XpsDevice>(), options);
// Для подальшого виведення дивитися пишіть.
options->get_TerminalOut()->get_Writer()->WriteLine();
Перетворення TeX у формат PDF за допомогою C++
Нижче наведено кроки для перетворення файлів TeX у формат PDF.
- Створіть екземпляр класу TeXOptions за допомогою TeXConfig::ObjectTeX(System::SharedPtr)Aspose::TeX::ResourceProviders::FormatProvider formatProvider = nullptr) функція-член.
- Вкажіть вхідний і вихідний робочі каталоги.
- Вкажіть консоль або потік пам’яті як вихідний термінал.
- Передайте екземпляр класу PdfSaveOptions до TeXOptions->setSaveOptions(System::SharedPtr)Aspose::TeX::Presentation::SaveOptions значення) метод.
- Збережіть вихідний файл PDF за допомогою TeX::Typeset(System::String path, System::SharedPtrPresentation::Device пристрій, System::SharedPtr options) з екземпляром класу PdfDevice.
Наступний зразок коду показує, як конвертувати файл TeX у формат PDF за допомогою C++.
// Створіть параметри верстки для стандартного формату ObjectTeX у розширенні механізму ObjectTeX.
System::SharedPtr<TeXOptions> options = TeXOptions::ConsoleAppOptions(TeXConfig::ObjectTeX());
// Вкажіть робочий каталог файлової системи для введення.
options->set_InputWorkingDirectory(System::MakeObject<InputFileSystemDirectory>(u"SourceDirectory"));
// Вкажіть робочий каталог файлової системи для виведення.
options->set_OutputWorkingDirectory(System::MakeObject<OutputFileSystemDirectory>(u"OutputDirectory"));
// Вкажіть консоль як вихідний термінал.
options->set_TerminalOut(System::MakeObject<Aspose::TeX::IO::OutputConsoleTerminal>());
// За замовчуванням. Не потрібно вказувати.
// Укажіть потік пам’яті як вихідний термінал, якщо ви не хочете, щоб вихідні дані терміналу записувалися на консоль.
//options.TerminalOut = новий OutputMemoryTerminal();
// Встановіть PdfSaveOptions
options->set_SaveOptions(System::MakeObject<PdfSaveOptions>());
// Запустити верстку.
Aspose::TeX::TeX::Typeset(u"hello-world", System::MakeObject<PdfDevice>(), options);
// Для подальшого виведення дивитися пишіть.
options->get_TerminalOut()->get_Writer()->WriteLine();
Перетворіть каталог TeX ZIP у каталог PDF ZIP за допомогою C++
Щоб конвертувати кілька файлів TeX у формат PDF за один раз, ви можете додати файли TeX до архіву ZIP і конвертувати їх у заархівовані файли PDF. Нижче наведено кроки для досягнення цього.
- Завантажувати вхідні та вихідні ZIP-архіви в потоках.
- Створіть екземпляр класу TeXOptions за допомогою TeXConfig::ObjectTeX(System::SharedPtr)Aspose::TeX::ResourceProviders::FormatProvider formatProvider = nullptr) функція-член.
- Встановити вхідні та вихідні робочі каталоги.
- Вкажіть консоль або потік пам’яті як вихідний термінал.
- Передайте екземпляр класу PdfSaveOptions до TeXOptions->setSaveOptions(System::SharedPtr)Aspose::TeX::Presentation::SaveOptions значення) метод.
- Збережіть заархівований вихідний PDF-файл за допомогою TeX::Typeset(System::String path, System::SharedPtrPresentation::Device пристрій, System::SharedPtr options) з екземпляром класу PdfDevice.
Наступний приклад коду показує, як перетворити архів TeX ZIP на архів PDF ZIP за допомогою C++.
// Відкрийте вихідний zip-файл у потоці
System::SharedPtr<System::IO::Stream> inZipStream = System::IO::File::Open(System::IO::Path::Combine(u"SourceDirectory", u"zip-in.zip"), System::IO::FileMode::Open);
// Очищення ресурсів під оператором «використання».
System::Details::DisposeGuard<1> __dispose_guard_1({ inZipStream });
// --------------------------------------------------
try {
// Відкрийте вихідний zip-файл у потоці
System::SharedPtr<System::IO::Stream> outZipStream = System::IO::File::Open(System::IO::Path::Combine(u"OutputDirectory", u"zip-pdf-out.zip"), System::IO::FileMode::Create);
// Очищення ресурсів під оператором «використання».
System::Details::DisposeGuard<1> __dispose_guard_0({ outZipStream });
// --------------------------------------------------
try
{
// Створіть параметри верстки для формату ObjectTeX за замовчуванням у розширенні двигуна ObjectTeX.
System::SharedPtr<TeXOptions> options = TeXOptions::ConsoleAppOptions(TeXConfig::ObjectTeX());
// Укажіть для введення робочий каталог архіву ZIP.
options->set_InputWorkingDirectory(System::MakeObject<InputZipDirectory>(inZipStream, u"in"));
// Укажіть для виведення робочий каталог архіву ZIP.
options->set_OutputWorkingDirectory(System::MakeObject<OutputZipDirectory>(outZipStream));
// Вкажіть консоль як вихідний термінал.
options->set_TerminalOut(System::MakeObject<OutputConsoleTerminal>());
// За замовчуванням. Уточнювати не потрібно.
// Створіть і вкажіть параметри збереження.
options->set_SaveOptions(System::MakeObject<PdfSaveOptions>());
// Запустити верстку.
Aspose::TeX::TeX::Typeset(u"hello-world", System::MakeObject<PdfDevice>(), options);
// Для послідовного виведення дивитися писати.
options->get_TerminalOut()->get_Writer()->WriteLine();
// Завершіть вихідний архів ZIP.
(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());
}
Отримайте безкоштовну ліцензію
Ви можете спробувати API без обмежень щодо оцінювання, надіславши запит на безкоштовну тимчасову ліцензію.
Висновок
У цій статті ви дізналися, як конвертувати файли TeX у формат XPS і PDF за допомогою C++. Крім того, ви дізналися, як конвертувати файли TeX у ZIP-архіві у архівні файли PDF. Aspose.TeX for C++ надає багато додаткових можливостей для роботи з файлами TeX. Ви можете детально вивчити API, відвідавши офіційну документацію. У разі будь-яких запитань зв’яжіться з нами на нашому безкоштовному форумі підтримки.