TeX es un sistema de composición tipográfica que se ha destacado como uno de los sistemas tipográficos digitales más sofisticados. TeX se utiliza para componer documentos y generar resultados como PDF, XPS y diferentes formatos de imagen. Puede haber situaciones en las que necesite diseñar un conjunto de documentos de manera uniforme. Para eso, será útil crear un formato TeX personalizado. Con ese fin, este artículo le enseñará cómo crear un formato TeX personalizado y escribirlo en formatos PDF y XPS usando C++.
- API de C++ para crear un formato TeX personalizado y componerlo en PDF y XPS
- Cree un formato TeX personalizado usando C++
- Composición tipográfica de formato TeX personalizado a formato XPS
- Composición tipográfica de formato TeX personalizado a formato PDF
API de C++ para crear un formato TeX personalizado y componerlo en PDF y XPS
Aspose.TeX for C++ es una biblioteca de C++ para trabajar con archivos TeX sin necesidad de instalar ningún software adicional. La API le permite componer archivos TeX, crear un formato TeX personalizado y generar resultados en formatos como XPS, PDF, PNG, JPEG, TIFF, BMP. Puede instalar la API a través de NuGet o descargarla directamente desde la sección Descargas.
PM> Install-Package Aspose.TeX.Cpp
Cree un formato TeX personalizado usando C++
Los siguientes son los pasos para crear un formato TeX personalizado.
- Cree una instancia de la clase TeXOptions utilizando el valor de la propiedad TeXConfig::getObjectIniTeX().
- Especifique los directorios de trabajo de entrada y salida.
- Cree el formato usando TeX::CreateFormat(System::String path, System::SharedPtr opciones) método.
El siguiente código de ejemplo demuestra cómo crear un formato TeX personalizado usando C++.
// Cree opciones de composición tipográfica en la extensión del motor ObjectTeX.
System::SharedPtr<TeXOptions> options = TeXOptions::ConsoleAppOptions(TeXConfig::get_ObjectIniTeX());
// Especifique un directorio de trabajo del sistema de archivos para la entrada.
options->set_InputWorkingDirectory(System::MakeObject<InputFileSystemDirectory>(u"SourceDirectory"));
// Especifique un directorio de trabajo del sistema de archivos para la salida.
options->set_OutputWorkingDirectory(System::MakeObject<OutputFileSystemDirectory>(u"OutputDirectory"));
// Ejecutar creación de formato.
Aspose::TeX::TeX::CreateFormat(u"customtex", options);
Composición tipográfica de formato TeX personalizado a formato XPS
Los siguientes son los pasos para componer el formato TeX personalizado al formato XPS.
- Cree una instancia de la clase IWorkingDirectory para representar el directorio de trabajo de entrada.
- Cargue el archivo TeX usando la clase FormatProvider.
- Cree una instancia de la clase TeXOptions utilizando el objeto FormatProvider creado anteriormente.
- Configure Nombre del trabajo, Directorio de trabajo de entrada y Directorio de trabajo de salida.
- Use Typeset(System::SharedPtrSystem::IO::Stream corriente, System::PtrCompartidoPresentation::Device dispositivo, System::PtrCompartido options) y pase el objeto XpsDevice como argumento para crear la salida XPS.
El siguiente es el código de muestra para componer un formato TeX personalizado en formato XPS.
// Cree un directorio de trabajo de entrada del sistema de archivos.
System::SharedPtr<IWorkingDirectory> wd = System::MakeObject<InputFileSystemDirectory>(u"SourceDirectory");
{
// Cree un proveedor de formato.
System::SharedPtr<FormatProvider> formatProvider = System::MakeObject<FormatProvider>(wd, u"customtex");
// Borrar recursos bajo la declaración 'usando'
System::Details::DisposeGuard<1> __dispose_guard_0({ formatProvider });
// ---------------------------------------------------------
try
{
// Cree opciones de composición tipográfica para un formato personalizado en la extensión del motor ObjectTeX.
System::SharedPtr<TeXOptions> options = TeXOptions::ConsoleAppOptions(TeXConfig::ObjectTeX(formatProvider));
options->set_JobName(u"typeset-with-custom-format");
// Especifique el directorio de trabajo de entrada.
options->set_InputWorkingDirectory(wd);
// Especifique un directorio de trabajo del sistema de archivos para la salida.
options->set_OutputWorkingDirectory(System::MakeObject<OutputFileSystemDirectory>(u"OutputDirectory"));
// Ejecutar composición tipográfica.
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());
}
}
Composición tipográfica de formato TeX personalizado a formato PDF
Los siguientes son los pasos para escribir un formato TeX personalizado en formato PDF.
- Cree una instancia de la clase IWorkingDirectory para representar el directorio de trabajo de entrada.
- Cargue el archivo TeX usando la clase FormatProvider.
- Cree una instancia de la clase TeXOptions utilizando el objeto FormatProvider creado anteriormente.
- Configure Nombre del trabajo, Directorio de trabajo de entrada y Directorio de trabajo de salida.
- Cree una instancia de la clase PdfSaveOptions y pásela a TeXOptions->setSaveOptions(System::SharedPtrAspose::TeX::Presentation::SaveOptions valor) método.
- Use Typeset(System::SharedPtrSystem::IO::Stream corriente, System::PtrCompartidoPresentation::Device dispositivo, System::PtrCompartido options) y pase el objeto PdfDevice como argumento para crear la salida PDF.
El siguiente código de ejemplo muestra cómo componer un formato TeX personalizado en formato PDF.
// Cree un directorio de trabajo de entrada del sistema de archivos.
System::SharedPtr<IWorkingDirectory> wd = System::MakeObject<InputFileSystemDirectory>(u"SourceDirectory");
{
// Cree un proveedor de formato.
System::SharedPtr<FormatProvider> formatProvider = System::MakeObject<FormatProvider>(wd, u"customtex");
// Borrar recursos bajo la declaración 'usando'
System::Details::DisposeGuard<1> __dispose_guard_0({ formatProvider });
// ---------------------------------------------------------
try
{
// Cree opciones de composición tipográfica para un formato personalizado en la extensión del motor ObjectTeX.
System::SharedPtr<TeXOptions> options = TeXOptions::ConsoleAppOptions(TeXConfig::ObjectTeX(formatProvider));
options->set_JobName(u"typeset-with-custom-format");
// Especifique el directorio de trabajo de entrada.
options->set_InputWorkingDirectory(wd);
// Especifique un directorio de trabajo del sistema de archivos para la salida.
options->set_OutputWorkingDirectory(System::MakeObject<OutputFileSystemDirectory>(u"OutputDirectory"));
// Especificar las opciones de PdfSave
options->set_SaveOptions(System::MakeObject<PdfSaveOptions>());
// Ejecutar composición tipográfica.
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());
}
}
Obtenga una licencia gratis
Puede probar la API sin limitaciones de evaluación solicitando una licencia temporal gratuita.
Conclusión
En este artículo, ha aprendido cómo crear un formato TeX personalizado usando C++. Además, ha aprendido a escribir un formato TeX personalizado en formatos PDF y XPS utilizando Aspose.TeX for C++. Puede explorar la API en detalle visitando la documentación oficial. Si tiene alguna pregunta, no dude en comunicarse con nosotros en nuestro foro de soporte gratuito.