يقدم هذا الموضوع المثير للاهتمام شرحًا توضيحيًا حول كيفية ** تقديم LaTeX إلى PNG باستخدام C ++ **. نسمي أيضًا ملفات LaTeX كملفات .tex ويمكن للمرء بسهولة أن ** يجعل LaTeX إلى PNG في C ++ ** مع خصائص وأساليب واجهة برمجة التطبيقات البسيطة. أحد الأشياء الجيدة في استخدام هذا المثال هو أن استدعاءات API لا تعتمد على أي برنامج تطبيق آخر أو أدوات طرف ثالث لتنفيذها.
خطوات تحويل LaTeX إلى PNG باستخدام C ++
- قم بتثبيت Aspose.Tex.Cpp باستخدام أداة NuGet package Manager
- قم بتضمين إشارة إلى Aspose :: TeX و Aspose :: TeX :: IO و Aspose :: TeX :: Presentation :: Image namespaces
- إنشاء كائن TeXOptions Class لإعداد التكوينات
- إنشاء كائن PngSaveOptions Class لحفظ LaTeX في صورة PNG
- تهيئة ImageDevice للتقديم
- استخدم 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 ++.