TeX ist ein Satzsystem, das als eines der anspruchsvollsten digitalen typografischen Systeme gilt. TeX wird zum Setzen von Dokumenten und zum Generieren von Ausgaben wie PDF, XPS und verschiedenen Bildformaten verwendet. Es kann Situationen geben, in denen Sie eine Reihe von Dokumenten einheitlich gestalten müssen. Dafür wird sich das Erstellen eines benutzerdefinierten TeX-Formats als hilfreich erweisen. Zu diesem Zweck lernen Sie in diesem Artikel, wie Sie ein benutzerdefiniertes TeX Format erstellen und es mit C++ in PDF und XPS-Formate setzen.
- C++-API zum Erstellen eines benutzerdefinierten TeX-Formats und zum Setzen in PDF und XPS
- Erstellen Sie ein benutzerdefiniertes TeX Format mit C++
- Setzen Sie das benutzerdefinierte TeX Format in das XPS-Format
- Setzen Sie das benutzerdefinierte TeX Format in das PDF-Format
C++-API zum Erstellen eines benutzerdefinierten TeX-Formats und zum Setzen in PDF und XPS
Aspose.TeX for C++ ist eine C++ Bibliothek zum Arbeiten mit TeX Dateien, ohne dass zusätzliche Software installiert werden muss. Mit der API können Sie TeX Dateien setzen, benutzerdefinierte TeX-Formate erstellen und Ausgaben in Formaten wie XPS, PDF, PNG, JPEG, TIFF, BMP generieren. Sie können die API entweder über NuGet installieren oder direkt aus dem Abschnitt Downloads herunterladen.
PM> Install-Package Aspose.TeX.Cpp
Erstellen Sie ein benutzerdefiniertes TeX Format mit C++
Im Folgenden sind die Schritte zum Erstellen eines benutzerdefinierten TeX-Formats aufgeführt.
- Erstellen Sie eine Instanz der Klasse TeXOptions mit dem Eigenschaftswert TeXConfig::getObjectIniTeX().
- Geben Sie die Eingabe und Ausgabe-Arbeitsverzeichnisse an.
- Erstellen Sie das Format mit TeX::CreateFormat(System::String path, System::SharedPtr Optionen) Methode.
Der folgende Beispielcode veranschaulicht, wie ein benutzerdefiniertes TeX Format mit C++ erstellt wird.
// Erstellen Sie Satzoptionen in der ObjectTeX engine erweiterung.
System::SharedPtr<TeXOptions> options = TeXOptions::ConsoleAppOptions(TeXConfig::get_ObjectIniTeX());
// Geben Sie ein Dateisystem-Arbeitsverzeichnis für die Eingabe an.
options->set_InputWorkingDirectory(System::MakeObject<InputFileSystemDirectory>(u"SourceDirectory"));
// Geben Sie ein Dateisystem-Arbeitsverzeichnis für die Ausgabe an.
options->set_OutputWorkingDirectory(System::MakeObject<OutputFileSystemDirectory>(u"OutputDirectory"));
// Führen Sie die Formaterstellung aus.
Aspose::TeX::TeX::CreateFormat(u"customtex", options);
Setzen Sie das benutzerdefinierte TeX Format in das XPS Format
Im Folgenden finden Sie die Schritte zum Setzen des benutzerdefinierten TeX-Formats in das XPS-Format.
- Erstellen Sie eine Instanz der Klasse IWorkingDirectory, um das Eingabearbeitsverzeichnis darzustellen.
- Laden Sie die TeX Datei mit der Klasse FormatProvider.
- Erstellen Sie eine Instanz der TeXOptions Klasse mit dem zuvor erstellten FormatProvider objekt.
- Legen Sie JobName, InputWorkingDirectory und OutputWorkingDirectory fest.
- Verwenden Sie das Typeset(System::SharedPtrSystem::IO::Stream Stream, System::SharedPtrPresentation::Device Gerät, System::SharedPtr options) und übergeben Sie das XpsDevice objekt als Argument, um die XPS-Ausgabe zu erstellen.
Im Folgenden finden Sie den Beispielcode zum Setzen eines benutzerdefinierten TeX-Formats in das XPS-Format.
// Erstellen Sie ein Dateisystem-Eingabe-Arbeitsverzeichnis.
System::SharedPtr<IWorkingDirectory> wd = System::MakeObject<InputFileSystemDirectory>(u"SourceDirectory");
{
// Erstellen Sie einen Formatanbieter.
System::SharedPtr<FormatProvider> formatProvider = System::MakeObject<FormatProvider>(wd, u"customtex");
// Löschen von Ressourcen unter der 'using'-Anweisung
System::Details::DisposeGuard<1> __dispose_guard_0({ formatProvider });
// ------------------------------------------
try
{
// Erstellen Sie Satzoptionen für ein benutzerdefiniertes Format in der ObjectTeX engine erweiterung.
System::SharedPtr<TeXOptions> options = TeXOptions::ConsoleAppOptions(TeXConfig::ObjectTeX(formatProvider));
options->set_JobName(u"typeset-with-custom-format");
// Geben Sie das Eingabe-Arbeitsverzeichnis an.
options->set_InputWorkingDirectory(wd);
// Geben Sie ein Dateisystem-Arbeitsverzeichnis für die Ausgabe an.
options->set_OutputWorkingDirectory(System::MakeObject<OutputFileSystemDirectory>(u"OutputDirectory"));
// Schriftsatz ausführen.
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());
}
}
Setzen Sie das benutzerdefinierte TeX Format in das PDF Format
Im Folgenden finden Sie die Schritte zum Setzen des benutzerdefinierten TeX-Formats in das PDF-Format.
- Erstellen Sie eine Instanz der Klasse IWorkingDirectory, um das Eingabearbeitsverzeichnis darzustellen.
- Laden Sie die TeX Datei mit der Klasse FormatProvider.
- Erstellen Sie mithilfe des zuvor erstellten Objekts FormatProvider eine Instanz der Klasse TeXOptions.
- Legen Sie JobName, InputWorkingDirectory und OutputWorkingDirectory fest.
- Erstellen Sie eine Instanz der Klasse PdfSaveOptions und übergeben Sie sie an TeXOptions->setSaveOptions(System::SharedPtrAspose::TeX::Presentation::SaveOptions Wert) Methode.
- Verwenden Sie das Typeset(System::SharedPtrSystem::IO::Stream Stream, System::SharedPtrPresentation::Device Gerät, System::SharedPtr options) und übergeben Sie das PdfDevice objekt als Argument, um die PDF-Ausgabe zu erstellen.
Der folgende Beispielcode zeigt, wie ein benutzerdefiniertes TeX Format in das PDF Format gesetzt wird.
// Erstellen Sie ein Dateisystem-Eingabe-Arbeitsverzeichnis.
System::SharedPtr<IWorkingDirectory> wd = System::MakeObject<InputFileSystemDirectory>(u"SourceDirectory");
{
// Erstellen Sie einen Formatanbieter.
System::SharedPtr<FormatProvider> formatProvider = System::MakeObject<FormatProvider>(wd, u"customtex");
// Löschen von Ressourcen unter der 'using'-Anweisung
System::Details::DisposeGuard<1> __dispose_guard_0({ formatProvider });
// ------------------------------------------
try
{
// Erstellen Sie Satzoptionen für ein benutzerdefiniertes Format in der ObjectTeX engine erweiterung.
System::SharedPtr<TeXOptions> options = TeXOptions::ConsoleAppOptions(TeXConfig::ObjectTeX(formatProvider));
options->set_JobName(u"typeset-with-custom-format");
// Geben Sie das Eingabearbeitsverzeichnis an.
options->set_InputWorkingDirectory(wd);
// Geben Sie ein Dateisystem-Arbeitsverzeichnis für die Ausgabe an.
options->set_OutputWorkingDirectory(System::MakeObject<OutputFileSystemDirectory>(u"OutputDirectory"));
// Geben Sie die PdfSaveOptions an
options->set_SaveOptions(System::MakeObject<PdfSaveOptions>());
// Schriftsatz ausführen.
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());
}
}
Holen Sie sich eine kostenlose Lizenz
Sie können die API ohne Evaluierungseinschränkungen testen, indem Sie eine kostenlose temporäre Lizenz anfordern.
Fazit
In diesem Artikel haben Sie gelernt, wie Sie mit C++ ein benutzerdefiniertes TeX Format erstellen. Außerdem haben Sie gelernt, wie Sie ein benutzerdefiniertes TeX Format mithilfe der Aspose.TeX for C++ API in PDF und XPS-Formate setzen. Sie können die API im Detail erkunden, indem Sie die offizielle Dokumentation besuchen. Bei Fragen können Sie uns gerne in unserem kostenlosen Support-Forum erreichen.