TeX-filer används för att typsätta olika dokument och böcker som innehåller text, symboler och aritmetiska uttryck. Dessutom kan dessa filer generera utdata som PDF, XPS och olika bildformat. I den här artikeln kommer du att lära dig hur du konverterar TeX-filer till XPS- och PDF-format med C++.
- C++ API för att konvertera TeX till PDF- och XPS-format
- Konvertera TeX till XPS-format med C++
- Konvertera TeX till PDF-format med C++
- Konvertera TeX ZIP-katalog till PDF ZIP-katalog med C++
C++ API för att konvertera TeX till PDF- och XPS-format
Aspose.TeX for C++ är ett C++-bibliotek för att arbeta med TeX-filer utan att ytterligare programvara behöver installeras. API:et låter dig sätta TeX-filer och generera utdata i format som XPS, PDF, PNG, JPEG, TIFF, BMP. Du kan antingen installera API:et genom NuGet eller ladda ner det direkt från avsnittet Nedladdningar.
PM> Install-Package Aspose.TeX.Cpp
Konvertera TeX till XPS-format med C++
Du kan konvertera TeX-filer till XPS-format på bara några rader kod. För att uppnå detta, följ stegen nedan.
- Skapa en instans av klassen TeXOptions med hjälp av TeXConfig::ObjectTeX(System::SharedPtrAspose::TeX::ResourceProviders::FormatProvider formatProvider = nullptr) medlemsfunktion.
- Ange arbetskatalogerna för in- och utdata.
- Ange konsol eller minnesström som utgångsterminal.
- Spara den utgående XPS-filen med hjälp av TeX::Typeset(System::String path, System::SharedPtrPresentation::Device enhet, System::SharedPtr options)-metoden med en instans av klassen XpsDevice.
Följande exempelkod visar hur man konverterar en TeX-fil till XPS-format med C++.
// Skapa typsättningsalternativ för standard ObjectTeX-format på ObjectTeX-motortillägget.
System::SharedPtr<TeXOptions> options = TeXOptions::ConsoleAppOptions(TeXConfig::ObjectTeX());
// Ange en arbetskatalog för filsystemet för inmatning.
options->set_InputWorkingDirectory(System::MakeObject<InputFileSystemDirectory>(u"SourceDirectory"));
// Ange en arbetskatalog för filsystemet för utdata.
options->set_OutputWorkingDirectory(System::MakeObject<OutputFileSystemDirectory>(u"OutputDirectory"));
// Ange konsol som utgångsterminal.
options->set_TerminalOut(System::MakeObject<Aspose::TeX::IO::OutputConsoleTerminal>());
// Standard. Inget behov av att specificera.
// Ange minnesström som utgångsterminal om du inte vill att terminalutgången ska skrivas till konsolen.
//options.TerminalOut = new OutputMemoryTerminal();
// Kör typsättning.
Aspose::TeX::TeX::Typeset(u"hello-world", System::MakeObject<XpsDevice>(), options);
// För ytterligare utdata att se skriv.
options->get_TerminalOut()->get_Writer()->WriteLine();
Konvertera TeX till PDF-format med C++
Följande är stegen för att konvertera TeX-filer till PDF-format.
- Skapa en instans av klassen TeXOptions med hjälp av TeXConfig::ObjectTeX(System::SharedPtrAspose::TeX::ResourceProviders::FormatProvider formatProvider = nullptr) medlemsfunktion.
- Ange arbetskatalogerna för in- och utdata.
- Ange konsol eller minnesström som utgångsterminal.
- Skicka en instans av klassen PdfSaveOptions till TeXOptions->setSaveOptions(System::SharedPtr)Aspose::TeX::Presentation::SaveOptions värde) metod.
- Spara PDF-filen med TeX::Typeset(System::String path, System::SharedPtrPresentation::Device enhet, System::SharedPtr options)-metoden med en instans av klassen PdfDevice.
Följande exempelkod visar hur man konverterar en TeX-fil till PDF-format med C++.
// Skapa typsättningsalternativ för standard ObjectTeX-format på ObjectTeX-motortillägget.
System::SharedPtr<TeXOptions> options = TeXOptions::ConsoleAppOptions(TeXConfig::ObjectTeX());
// Ange en arbetskatalog för filsystemet för inmatning.
options->set_InputWorkingDirectory(System::MakeObject<InputFileSystemDirectory>(u"SourceDirectory"));
// Ange en arbetskatalog för filsystemet för utdata.
options->set_OutputWorkingDirectory(System::MakeObject<OutputFileSystemDirectory>(u"OutputDirectory"));
// Ange konsol som utgångsterminal.
options->set_TerminalOut(System::MakeObject<Aspose::TeX::IO::OutputConsoleTerminal>());
// Standard. Inget behov av att specificera.
// Ange minnesström som utgångsterminal om du inte vill att terminalutgången ska skrivas till konsolen.
//options.TerminalOut = new OutputMemoryTerminal();
// Ställ in PdfSaveOptions
options->set_SaveOptions(System::MakeObject<PdfSaveOptions>());
// Kör typsättning.
Aspose::TeX::TeX::Typeset(u"hello-world", System::MakeObject<PdfDevice>(), options);
// För ytterligare utdata att se skriv.
options->get_TerminalOut()->get_Writer()->WriteLine();
Konvertera TeX ZIP-katalog till PDF ZIP-katalog med C++
För att konvertera flera TeX-filer till PDF-format på en gång kan du lägga till TeX-filerna i ett ZIP-arkiv och konvertera dem till zippade PDF-filer. Följande är stegen för att uppnå detta.
- Ladda in- och utdata ZIP-arkiv i strömmar.
- Skapa en instans av klassen TeXOptions med hjälp av TeXConfig::ObjectTeX(System::SharedPtr)Aspose::TeX::ResourceProviders::FormatProvider formatProvider = nullptr) medlemsfunktion.
- Ställ in arbetskatalogerna för in- och utdata.
- Ange konsol eller minnesström som utgångsterminal.
- Skicka en instans av klassen PdfSaveOptions till TeXOptions->setSaveOptions(System::SharedPtr)Aspose::TeX::Presentation::SaveOptions värde) metod.
- Spara den zippade PDF-filen med hjälp av TeX::Typeset(System::String path, System::SharedPtrPresentation::Device enhet, System::SharedPtr options) med en instans av klassen PdfDevice.
Följande exempelkod visar hur man konverterar TeX ZIP-arkiv till PDF ZIP-arkiv med C++.
// Öppna källzip-filen i en ström
System::SharedPtr<System::IO::Stream> inZipStream = System::IO::File::Open(System::IO::Path::Combine(u"SourceDirectory", u"zip-in.zip"), System::IO::FileMode::Open);
// Rensa resurser under "använder" uttalande
System::Details::DisposeGuard<1> __dispose_guard_1({ inZipStream });
// ------------------------------------------
try {
// Öppna utdata-zip-filen i en ström
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);
// Rensa resurser under "använder" uttalande
System::Details::DisposeGuard<1> __dispose_guard_0({ outZipStream });
// ------------------------------------------
try
{
// Skapa typsättningsalternativ för standard ObjectTeX-format på ObjectTeX-motortillägget.
System::SharedPtr<TeXOptions> options = TeXOptions::ConsoleAppOptions(TeXConfig::ObjectTeX());
// Ange en ZIP-arkivarbetskatalog för inmatning.
options->set_InputWorkingDirectory(System::MakeObject<InputZipDirectory>(inZipStream, u"in"));
// Ange en ZIP-arkivarbetskatalog för utdata.
options->set_OutputWorkingDirectory(System::MakeObject<OutputZipDirectory>(outZipStream));
// Ange konsol som utgångsterminal.
options->set_TerminalOut(System::MakeObject<OutputConsoleTerminal>());
// Standard. Inte nödvändigt att specificera.
// Skapa och ange sparalternativ.
options->set_SaveOptions(System::MakeObject<PdfSaveOptions>());
// Kör typsättning.
Aspose::TeX::TeX::Typeset(u"hello-world", System::MakeObject<PdfDevice>(), options);
// För att följa utdata ska se skriv.
options->get_TerminalOut()->get_Writer()->WriteLine();
// Slutför utdata ZIP-arkiv.
(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());
}
Skaffa en gratis licens
Du kan prova API utan utvärderingsbegränsningar genom att begära en gratis tillfällig licens.
Slutsats
I den här artikeln har du lärt dig hur du konverterar TeX-filer till XPS- och PDF-format med C++. Dessutom har du lärt dig hur du konverterar TeX-filer i ett ZIP-arkiv till zippade PDF-filer. Aspose.TeX för C++ tillhandahåller många ytterligare funktioner för att arbeta med TeX-filer. Du kan utforska API:et i detalj genom att besöka den officiella dokumentationen. Om du har några frågor är du välkommen att kontakta oss på vårt gratis supportforum.