Skapa anpassat TeX-format och typuppsättning till PDF och XPS med C++

TeX är ett typsättningssystem som har noterats som ett av de mest sofistikerade digitala typografiska systemen. TeX används för att sätta dokument och generera utdata som PDF, XPS och olika bildformat. Det kan finnas situationer där du behöver utforma ett gäng dokument enhetligt. För det kommer det att visa sig vara användbart att skapa ett anpassat TeX-format. För detta ändamål kommer den här artikeln att lära dig hur du skapar ett anpassat TeX-format och sätter det till PDF- och XPS-format med C++.

C++ API för att skapa anpassat TeX-format och typsätta det till PDF och XPS

Aspose.TeX for C++ är ett C++-bibliotek för att arbeta med TeX-filer utan att ytterligare programvara behöver installeras. API:et låter dig sätta TeX-filer, skapa anpassade TeX-format och generera utdata i format som XPS, PDF, PNG, JPEG, TIFF, BMP. Du kan antingen installera API:t genom NuGet eller ladda ner det direkt från avsnittet Nedladdningar.

PM> Install-Package Aspose.TeX.Cpp

Skapa ett anpassat TeX-format med C++

Följande är stegen för att skapa ett anpassat TeX-format.

Följande exempelkod visar hur man skapar ett anpassat TeX-format med C++.

// Skapa typsättningsalternativ på ObjectTeX-motortillägget.
System::SharedPtr<TeXOptions> options = TeXOptions::ConsoleAppOptions(TeXConfig::get_ObjectIniTeX());

// Ange en arbetskatalog för filsystemet för inmatning.
options->set_InputWorkingDirectory(System::MakeObject<InputFileSystemDirectory>(u"SourceDirectory"));

// Ange en arbetskatalog för filsystemet för utdata.
options->set_OutputWorkingDirectory(System::MakeObject<OutputFileSystemDirectory>(u"OutputDirectory"));

// Kör formatskapande.
Aspose::TeX::TeX::CreateFormat(u"customtex", options);

Ange anpassat TeX-format till XPS-format

Följande är stegen för att sätta in anpassat TeX-format till XPS-format.

Följande är exempelkoden för att typsätta ett anpassat TeX-format till XPS-format.

// Skapa en arbetskatalog för filsysteminmatning.
System::SharedPtr<IWorkingDirectory> wd = System::MakeObject<InputFileSystemDirectory>(u"SourceDirectory");
{
    // Skapa en formatleverantör.
    System::SharedPtr<FormatProvider> formatProvider = System::MakeObject<FormatProvider>(wd, u"customtex");

    // Rensa resurser under "använder" uttalande
    System::Details::DisposeGuard<1> __dispose_guard_0({ formatProvider });
    // ------------------------------------------

    try
    {
        // Skapa typsättningsalternativ för ett anpassat format på ObjectTeX-motortillägget.
        System::SharedPtr<TeXOptions> options = TeXOptions::ConsoleAppOptions(TeXConfig::ObjectTeX(formatProvider));
        options->set_JobName(u"typeset-with-custom-format");

        // Ange arbetskatalogen för inmatning.
        options->set_InputWorkingDirectory(wd);

        // Ange en arbetskatalog för filsystemet för utdata.
        options->set_OutputWorkingDirectory(System::MakeObject<OutputFileSystemDirectory>(u"OutputDirectory"));

        // Kör typsättning.
        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());
    }
}

Ange anpassat TeX-format till PDF-format

Följande är stegen för att sätta in anpassat TeX-format till PDF-format.

Följande exempelkod visar hur man ställer in ett anpassat TeX-format till PDF-format.

// Skapa en arbetskatalog för filsysteminmatning.
System::SharedPtr<IWorkingDirectory> wd = System::MakeObject<InputFileSystemDirectory>(u"SourceDirectory");
{
    // Skapa en formatleverantör.
    System::SharedPtr<FormatProvider> formatProvider = System::MakeObject<FormatProvider>(wd, u"customtex");

    // Rensa resurser under "använder" uttalande
    System::Details::DisposeGuard<1> __dispose_guard_0({ formatProvider });
    // ------------------------------------------

    try
    {
        // Skapa typsättningsalternativ för ett anpassat format på ObjectTeX-motortillägget.
        System::SharedPtr<TeXOptions> options = TeXOptions::ConsoleAppOptions(TeXConfig::ObjectTeX(formatProvider));
        options->set_JobName(u"typeset-with-custom-format");

        // Ange arbetskatalogen för inmatning.
        options->set_InputWorkingDirectory(wd);

        // Ange en arbetskatalog för filsystemet för utdata.
        options->set_OutputWorkingDirectory(System::MakeObject<OutputFileSystemDirectory>(u"OutputDirectory"));

        // Ange PdfSaveOptions
        options->set_SaveOptions(System::MakeObject<PdfSaveOptions>());

        // Kör typsättning.
        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());
    }
}

Skaffa en gratis licens

Du kan prova API:et utan utvärderingsbegränsningar genom att begära en gratis tillfällig licens.

Slutsats

I den här artikeln har du lärt dig hur du skapar ett anpassat TeX-format med C++. Dessutom har du lärt dig hur du ställer in ett anpassat TeX-format till PDF- och XPS-format med Aspose.TeX för C++ API. Du kan utforska API:et i detalj genom att besöka den officiella dokumentationen. Om du har några frågor är du välkommen att kontakta oss på vårt gratis supportforum.

Se även