Šioje įdomioje temoje pateikiama demonstracija, kaip pateikti LaTeX į PNG naudojant C++. LaTeX failus taip pat vadiname .tex failais ir galima lengvai pateikti LaTeX į PNG C++ naudojant paprastas API savybes ir metodus. Vienas geras dalykas naudojant šį pavyzdį yra tai, kad API iškvietimai nepriklauso nuo jokios kitos taikomosios programinės įrangos ar trečiųjų šalių įrankių.
Veiksmai, kaip pateikti LaTeX į PNG naudojant C++
- Įdiekite Aspose.Tex.Cpp naudodami NuGet paketų tvarkyklės įrankį
- Įtraukite nuorodą į Aspose::TeX, Aspose::TeX::IO ir Aspose::TeX::Presentation::Image vardų sritis
- Sukurkite objektą TeXOptions Class, kad nustatytumėte konfigūracijas
- Sukurkite objektą PngSaveOptions Class, kad išsaugotumėte LaTeX į PNG vaizdą
- Inicijuoti ImageDevice atvaizdavimui
- Naudokite “TexJob”, kad “LaTeX” būtų pateiktas į PNG vaizdą
LaTeX dokumentai yra skirti moksliniams ir tyrimams, kuriuos gali naudoti techniniai vartotojai ir juose pateikiama informacija paprasto teksto forma. Norėdami eksportuoti LaTeX į PNG atvaizdą C++, pirmiausia sukursime TeXOptions klasės egzempliorių, skirtą konfigūracijoms, apimančioms įvesties katalogą, išvesties katalogą ir konsolės parinktis, nustatyti. Tolesniuose veiksmuose nustatysime PngSaveOptions savybes, pvz., vaizdo skiriamąją gebą. Galiausiai inicijuosime ImageDevice ir naudodami TexJob pateiksime LaTeX į PNG vaizdą naudodami C++.
Kodas konvertuoti LaTeX į PNG C++
#pragma once | |
#include <system/text/encoding.h> | |
#include <system/io/text_writer.h> | |
#include <system/io/memory_stream.h> | |
#include <system/array.h> | |
#include <Aspose.TeX.Cpp/TeXOptions.h> | |
#include <Aspose.TeX.Cpp/TeXConfig.h> | |
#include <Aspose.TeX.Cpp/TeXJob.h> | |
#include <Aspose.TeX.Cpp/Presentation/SaveOptions.h> | |
#include <Aspose.TeX.Cpp/Presentation/Image/PngSaveOptions.h> | |
#include <Aspose.TeX.Cpp/Presentation/Image/ImageDevice.h> | |
#include <Aspose.TeX.Cpp/IO/OutputFileSystemDirectory.h> | |
#include <Aspose.TeX.Cpp/IO/OutputConsoleTerminal.h> | |
#include <Aspose.TeX.Cpp/IO/IOutputWorkingDirectory.h> | |
#include <Aspose.TeX.Cpp/IO/IOutputTerminal.h> | |
#include <Aspose.TeX.Cpp/IO/InputFileSystemDirectory.h> | |
#include <Aspose.TeX.Cpp/IO/InputConsoleTerminal.h> | |
#include <Aspose.TeX.Cpp/IO/IInputTerminal.h> | |
#include <cstdint> | |
#include <Aspose.TeX.Cpp/License.h> | |
using namespace Aspose::TeX; | |
using namespace Aspose::TeX::IO; | |
using namespace Aspose::TeX::Presentation::Image; | |
class TexToPngConverter{ | |
public: | |
static void TexToPNGRendering() | |
{ | |
// Initialize license object | |
System::SharedPtr<License> TexLicense = System::MakeObject<License>(); | |
// Applying license for rendering PNG | |
TexLicense->SetLicense(u"Aspose.Total.NET.lic"); | |
// Instantiate TeXOptions object for configuring settings | |
System::SharedPtr<TeXOptions> RenderingOptions = TeXOptions::ConsoleAppOptions(TeXConfig::ObjectTeX()); | |
// Specify the job name. | |
RenderingOptions->set_JobName(u"stream-image-out"); | |
// Specify the input file working directory. | |
RenderingOptions->set_InputWorkingDirectory(System::MakeObject<InputFileSystemDirectory>(u"")); | |
// Specify the output file working directory. | |
RenderingOptions->set_OutputWorkingDirectory(System::MakeObject<OutputFileSystemDirectory>(u"")); | |
// Setting the console input terminal | |
RenderingOptions->set_TerminalIn(System::MakeObject<InputConsoleTerminal>()); | |
// Setting the console output terminal | |
RenderingOptions->set_TerminalOut(System::MakeObject<OutputConsoleTerminal>()); | |
// Creating and specifying PngSaveOptions | |
System::SharedPtr<PngSaveOptions> ImageOptions = System::MakeObject<PngSaveOptions>(); | |
ImageOptions->set_Resolution(300); | |
RenderingOptions->set_SaveOptions(ImageOptions); | |
// Instantiating ImageDevice for rendering | |
System::SharedPtr<ImageDevice> ImageDevise = System::MakeObject<ImageDevice>(); | |
// Running TexJob for rendering to PNG | |
TeXJob::TeXJob(System::MakeObject<System::IO::MemoryStream>(System::Text::Encoding::get_ASCII()-> | |
GetBytes(u"\\hrule height 10pt width 95pt\\vskip10pt\\hrule height 5pt")), | |
ImageDevise, RenderingOptions); | |
// During executoion, when the console prompts the input, | |
// Step 1: Type "ABC", press Enter | |
// Step 2: Type "\end" and press Enter again | |
// In order to view the ouptut and to look write. | |
RenderingOptions->get_TerminalOut()->get_Writer()->WriteLine(); | |
// Alternatively, you can also get the images in form of array of byte arrays | |
// The 0th index belong to first page. | |
System::ArrayPtr<System::ArrayPtr<uint8_t>> result = ImageDevise->get_Result(); | |
} | |
}; |
Šioje temoje sužinojome, kaip C++ sukurti PNG vaizdą iš LaTeX naudojant paprastus API iškvietimus. Jei norite sužinoti apie kitas funkcijas, pvz., MPP failų atvaizdavimą, skaitykite straipsnį apie kaip konvertuoti MPP į XPS naudojant C++.