Crie um formato e tipografia personalizados de TeX para PDF e XPS usando C++

TeX é um sistema tipográfico que tem sido apontado como um dos sistemas tipográficos digitais mais sofisticados. O TeX é usado para compor documentos e gerar saídas como PDF, XPS e diferentes formatos de imagem. Pode haver situações em que você precise projetar vários documentos de maneira uniforme. Para isso, criar um formato TeX personalizado será útil. Para esse fim, este artigo ensinará como criar um formato TeX personalizado e compô-lo para os formatos PDF e XPS usando C++.

API C++ para criar o formato TeX personalizado e compor para PDF e XPS

Aspose.TeX for C++ é uma biblioteca C++ para trabalhar com arquivos TeX sem exigir a instalação de nenhum software adicional. A API permite que você componha arquivos TeX, crie um formato TeX personalizado e gere saída em formatos como XPS, PDF, PNG, JPEG, TIFF, BMP. Você pode instalar a API por meio do NuGet ou baixá-la diretamente da seção Downloads.

PM> Install-Package Aspose.TeX.Cpp

Crie um formato TeX personalizado usando C++

A seguir estão as etapas para criar um formato TeX personalizado.

O código de exemplo a seguir demonstra como criar um formato TeX personalizado usando C++.

// Crie opções de composição na extensão do mecanismo ObjectTeX.
System::SharedPtr<TeXOptions> options = TeXOptions::ConsoleAppOptions(TeXConfig::get_ObjectIniTeX());

// Especifique um diretório de trabalho do sistema de arquivos para entrada.
options->set_InputWorkingDirectory(System::MakeObject<InputFileSystemDirectory>(u"SourceDirectory"));

// Especifique um diretório de trabalho do sistema de arquivos para saída.
options->set_OutputWorkingDirectory(System::MakeObject<OutputFileSystemDirectory>(u"OutputDirectory"));

// Execute a criação do formato.
Aspose::TeX::TeX::CreateFormat(u"customtex", options);

Formatar o formato TeX personalizado para o formato XPS

A seguir estão as etapas para a tipografia do formato TeX personalizado para o formato XPS.

A seguir está o código de exemplo para compor um formato TeX personalizado para o formato XPS.

// Crie um diretório de trabalho de entrada do sistema de arquivos.
System::SharedPtr<IWorkingDirectory> wd = System::MakeObject<InputFileSystemDirectory>(u"SourceDirectory");
{
    // Crie um provedor de formato.
    System::SharedPtr<FormatProvider> formatProvider = System::MakeObject<FormatProvider>(wd, u"customtex");

    // Limpando recursos sob a instrução 'usando'
    System::Details::DisposeGuard<1> __dispose_guard_0({ formatProvider });
    // ------------------------------------------

    try
    {
        // Crie opções de composição para um formato personalizado na extensão do mecanismo ObjectTeX.
        System::SharedPtr<TeXOptions> options = TeXOptions::ConsoleAppOptions(TeXConfig::ObjectTeX(formatProvider));
        options->set_JobName(u"typeset-with-custom-format");

        // Especifique o diretório de trabalho de entrada.
        options->set_InputWorkingDirectory(wd);

        // Especifique um diretório de trabalho do sistema de arquivos para saída.
        options->set_OutputWorkingDirectory(System::MakeObject<OutputFileSystemDirectory>(u"OutputDirectory"));

        // Execute a tipografia.
        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());
    }
}

Formatar o formato TeX personalizado para o formato PDF

A seguir estão as etapas para a tipografia do formato TeX personalizado para o formato PDF.

O código de exemplo a seguir mostra como compor um formato TeX personalizado para o formato PDF.

// Crie um diretório de trabalho de entrada do sistema de arquivos.
System::SharedPtr<IWorkingDirectory> wd = System::MakeObject<InputFileSystemDirectory>(u"SourceDirectory");
{
    // Crie um provedor de formato.
    System::SharedPtr<FormatProvider> formatProvider = System::MakeObject<FormatProvider>(wd, u"customtex");

    // Limpando recursos sob a instrução 'usando'
    System::Details::DisposeGuard<1> __dispose_guard_0({ formatProvider });
    // ------------------------------------------

    try
    {
        // Crie opções de composição para um formato personalizado na extensão do mecanismo ObjectTeX.
        System::SharedPtr<TeXOptions> options = TeXOptions::ConsoleAppOptions(TeXConfig::ObjectTeX(formatProvider));
        options->set_JobName(u"typeset-with-custom-format");

        // Especifique o diretório de trabalho de entrada.
        options->set_InputWorkingDirectory(wd);

        // Especifique um diretório de trabalho do sistema de arquivos para saída.
        options->set_OutputWorkingDirectory(System::MakeObject<OutputFileSystemDirectory>(u"OutputDirectory"));

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

        // Execute a tipografia.
        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());
    }
}

Obtenha uma licença gratuita

Você pode experimentar a API sem limitações de avaliação solicitando uma licença temporária gratuita.

Conclusão

Neste artigo, você aprendeu como criar um formato TeX personalizado usando C++. Além disso, você aprendeu a compor um formato TeX personalizado para os formatos PDF e XPS usando a API Aspose.TeX para C++. Você pode explorar a API em detalhes visitando a documentação oficial. Em caso de dúvidas, sinta-se à vontade para entrar em contato conosco em nosso fórum de suporte gratuito.

Veja também