Vytvořte vlastní formát TeX a vysázejte do PDF a XPS pomocí C++

TeX je sázecí systém, který byl známý jako jeden z nejsofistikovanějších digitálních typografických systémů. TeX se používá pro sazbu dokumentů a generování výstupů jako PDF, XPS a různé formáty obrázků. Mohou nastat situace, kdy potřebujete jednotně navrhnout spoustu dokumentů. K tomu se ukáže jako užitečné vytvoření vlastního formátu TeX. Za tímto účelem vás tento článek naučí, jak vytvořit vlastní formát TeX a vysázet jej do formátů PDF a XPS pomocí C++.

C++ API pro vytváření vlastního formátu TeX a jeho sazbu do PDF a XPS

Aspose.TeX for C++ je knihovna C++ pro práci se soubory TeX bez nutnosti instalace dalšího softwaru. API umožňuje sázet soubory TeX, vytvářet vlastní formát TeX a generovat výstup ve formátech jako XPS, PDF, PNG, JPEG, TIFF, BMP. Rozhraní API můžete nainstalovat buď prostřednictvím NuGet, nebo si jej stáhnout přímo ze sekce Downloads.

PM> Install-Package Aspose.TeX.Cpp

Vytvořte vlastní formát TeX pomocí C++

Následují kroky k vytvoření vlastního formátu TeX.

Následující ukázkový kód ukazuje, jak vytvořit vlastní formát TeX pomocí C++.

// Vytvořte možnosti sazby na rozšíření enginu ObjectTeX.
System::SharedPtr<TeXOptions> options = TeXOptions::ConsoleAppOptions(TeXConfig::get_ObjectIniTeX());

// Zadejte pracovní adresář systému souborů pro vstup.
options->set_InputWorkingDirectory(System::MakeObject<InputFileSystemDirectory>(u"SourceDirectory"));

// Zadejte pracovní adresář systému souborů pro výstup.
options->set_OutputWorkingDirectory(System::MakeObject<OutputFileSystemDirectory>(u"OutputDirectory"));

// Spusťte vytváření formátu.
Aspose::TeX::TeX::CreateFormat(u"customtex", options);

Vysázet vlastní formát TeX na formát XPS

Následují kroky pro sazbu vlastního formátu TeX na formát XPS.

Následuje ukázkový kód pro sazbu vlastního formátu TeX na formát XPS.

// Vytvořte vstupní pracovní adresář systému souborů.
System::SharedPtr<IWorkingDirectory> wd = System::MakeObject<InputFileSystemDirectory>(u"SourceDirectory");
{
    // Vytvořte poskytovatele formátu.
    System::SharedPtr<FormatProvider> formatProvider = System::MakeObject<FormatProvider>(wd, u"customtex");

    // Vymazání zdrojů pod příkazem 'používá se'
    System::Details::DisposeGuard<1> __dispose_guard_0({ formatProvider });
    // -------------------------------------------

    try
    {
        // Vytvořte možnosti sazby pro vlastní formát na rozšíření enginu ObjectTeX.
        System::SharedPtr<TeXOptions> options = TeXOptions::ConsoleAppOptions(TeXConfig::ObjectTeX(formatProvider));
        options->set_JobName(u"typeset-with-custom-format");

        // Zadejte vstupní pracovní adresář.
        options->set_InputWorkingDirectory(wd);

        // Zadejte pracovní adresář systému souborů pro výstup.
        options->set_OutputWorkingDirectory(System::MakeObject<OutputFileSystemDirectory>(u"OutputDirectory"));

        // Spusťte sazbu.
        Aspose::TeX::TeX::Typeset(System::MakeObject<System::IO::MemoryStream>(System::Text::Encoding::get_ASCII()->GetBytes(u"Congratulations! You have successfully typeset this text with your own TeX format!\\end")), System::MakeObject<XpsDevice>(), options);
    }
    catch (...)
    {
        __dispose_guard_0.SetCurrentException(std::current_exception());
    }
}

Sazba Custom TeX Format to PDF Format

Následují kroky pro sazbu vlastního formátu TeX do formátu PDF.

Následující ukázkový kód ukazuje, jak vysázet vlastní formát TeX do formátu PDF.

// Vytvořte vstupní pracovní adresář systému souborů.
System::SharedPtr<IWorkingDirectory> wd = System::MakeObject<InputFileSystemDirectory>(u"SourceDirectory");
{
    // Vytvořte poskytovatele formátu.
    System::SharedPtr<FormatProvider> formatProvider = System::MakeObject<FormatProvider>(wd, u"customtex");

    // Vymazání zdrojů pod příkazem 'používá se'
    System::Details::DisposeGuard<1> __dispose_guard_0({ formatProvider });
    // -------------------------------------------

    try
    {
        // Vytvořte možnosti sazby pro vlastní formát na rozšíření enginu ObjectTeX.
        System::SharedPtr<TeXOptions> options = TeXOptions::ConsoleAppOptions(TeXConfig::ObjectTeX(formatProvider));
        options->set_JobName(u"typeset-with-custom-format");

        // Zadejte vstupní pracovní adresář.
        options->set_InputWorkingDirectory(wd);

        // Zadejte pracovní adresář systému souborů pro výstup.
        options->set_OutputWorkingDirectory(System::MakeObject<OutputFileSystemDirectory>(u"OutputDirectory"));

        // Zadejte možnosti PdfSaveOptions
        options->set_SaveOptions(System::MakeObject<PdfSaveOptions>());

        // Spusťte sazbu.
        Aspose::TeX::TeX::Typeset(System::MakeObject<System::IO::MemoryStream>(System::Text::Encoding::get_ASCII()->GetBytes(u"Congratulations! You have successfully typeset this text with your own TeX format!\\end")), System::MakeObject<PdfDevice>(), options);
    }
    catch (...)
    {
        __dispose_guard_0.SetCurrentException(std::current_exception());
    }
}

Získejte bezplatnou licenci

Rozhraní API můžete vyzkoušet bez omezení hodnocení, když požádáte o bezplatnou dočasnou licenci.

Závěr

V tomto článku jste se naučili, jak vytvořit vlastní formát TeX pomocí C++. Dále jste se naučili, jak vysázet vlastní formát TeX na formáty PDF a XPS pomocí Aspose.TeX for C++ API. Rozhraní API můžete podrobně prozkoumat na oficiální dokumentaci. V případě jakýchkoli dotazů nás neváhejte kontaktovat na našem bezplatném fóru podpory.

Viz také