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
- Crie um formato TeX personalizado usando C++
- Formatar o formato TeX personalizado para o formato XPS
- Formatar o formato TeX personalizado para o formato PDF
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.
- Crie uma instância da classe TeXOptions usando o valor da propriedade TeXConfig::getObjectIniTeX().
- Especifique os diretórios de trabalho de entrada e saída.
- Crie o formato usando o TeX::CreateFormat(System::String path, System::SharedPtr opções) método.
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.
- Crie uma instância da classe IWorkingDirectory para representar o diretório de trabalho de entrada.
- Carregue o arquivo TeX usando a classe FormatProvider.
- Crie uma instância da classe TeXOptions usando o objeto FormatProvider criado anteriormente.
- Defina o JobName, InputWorkingDirectory e OutputWorkingDirectory.
- Use o Typeset(System::SharedPtrSystem::IO::Stream stream, System::SharedPtrPresentation::Device dispositivo, System::SharedPtr options) e passe o objeto XpsDevice como um argumento para criar a saída 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.
- Crie uma instância da classe IWorkingDirectory para representar o diretório de trabalho de entrada.
- Carregue o arquivo TeX usando a classe FormatProvider.
- Crie uma instância da classe TeXOptions usando o objeto FormatProvider criado anteriormente.
- Defina o JobName, InputWorkingDirectory e OutputWorkingDirectory.
- Crie uma instância da classe PdfSaveOptions e passe-a para TeXOptions->setSaveOptions(System::SharedPtrAspose::TeX::Presentation::SaveOptions valor) método.
- Use o Typeset(System::SharedPtrSystem::IO::Stream stream, System::SharedPtrPresentation::Device dispositivo, System::SharedPtr options) e passe o objeto PdfDevice como um argumento para criar a saída 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.