I file TeX vengono utilizzati per comporre diversi documenti e libri contenenti testo, simboli ed espressioni aritmetiche. Inoltre, questi file possono generare output come PDF, XPS e vari formati di immagine. In questo articolo imparerai come convertire i file TeX in formato XPS e PDF usando C++.
- API C++ per convertire TeX in formato PDF e XPS
- Converti TeX in formato XPS usando C++
- Conversione di TeX in formato PDF utilizzando C++
- Converti la directory TeX ZIP in una directory ZIP PDF usando C++
API C++ per convertire TeX in formato PDF e XPS
Aspose.TeX for C++ è una libreria C++ per lavorare con i file TeX senza richiedere l’installazione di alcun software aggiuntivo. L’API consente di comporre file TeX e generare output in formati come XPS, PDF, PNG, JPEG, TIFF, BMP. Puoi installare l’API tramite NuGet o scaricarla direttamente dalla sezione Download.
PM> Install-Package Aspose.TeX.Cpp
Converti TeX in formato XPS usando C++
Puoi convertire i file TeX in formato XPS in poche righe di codice. Per raggiungere questo obiettivo, seguire i passaggi indicati di seguito.
- Crea un’istanza della classe TeXOptions usando TeXConfig::ObjectTeX(System::SharedPtrAspose::TeX::ResourceProviders::FormatProvider formatProvider = nullptr) funzione membro.
- Specificare le directory di lavoro di input e output.
- Specificare la console o il flusso di memoria come terminale di output.
- Salvare il file XPS di output utilizzando TeX::Typeset(System::String path, System::SharedPtrPresentation::Device dispositivo, System::SharedPtr options) con un’istanza della classe XpsDevice.
Il codice di esempio seguente mostra come convertire un file TeX in formato XPS usando C++.
// Crea opzioni di composizione per il formato ObjectTeX predefinito sull'estensione del motore ObjectTeX.
System::SharedPtr<TeXOptions> options = TeXOptions::ConsoleAppOptions(TeXConfig::ObjectTeX());
// Specificare una directory di lavoro del file system per l'input.
options->set_InputWorkingDirectory(System::MakeObject<InputFileSystemDirectory>(u"SourceDirectory"));
// Specificare una directory di lavoro del file system per l'output.
options->set_OutputWorkingDirectory(System::MakeObject<OutputFileSystemDirectory>(u"OutputDirectory"));
// Specificare la console come terminale di output.
options->set_TerminalOut(System::MakeObject<Aspose::TeX::IO::OutputConsoleTerminal>());
// Predefinito. Non c'è bisogno di specificare.
// Specificare il flusso di memoria come terminale di output, se non si desidera che l'output del terminale venga scritto sulla console.
//options.TerminalOut = new OutputMemoryTerminal();
// Esegui la composizione.
Aspose::TeX::TeX::Typeset(u"hello-world", System::MakeObject<XpsDevice>(), options);
// Per ulteriore output per guardare, scrivere.
options->get_TerminalOut()->get_Writer()->WriteLine();
Conversione di TeX in formato PDF utilizzando C++
Di seguito sono riportati i passaggi per convertire i file TeX in formato PDF.
- Crea un’istanza della classe TeXOptions usando TeXConfig::ObjectTeX(System::SharedPtrAspose::TeX::ResourceProviders::FormatProvider formatProvider = nullptr) funzione membro.
- Specificare le directory di lavoro di input e output.
- Specificare la console o il flusso di memoria come terminale di output.
- Passa un’istanza della classe PdfSaveOptions a TeXOptions->setSaveOptions(System::SharedPtrAspose::TeX::Presentation::SaveOptions valore).
- Salva il file PDF di output utilizzando TeX::Typeset(System::String path, System::SharedPtrPresentation::Device dispositivo, System::SharedPtr options) con un’istanza della classe PdfDevice.
Il codice di esempio seguente mostra come convertire un file TeX in formato PDF utilizzando C++.
// Crea opzioni di composizione per il formato ObjectTeX predefinito sull'estensione del motore ObjectTeX.
System::SharedPtr<TeXOptions> options = TeXOptions::ConsoleAppOptions(TeXConfig::ObjectTeX());
// Specificare una directory di lavoro del file system per l'input.
options->set_InputWorkingDirectory(System::MakeObject<InputFileSystemDirectory>(u"SourceDirectory"));
// Specificare una directory di lavoro del file system per l'output.
options->set_OutputWorkingDirectory(System::MakeObject<OutputFileSystemDirectory>(u"OutputDirectory"));
// Specificare la console come terminale di output.
options->set_TerminalOut(System::MakeObject<Aspose::TeX::IO::OutputConsoleTerminal>());
// Predefinito. Non c'è bisogno di specificare.
// Specificare il flusso di memoria come terminale di output, se non si desidera che l'output del terminale venga scritto sulla console.
//options.TerminalOut = new OutputMemoryTerminal();
// Imposta PdfSaveOptions
options->set_SaveOptions(System::MakeObject<PdfSaveOptions>());
// Esegui la composizione.
Aspose::TeX::TeX::Typeset(u"hello-world", System::MakeObject<PdfDevice>(), options);
// Per ulteriore output per guardare, scrivere.
options->get_TerminalOut()->get_Writer()->WriteLine();
Converti la directory TeX ZIP in una directory ZIP PDF usando C++
Per convertire più file TeX in formato PDF in una volta sola, puoi aggiungere i file TeX a un archivio ZIP e convertirli in file PDF compressi. Di seguito sono riportati i passaggi per raggiungere questo obiettivo.
- Carica gli archivi ZIP di input e output negli stream.
- Crea un’istanza della classe TeXOptions usando TeXConfig::ObjectTeX(System::SharedPtrAspose::TeX::ResourceProviders::FormatProvider formatProvider = nullptr) funzione membro.
- Imposta le directory di lavoro di input e output.
- Specificare la console o il flusso di memoria come terminale di output.
- Passa un’istanza della classe PdfSaveOptions a TeXOptions->setSaveOptions(System::SharedPtrAspose::TeX::Presentation::SaveOptions valore).
- Salvare il file PDF di output compresso utilizzando TeX::Typeset(System::String path, System::SharedPtrPresentation::Device dispositivo, System::SharedPtr options) con un’istanza della classe PdfDevice.
Il codice di esempio seguente mostra come convertire l’archivio ZIP TeX in un archivio ZIP PDF utilizzando C++.
// Apri il file zip di origine in un flusso
System::SharedPtr<System::IO::Stream> inZipStream = System::IO::File::Open(System::IO::Path::Combine(u"SourceDirectory", u"zip-in.zip"), System::IO::FileMode::Open);
// Cancellazione delle risorse nella dichiarazione "utilizzo".
System::Details::DisposeGuard<1> __dispose_guard_1({ inZipStream });
// --------------------------------------------
try {
// Apri il file zip di output in un flusso
System::SharedPtr<System::IO::Stream> outZipStream = System::IO::File::Open(System::IO::Path::Combine(u"OutputDirectory", u"zip-pdf-out.zip"), System::IO::FileMode::Create);
// Cancellazione delle risorse nella dichiarazione "utilizzo".
System::Details::DisposeGuard<1> __dispose_guard_0({ outZipStream });
// --------------------------------------------
try
{
// Crea opzioni di composizione per il formato ObjectTeX predefinito sull'estensione del motore ObjectTeX.
System::SharedPtr<TeXOptions> options = TeXOptions::ConsoleAppOptions(TeXConfig::ObjectTeX());
// Specificare una directory di lavoro dell'archivio ZIP per l'input.
options->set_InputWorkingDirectory(System::MakeObject<InputZipDirectory>(inZipStream, u"in"));
// Specificare una directory di lavoro dell'archivio ZIP per l'output.
options->set_OutputWorkingDirectory(System::MakeObject<OutputZipDirectory>(outZipStream));
// Specificare la console come terminale di output.
options->set_TerminalOut(System::MakeObject<OutputConsoleTerminal>());
// Predefinito. Non è necessario specificare.
// Crea e specifica le opzioni di salvataggio.
options->set_SaveOptions(System::MakeObject<PdfSaveOptions>());
// Esegui la composizione.
Aspose::TeX::TeX::Typeset(u"hello-world", System::MakeObject<PdfDevice>(), options);
// Affinché l'output risultante appaia in scrittura.
options->get_TerminalOut()->get_Writer()->WriteLine();
// Finalizzare l'archivio ZIP di output.
(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());
}
Ottieni una licenza gratuita
Puoi provare l’API senza limitazioni di valutazione richiedendo una licenza temporanea gratuita.
Conclusione
In questo articolo, hai imparato come convertire i file TeX in formato XPS e PDF usando C++. Inoltre, hai imparato a convertire i file TeX in un archivio ZIP in file PDF compressi. Aspose.TeX per C++ fornisce molte funzionalità aggiuntive per lavorare con i file TeX. Puoi esplorare l’API in dettaglio visitando la documentazione ufficiale. In caso di domande, non esitare a contattarci sul nostro forum di supporto gratuito.