TeX Dateien werden zum Setzen verschiedener Dokumente und Bücher verwendet, die Text, Symbole und arithmetische Ausdrücke enthalten. Darüber hinaus können diese Dateien Ausgaben wie PDF, XPS und verschiedene Bildformate generieren. In diesem Artikel erfahren Sie, wie Sie TeX Dateien mit C++ in das XPS und PDF Format konvertieren.
- C++-API zum Konvertieren von TeX in das PDF und XPS-Format
- Konvertieren Sie TeX in das XPS Format mit C++
- Konvertieren von TeX in das PDF Format mit C++
- Konvertieren Sie das TeX-ZIP-Verzeichnis mit C++ in das PDF-ZIP-Verzeichnis
C++-API zum Konvertieren von TeX in das PDF und XPS Format
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 und Ausgaben in Formaten wie XPS, PDF, PNG, JPEG, TIFF, BMP. Sie können die API entweder über NuGet installieren oder direkt aus dem Abschnitt Downloads herunterladen.
PM> Install-Package Aspose.TeX.Cpp
Konvertieren Sie TeX in das XPS Format mit C++
Sie können TeX Dateien in nur wenigen Codezeilen in das XPS Format konvertieren. Um dies zu erreichen, folgen Sie bitte den unten angegebenen Schritten.
- Erstellen Sie eine Instanz der Klasse TeXOptions mithilfe von TeXConfig::ObjectTeX(System::SharedPtrAspose::TeX::ResourceProviders::FormatProvider formatProvider = nullptr) Member Funktion.
- Geben Sie die Eingabe und Ausgabe-Arbeitsverzeichnisse an.
- Geben Sie Konsole oder Speicherstream als Ausgabeterminal an.
- Speichern Sie die XPS-Ausgabedatei mit dem TeX::Typeset(System::String-Pfad, System::SharedPtrPresentation::Device Gerät, System::SharedPtr options) mit einer Instanz der XpsDevice Klasse.
Der folgende Beispielcode zeigt, wie eine TeX Datei mit C++ in das XPS Format konvertiert wird.
// Erstellen Sie Satzoptionen für das standardmäßige ObjectTeX Format in der ObjectTeX engine erweiterung.
System::SharedPtr<TeXOptions> options = TeXOptions::ConsoleAppOptions(TeXConfig::ObjectTeX());
// 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"));
// Konsole als Ausgabeterminal angeben.
options->set_TerminalOut(System::MakeObject<Aspose::TeX::IO::OutputConsoleTerminal>());
// Standard. Keine Angabe erforderlich.
// Geben Sie den Speicherstrom als Ausgabeterminal an, wenn Sie nicht möchten, dass die Terminalausgabe auf die Konsole geschrieben wird.
//options.TerminalOut = new OutputMemoryTerminal();
// Schriftsatz ausführen.
Aspose::TeX::TeX::Typeset(u"hello-world", System::MakeObject<XpsDevice>(), options);
// Für weitere Ausgaben siehe schreiben.
options->get_TerminalOut()->get_Writer()->WriteLine();
Konvertieren von TeX in das PDF Format mit C++
Im Folgenden sind die Schritte zum Konvertieren von TeX Dateien in das PDF Format aufgeführt.
- Erstellen Sie eine Instanz der Klasse TeXOptions mit dem Befehl TeXConfig::ObjectTeX(System::SharedPtrAspose::TeX::ResourceProviders::FormatProvider formatProvider = nullptr) Member Funktion.
- Geben Sie die Eingabe und Ausgabe-Arbeitsverzeichnisse an.
- Geben Sie Konsole oder Speicherstream als Ausgabeterminal an.
- Übergeben Sie eine Instanz der Klasse PdfSaveOptions an TeXOptions->setSaveOptions(System::SharedPtrAspose::TeX::Presentation::SaveOptions Wert) Methode.
- Speichern Sie die PDF-Ausgabedatei mit dem TeX::Typeset(System::String-Pfad, System::SharedPtrPresentation::Device Gerät, System::SharedPtr options) mit einer Instanz der PdfDevice Klasse.
Der folgende Beispielcode zeigt, wie eine TeX Datei mit C++ in das PDF Format konvertiert wird.
// Erstellen Sie Satzoptionen für das standardmäßige ObjectTeX Format in der ObjectTeX engine erweiterung.
System::SharedPtr<TeXOptions> options = TeXOptions::ConsoleAppOptions(TeXConfig::ObjectTeX());
// 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"));
// Konsole als Ausgabeterminal angeben.
options->set_TerminalOut(System::MakeObject<Aspose::TeX::IO::OutputConsoleTerminal>());
// Standard. Keine Angabe erforderlich.
// Geben Sie den Speicherstrom als Ausgabeterminal an, wenn Sie nicht möchten, dass die Terminalausgabe auf die Konsole geschrieben wird.
//options.TerminalOut = new OutputMemoryTerminal();
// Legen Sie PdfSaveOptions fest
options->set_SaveOptions(System::MakeObject<PdfSaveOptions>());
// Schriftsatz ausführen.
Aspose::TeX::TeX::Typeset(u"hello-world", System::MakeObject<PdfDevice>(), options);
// Für weitere Ausgaben siehe schreiben.
options->get_TerminalOut()->get_Writer()->WriteLine();
Konvertieren Sie das TeX-ZIP-Verzeichnis mit C++ in das PDF-ZIP-Verzeichnis
Um mehrere TeX Dateien auf einmal in das PDF Format zu konvertieren, können Sie die TeX Dateien zu einem ZIP Archiv hinzufügen und sie in gezippte PDF Dateien konvertieren. Im Folgenden sind die Schritte aufgeführt, um dies zu erreichen.
- Laden Sie die Eingabe und Ausgabe-ZIP-Archive in Streams.
- Erstellen Sie eine Instanz der Klasse TeXOptions mit dem Befehl TeXConfig::ObjectTeX(System::SharedPtrAspose::TeX::ResourceProviders::FormatProvider formatProvider = nullptr) Member Funktion.
- Legen Sie die Eingabe und Ausgabe-Arbeitsverzeichnisse fest.
- Geben Sie Konsole oder Speicherstream als Ausgabeterminal an.
- Übergeben Sie eine Instanz der Klasse PdfSaveOptions an TeXOptions->setSaveOptions(System::SharedPtrAspose::TeX::Presentation::SaveOptions Wert) Methode.
- Speichern Sie die gezippte PDF-Ausgabedatei mit dem TeX::Typeset(System::String path, System::SharedPtrPresentation::Device Gerät, System::SharedPtr options) methode mit einer Instanz der PdfDevice Klasse.
Der folgende Beispielcode zeigt, wie Sie ein TeX-ZIP-Archiv mit C++ in ein PDF-ZIP-Archiv konvertieren.
// Öffnen Sie die Quell-ZIP Datei in einem Stream
System::SharedPtr<System::IO::Stream> inZipStream = System::IO::File::Open(System::IO::Path::Combine(u"SourceDirectory", u"zip-in.zip"), System::IO::FileMode::Open);
// Löschen von Ressourcen unter der 'using'-Anweisung
System::Details::DisposeGuard<1> __dispose_guard_1({ inZipStream });
// ------------------------------------------
try {
// Öffnen Sie die ZIP-Ausgabedatei in einem Stream
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);
// Löschen von Ressourcen unter der 'using'-Anweisung
System::Details::DisposeGuard<1> __dispose_guard_0({ outZipStream });
// ------------------------------------------
try
{
// Erstellen Sie Satzoptionen für das standardmäßige ObjectTeX Format in der ObjectTeX engine erweiterung.
System::SharedPtr<TeXOptions> options = TeXOptions::ConsoleAppOptions(TeXConfig::ObjectTeX());
// Geben Sie ein ZIP Archiv-Arbeitsverzeichnis für die Eingabe an.
options->set_InputWorkingDirectory(System::MakeObject<InputZipDirectory>(inZipStream, u"in"));
// Geben Sie ein ZIP Archiv-Arbeitsverzeichnis für die Ausgabe an.
options->set_OutputWorkingDirectory(System::MakeObject<OutputZipDirectory>(outZipStream));
// Konsole als Ausgabeterminal angeben.
options->set_TerminalOut(System::MakeObject<OutputConsoleTerminal>());
// Standard. Angabe nicht erforderlich.
// Speicheroptionen erstellen und festlegen.
options->set_SaveOptions(System::MakeObject<PdfSaveOptions>());
// Schriftsatz ausführen.
Aspose::TeX::TeX::Typeset(u"hello-world", System::MakeObject<PdfDevice>(), options);
// Für eine konsequente Ausgabe suchen Sie schreiben.
options->get_TerminalOut()->get_Writer()->WriteLine();
// Ausgabe-ZIP-Archiv abschließen.
(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());
}
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 TeX Dateien mit C++ in das XPS und PDF Format konvertieren. Außerdem haben Sie gelernt, TeX Dateien in einem ZIP Archiv in gezippte PDF Dateien umzuwandeln. Aspose.TeX for C++ bietet viele zusätzliche Funktionen für die Arbeit mit TeX Dateien. 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.