LaTeX a XPS | C++

Un altro formato target supportato da aspose.tex è xps. Un file XPS è in realtà un pacchetto zip che contiene contenuto paginato di un documento, insieme ai metadati richiesti per la visualizzazione corretta da specifici telespettatori (come Windows XPS Viewer) e la stampa. Tutti i dati in un pacchetto sono rappresentati dai file. Alcuni di essi sono binari e contengono risorse come immagini, caratteri e profili ICC. Altri sono file XML in vari schemi specifici. Quest’ultimo include file che contengono i dati del documento stesso. I dati del documento sono costituiti da un set di file: ogni file contiene dati per una singola pagina del documento. Tali file sono costituiti da un singolo elemento di pagina e un albero di elementi figlio - tela, percorso e glicfi. Canvasè un elemento di raggruppamento che può contenere altretele,percorsi e glicfi. La sua missione è quella di controllare l’aspetto di tutti gli elementi infantili come gruppo. Path Gli elementi vengono utilizzati per definire percorsi grafici vettoriali. E gli elementi glifi vengono utilizzati per definire il contenuto testuale. Tutti e tre gli elementi hanno proprietà per definire vari aspetti dell’apparenza.

Esiste la libreria Aspose.Page che fornisce un’API per manipolare i documenti XPS, oltre a convertirli in formati di immagini PDF e raster.

Come convertire il LaTeX in XPS

La conversione in XPS è altrettanto semplice come la conversione in formati di immagini raster, tranne che oltre ai SaveOptions, dobbiamo cambiare il dispositivo in un’istanza della classe XPSDevice.

1...
2// Initialize the options for saving in Xps format.
3options->set_SaveOptions(System::MakeObject<XpsSaveOptions>());
4
5System::MakeObject<Aspose::TeX::TeXJob>(u"hello-world.ltx", System::MakeObject<XpsDevice>(), options)->Run();

Un modo alternativo per scrivere il file XPS di output principale

C’è un altro costruttore della classe XPSDevice, che ci consente di ottenere il file XPS risultante in modo alternativo.

 1    // Create the stream to write the XPS file to.
 2    {
 3        System::SharedPtr<System::IO::Stream> xpsStream = System::IO::File::Open(System::IO::Path::Combine(RunExamples::OutputDirectory, u"any-name.xps"), System::IO::FileMode::Create);
 4        // Clearing resources under 'using' statement
 5        System::Details::DisposeGuard<1> __dispose_guard_0({ xpsStream});
 6        // ------------------------------------------
 7        
 8        try
 9        {
10            // Create conversion options for Object LaTeX format on Object TeX engine extension.
11            System::SharedPtr<TeXOptions> options = TeXOptions::ConsoleAppOptions(TeXConfig::get_ObjectLaTeX());
12            // Specify the file system working directory for the output.
13            options->set_OutputWorkingDirectory(System::MakeObject<OutputFileSystemDirectory>(RunExamples::OutputDirectory));
14            // Initialize the options for saving in XPS format.
15            options->set_SaveOptions(System::MakeObject<XpsSaveOptions>());
16            // Default value.
17            // Run LaTeX to XPS conversion.
18            System::MakeObject<TeXJob>(System::IO::Path::Combine(RunExamples::InputDirectory, u"hello-world.ltx"), System::MakeObject<XpsDevice>(xpsStream), options)->Run();
19        }
20        catch(...)
21        {
22            __dispose_guard_0.SetCurrentException(std::current_exception());
23        }
24    }

L’effetto è lo stesso che otteniamo qui.

È inoltre possibile controllare la conversione da lattoce a XPS gratuita app Web basata in base all’API Aspose.TeX per .NET. Qui è la pagina della versione C ++.

Have any questions about Aspose.TeX?



Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.