كيفية تحويل LaTeX إلى PNG باستخدام C ++

يقدم هذا الموضوع المثير للاهتمام شرحًا توضيحيًا حول كيفية ** تقديم LaTeX إلى PNG باستخدام C ++ **. نسمي أيضًا ملفات LaTeX كملفات .tex ويمكن للمرء بسهولة أن ** يجعل LaTeX إلى PNG في C ++ ** مع خصائص وأساليب واجهة برمجة التطبيقات البسيطة. أحد الأشياء الجيدة في استخدام هذا المثال هو أن استدعاءات API لا تعتمد على أي برنامج تطبيق آخر أو أدوات طرف ثالث لتنفيذها.

خطوات تحويل LaTeX إلى PNG باستخدام C ++

  1. قم بتثبيت Aspose.Tex.Cpp باستخدام أداة NuGet package Manager
  2. قم بتضمين إشارة إلى Aspose :: TeX و Aspose :: TeX :: IO و Aspose :: TeX :: Presentation :: Image namespaces
  3. إنشاء كائن TeXOptions Class لإعداد التكوينات
  4. إنشاء كائن PngSaveOptions Class لحفظ LaTeX في صورة PNG
  5. تهيئة ImageDevice للتقديم
  6. استخدم TexJob لتحويل LaTeX إلى صورة PNG

وثائق LaTeX مخصصة للأغراض العلمية والبحثية التي يمكن استخدامها من قبل المستخدمين التقنيين وتحتوي على معلومات في شكل نص عادي. من أجل * تصدير LaTeX إلى صورة PNG في C ++ * ، سننشئ أولاً مثيلًا من فئة * TeXOptions * لإعداد التكوينات التي تتضمن دليل الإدخال ودليل الإخراج وخيارات وحدة التحكم. في الخطوات اللاحقة ، سنقوم بتعيين خصائص * PngSaveOptions * مثل دقة الصورة. أخيرًا ، سنقوم بتهيئة * ImageDevice * وباستخدام TexJob * render LaTeX إلى صورة PNG باستخدام C ++ *.

كود لتحويل 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();
}
};

في هذا الموضوع ، تعلمنا كيفية * C ++ إنشاء صورة PNG من LaTeX * باستخدام استدعاءات API بسيطة. إذا كنت مهتمًا بمعرفة ميزات أخرى مثل عرض ملفات MPP ، فراجع المقالة على كيفية تحويل MPP إلى XPS باستخدام C ++.

 عربي