LaTeX a XPS | .NET
Un altro formato target è xps. Un file XPS è fisicamente 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. Serve a controllare l’aspetto di tutti gli elementi figlio 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 da LaTeX a XPS è semplice quanto la conversione in formati di immagini raster, tranne per il fatto che i SaveOptions devono essere impostati su un’istanza di classe XPSSaveOptions (per impostazione predefinita o esplicitamente) e il dispositivo deve essere modificato in un’istanza della classe XPSDEVICE.
929 / 5,000 Esempio di conversione più semplice
L’esempio seguente mostra come convertire un file LaTeX in XPS in pochi passaggi:
- Creare un’istanza di
TexDocument
. - Caricare il file sorgente
.tex
utilizzandoTexDocument.Load
. - (Facoltativo) Configurare
XpsSaveOptions
, ad esempio le impostazioni di compressione. - Salvare il documento in XPS chiamando
document.Save
con unXpsDevice
.
Questo codice illustra il modo più diretto per produrre un file XPS da LaTeX.
1// Create conversion options instance.
2...
3// Initialize the options for saving in XPS format.
4options.SaveOptions = new XpsSaveOptions(); // Default value. Arbitrary assignment.
5// Run LaTeX to XPS conversion.
6new TeXJob(Path.Combine(RunExamples.InputDirectory, "sample.ltx"), new 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.
Esempio di conversione alternativo
Questo frammento di codice illustra l’utilizzo del costruttore XpsDevice
che accetta un Stream
. I passaggi sono:
- Creare un
TexDocument
e caricare il sorgente LaTeX. - Creare un
MemoryStream
per contenere l’output XPS. 3. IstanziareXpsDevice
con il flusso. - Salvare il documento sul dispositivo, quindi utilizzare il flusso (ad esempio, inviarlo tramite una rete o memorizzarlo in un database).
Questo approccio è utile quando si necessitano i dati XPS in memoria anziché come file su disco.
1// Create the stream to write the XPS file to.
2using (Stream xpsStream = File.Open(Path.Combine(RunExamples.OutputDirectory, "any-name.xps"), FileMode.Create))
3{
4 // Create conversion options for Object LaTeX format upon Object TeX engine extension.
5 ...
6 // Initialize the options for saving in XPS format.
7 options.SaveOptions = new XpsSaveOptions(); // Default value. Arbitrary assignment.
8 // Run LaTeX to XPS conversion.
9 new TeXJob(Path.Combine(RunExamples.InputDirectory, "hello-world.ltx"), new XpsDevice(xpsStream), options).Run();
10}
L’effetto è lo stesso che otteniamo qui.
È inoltre possibile controllare la conversione gratuita Latex-to-XPS app Web basata su Aspose.TeX per API .NET.