C++ kullanarak LaTeX'i PNG'ye Dönüştürme

Bu ilginç konu, C++** kullanarak LaTeX‘in PNG‘ye nasıl **oluşturulacağını gösterir. Ayrıca LaTeX dosyalarını .tex dosyaları olarak adlandırıyoruz ve basit API özellikleri ve yöntemleriyle kolayca LaTeX’i PNG’ye C++‘da işleyebilirsiniz. Bu örneği kullanmanın iyi bir yanı, API çağrılarının yürütülmesi için başka herhangi bir uygulama yazılımına veya üçüncü taraf araçlarına bağlı olmamasıdır.

C++ kullanarak LaTeX’i PNG’ye Oluşturma Adımları

  1. NuGet paket Yöneticisi aracını kullanarak Aspose.Tex.Cpp yükleyin
  2. Aspose::TeX, Aspose::TeX::IO ve Aspose::TeX::Presentation::Image ad alanlarına referans ekleyin
  3. Yapılandırmaları ayarlamak için TeXOptions Class nesnesini örnekleyin
  4. LaTeX’i PNG görüntüsüne kaydetmek için PngSaveOptions Class nesnesini örnekleyin
  5. Oluşturma için ImageDevice’i başlatın
  6. LaTeX’i PNG görüntüsüne dönüştürmek için TexJob kullanın

LaTeX belgeleri, teknik kullanıcılar tarafından kullanılabilecek ve düz metin biçiminde bilgiler içeren bilimsel ve araştırma amaçlıdır. C++*‘da LaTeX’i PNG görüntüsüne *dışa aktarmak için, önce giriş dizini, çıktı dizini ve konsol seçeneklerini içeren yapılandırmaları ayarlamak için bir TeXOptions sınıfı örneği oluşturacağız. Sonraki adımlarda, görüntü çözünürlüğü gibi PngSaveOptions özelliklerini ayarlayacağız. Son olarak, ImageDevice‘ı başlatacağız ve TexJob kullanarak LaTeX’i C++ kullanarak PNG görüntüsüne dönüştüreceğiz.

C++‘da LaTeX’i PNG’ye Dönüştürme Kodu

#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();
}
};

Bu konuda, basit API çağrılarını kullanarak C++‘ın LaTeX’ten nasıl PNG görüntüsü oluşturduğunu öğrendik. MPP dosyaları oluşturma gibi diğer özellikleri öğrenmekle ilgileniyorsanız C++ kullanarak MPP’yi XPS’ye dönüştürme makalesine bakın.

 Türkçe