TeX è un sistema di composizione che è stato notato come uno dei più sofisticati sistemi tipografici digitali. TeX viene utilizzato per comporre documenti e generare output come PDF, XPS e diversi formati di immagine. Potrebbero esserci situazioni in cui è necessario progettare un gruppo di documenti in modo uniforme. Per questo, la creazione di un formato TeX personalizzato si rivelerà utile. A tal fine, questo articolo ti insegnerà come creare un formato TeX personalizzato e scriverlo in formato PDF e XPS usando C++.
- API C++ per la creazione di formati TeX personalizzati e la composizione in PDF e XPS
- Crea un formato TeX personalizzato usando C++
- Digita il formato TeX personalizzato in formato XPS
- Digita il formato TeX personalizzato in formato PDF
API C++ per creare un formato TeX personalizzato e impaginarlo in 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, creare un formato TeX personalizzato 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
Crea un formato TeX personalizzato usando C++
Di seguito sono riportati i passaggi per creare un formato TeX personalizzato.
- Crea un’istanza della classe TeXOptions utilizzando il valore della proprietà TeXConfig::getObjectIniTeX().
- Specificare le directory di lavoro di input e output.
- Crea il formato usando TeX::CreateFormat(System::String path, System::SharedPtr opzioni).
Il codice di esempio seguente mostra come creare un formato TeX personalizzato usando C++.
// Crea opzioni di composizione sull'estensione del motore ObjectTeX.
System::SharedPtr<TeXOptions> options = TeXOptions::ConsoleAppOptions(TeXConfig::get_ObjectIniTeX());
// 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"));
// Esegui la creazione del formato.
Aspose::TeX::TeX::CreateFormat(u"customtex", options);
Digita il formato TeX personalizzato in formato XPS
Di seguito sono riportati i passaggi per la composizione del formato TeX personalizzato in formato XPS.
- Creare un’istanza della classe IWorkingDirectory per rappresentare la directory di lavoro di input.
- Carica il file TeX usando la classe FormatProvider.
- Crea un’istanza della classe TeXOptions utilizzando l’oggetto FormatProvider creato in precedenza.
- Impostare JobName, InputWorkingDirectory e OutputWorkingDirectory.
- Utilizzare il Typeset(System::SharedPtrSystem::IO::Stream flusso, System::SharedPtrPresentation::Device dispositivo, System::SharedPtr options) e passare l’oggetto XpsDevice come argomento per creare l’output XPS.
Di seguito è riportato il codice di esempio per comporre un formato TeX personalizzato in formato XPS.
// Creare una directory di lavoro di input del file system.
System::SharedPtr<IWorkingDirectory> wd = System::MakeObject<InputFileSystemDirectory>(u"SourceDirectory");
{
// Crea un fornitore di formati.
System::SharedPtr<FormatProvider> formatProvider = System::MakeObject<FormatProvider>(wd, u"customtex");
// Cancellazione delle risorse nella dichiarazione "utilizzo".
System::Details::DisposeGuard<1> __dispose_guard_0({ formatProvider });
// -------------------------------------------
try
{
// Crea opzioni di composizione per un formato personalizzato sull'estensione del motore ObjectTeX.
System::SharedPtr<TeXOptions> options = TeXOptions::ConsoleAppOptions(TeXConfig::ObjectTeX(formatProvider));
options->set_JobName(u"typeset-with-custom-format");
// Specificare la directory di lavoro di input.
options->set_InputWorkingDirectory(wd);
// Specificare una directory di lavoro del file system per l'output.
options->set_OutputWorkingDirectory(System::MakeObject<OutputFileSystemDirectory>(u"OutputDirectory"));
// Esegui la composizione.
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());
}
}
Digita il formato TeX personalizzato in formato PDF
Di seguito sono riportati i passaggi per la composizione del formato TeX personalizzato in formato PDF.
- Creare un’istanza della classe IWorkingDirectory per rappresentare la directory di lavoro di input.
- Carica il file TeX usando la classe FormatProvider.
- Crea un’istanza della classe TeXOptions utilizzando l’oggetto FormatProvider creato in precedenza.
- Impostare JobName, InputWorkingDirectory e OutputWorkingDirectory.
- Crea un’istanza della classe PdfSaveOptions e passala a TeXOptions->setSaveOptions(System::SharedPtrAspose::TeX::Presentation::SaveOptions valore).
- Utilizzare il Typeset(System::SharedPtrSystem::IO::Stream flusso, System::SharedPtrPresentation::Device dispositivo, System::SharedPtr options) e passare l’oggetto PdfDevice come argomento per creare l’output PDF.
Il codice di esempio seguente mostra come comporre un formato TeX personalizzato in formato PDF.
// Creare una directory di lavoro di input del file system.
System::SharedPtr<IWorkingDirectory> wd = System::MakeObject<InputFileSystemDirectory>(u"SourceDirectory");
{
// Crea un fornitore di formati.
System::SharedPtr<FormatProvider> formatProvider = System::MakeObject<FormatProvider>(wd, u"customtex");
// Cancellazione delle risorse nella dichiarazione "utilizzo".
System::Details::DisposeGuard<1> __dispose_guard_0({ formatProvider });
// -------------------------------------------
try
{
// Crea opzioni di composizione per un formato personalizzato sull'estensione del motore ObjectTeX.
System::SharedPtr<TeXOptions> options = TeXOptions::ConsoleAppOptions(TeXConfig::ObjectTeX(formatProvider));
options->set_JobName(u"typeset-with-custom-format");
// Specificare la directory di lavoro di input.
options->set_InputWorkingDirectory(wd);
// Specificare una directory di lavoro del file system per l'output.
options->set_OutputWorkingDirectory(System::MakeObject<OutputFileSystemDirectory>(u"OutputDirectory"));
// Specificare PdfSaveOptions
options->set_SaveOptions(System::MakeObject<PdfSaveOptions>());
// Esegui la composizione.
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());
}
}
Ottieni una licenza gratuita
Puoi provare l’API senza limitazioni di valutazione richiedendo una licenza temporanea gratuita.
Conclusione
In questo articolo, hai imparato come creare un formato TeX personalizzato usando C++. Inoltre, hai imparato come comporre un formato TeX personalizzato in formati PDF e XPS usando Aspose.TeX per l’API C++. Puoi esplorare l’API in dettaglio visitando la documentazione ufficiale. In caso di domande, non esitare a contattarci sul nostro forum di supporto gratuito.