Componga TeX con E/S ZIP

Convierta TeX a PDF usando archivos ZIP como entrada y salida. API para C++

 

El lenguaje TeX es una herramienta de composición tipográfica para crear documentos profesionales sin preocuparse por el formato. Aspose.TeX le ofrece una solución API para C++ que es una biblioteca flexible y fácil de usar para componer archivos TeX y LaTeX.

TeX es un sistema poderoso y avanzado, pero su formato nativo no se usa mucho fuera de los círculos académicos y científicos. PDF, por otro lado, es un formato portátil que se puede ver fácilmente en la mayoría de los dispositivos y es más aceptado. La capacidad de leer PDF está presente en todos los dispositivos, en la mayoría de los navegadores modernos. La conversión de TeX a PDF permite que los documentos se compartan con un público más amplio y brinda un formato más accesible para aquellos que no cuentan con un software especializado. Además, PDF proporciona varias ventajas sobre TeX, como una mejor representación de fuentes, compatibilidad con la interactividad y una gestión más sencilla del tamaño y el diseño de la página.

La API permite la separación de los directorios de entrada y salida, ofreciendo la interfaz IOutputWorkingDirectory para que el usuario personalice la salida. Tiene sus propias implementaciones. Esta interfaz amplía IInputWorkingDirectory ya que el motor puede requerir escribir en un archivo antes de leerlo. El método GetOutputFile() de la interfaz devuelve el flujo de escritura, en lugar del flujo de lectura proporcionado por GetFile().

Package Manager Console Command

PM> Install-Package Aspose.TeX.Cpp

En el código a continuación, colocaremos los archivos de entrada en un archivo ZIP y lo consideraremos un directorio de entrada y crearemos un archivo (o flujo) y dejaremos que el motor TeX lo use como un archivo ZIP para almacenar los archivos de salida. Siga la pauta:

  1. Abra una secuencia en un archivo ZIP que servirá como directorio de trabajo de entrada.
  2. Cree opciones de composición tipográfica para el formato ObjectTeX predeterminado en la extensión del motor ObjectTeX.
  3. Especifique un directorio de trabajo de archivo ZIP para entrada y salida usando InputZipDirectory y OutputZipDirectory Clases.
  4. Especifique la consola como terminal de salida.
  5. Usando la clase PdfSaveOptions , cree y especifique las opciones de guardado.
  6. Ejecute la conversión.
  7. Refinar la salida.
  8. Finalice el archivo ZIP de salida.

Código C++ para convertir TeX a PDF con entrada y salida ZIP

using Aspose::TeX::IO;
using Aspose::TeX::Presentation::Pdf;
// Open a stream on a ZIP archive that will serve as the input working directory.
System::SharedPtr<System::IO::Stream> inZipStream =
    System::IO::File::Open(System::IO::Path::Combine(RunExamples::InputDirectory, u"zip-in.zip"), System::IO::FileMode::Open);
// Clearing resources under the 'using' statement
System::Details::DisposeGuard<1> __dispose_guard_1({ inZipStream });
try
{
    System::SharedPtr<System::IO::Stream> outZipStream =
        System::IO::File::Open(System::IO::Path::Combine(RunExamples::OutputDirectory, u"zip-pdf-out.zip"), System::IO::FileMode::Create);
    // Clearing resources under the 'using' statement
    System::Details::DisposeGuard<1> __dispose_guard_0({ outZipStream });
    try
    {
        // Create typesetting options for the default Object TeX format on the Object TeX engine extension.
        System::SharedPtr<TeXOptions> options = TeXOptions::ConsoleAppOptions(TeXConfig::ObjectTeX());
        // Specify a ZIP archive working directory for the input.
        options->set_InputWorkingDirectory(System::MakeObject<InputZipDirectory>(inZipStream, u"in"));
        // Specify a ZIP archive working directory for the output.
        options->set_OutputWorkingDirectory(System::MakeObject<OutputZipDirectory>(outZipStream));
        // Specify console as output terminal.
        options->set_TerminalOut(System::MakeObject<OutputConsoleTerminal>());

        // Create and specify saving options.
        options->set_SaveOptions(System::MakeObject<PdfSaveOptions>());
        // Run the typesetting job.
        System::MakeObject<Aspose::TeX::TeXJob>(u"hello-world", System::MakeObject<PdfDevice>(), options)->Run();

        // Finalize the output ZIP archive.
        (System::DynamicCast<Aspose::TeX::IO::OutputZipDirectory>(options->get_OutputWorkingDirectory()))->Finish();
    }
    catch(...)
    {
        __dispose_guard_0.SetCurrentException(std::current_exception());
    }
}
catch(...)
{
    __dispose_guard_1.SetCurrentException(std::current_exception());
}



Preguntas más frecuentes

1. ¿Puedo componer documentos TeX utilizando un archivo ZIP como entrada?

Aspose.TeX admite la lectura de archivos fuente TeX desde archivos comprimidos como archivos ZIP. Puede incluir todos los archivos necesarios, incluidos archivos fuente TeX, imágenes y recursos adicionales, dentro de un archivo ZIP y luego especificar el archivo ZIP como entrada para el compilador LaTeX. Esto permite una organización y distribución convenientes de proyectos LaTeX, especialmente cuando se trata de documentos grandes o complejos con múltiples dependencias.

2. ¿Existe alguna ventaja en el uso de archivos ZIP para componer documentos TeX?

Sí, utilizar archivos ZIP para componer documentos TeX ofrece varias ventajas. En primer lugar, los archivos ZIP proporcionan una manera conveniente de empaquetar y organizar múltiples archivos asociados con un proyecto LaTeX, incluidos archivos fuente TeX, bibliografías, imágenes y archivos de estilo, en un único archivo comprimido. Esto simplifica la distribución y el intercambio de documentos LaTeX, especialmente cuando se colabora con otros o se comparten proyectos en línea.

3. ¿Cómo componer archivos TeX?

Para componer archivos TeX utilizando la solución API Aspose.TeX, debe crear opciones de conversión para el formato Object TeX u Object LaTeX basadas en la extensión del motor Object TeX. Luego especifique un directorio de trabajo del sistema de archivos para la salida. Finalmente, cree una instancia de la clase TeXJob y ejecute el proceso de composición tipográfica utilizando el método TeXJob.Run().

TeX Qué es TeX Formato de archivo

TeX no es en realidad un formato. Es a la vez un lenguaje de programación y también un motor de interpretación que entiende este lenguaje. Un archivo TeX es un documento creado en LaTeX. Este documento puede incluir gráficos, tablas, símbolos, listas, fórmulas y ecuaciones.