PUB را با استفاده از C++ به تصویر تبدیل کنید

فایل های Microsoft Publisher (PUB) برای چاپ یا انتشار اطلاعات استفاده می شود. ممکن است سناریوهایی وجود داشته باشد که باید این فایل ها را به اشتراک بگذارید و طرف دریافت کننده به Microsoft Publisher دسترسی نداشته باشد. در چنین مواردی، تبدیل این فایل‌ها به تصاویر قبل از اشتراک‌گذاری می‌تواند مفید باشد. برای این منظور، این مقاله به شما آموزش می دهد که چگونه فایل های PUB را با استفاده از C++ به فرمت های تصویری مختلف تبدیل کنید.

API های C++ برای تبدیل فایل های PUB به فرمت تصویر

ما از Aspose.PUB برای C++ و Aspose.PDF برای C++ برای انجام این تبدیل استفاده خواهیم کرد. اولی کتابخانه ای برای کار با فایل های Microsoft Publisher (PUB) است، در حالی که دومی کتابخانه ای برای ایجاد، خواندن و اصلاح فایل های PDF است. ما از Aspose.PUB برای C++ API برای تبدیل فایل‌های PUB به فرمت PDF و Aspose.PDF برای C++ API برای تبدیل فایل‌های PDF تولید شده به فرمت تصویر استفاده خواهیم کرد. می توانید API ها را از طریق NuGet نصب کنید یا آنها را مستقیماً از بخش Downloads دانلود کنید.

PM> Install-Package Aspose.PUB.Cpp
PM> Install-Package Aspose.PDF.Cpp

با استفاده از C++ فایل های PUB را به تصاویر JPG تبدیل کنید

در زیر مراحل تبدیل فایل‌های PUB به تصاویر JPG آمده است.

کد نمونه زیر نحوه تبدیل فایل های PUB به تصاویر JPG را با استفاده از C++ نشان می دهد.

// منبع PUB و خروجی مسیرهای فایل PDF
System::String filePub = u"SourceDirectory\\1.pub";
System::String filePdf = u"OutputDirectory\\1.pdf";

// فایل PUB را بارگیری کنید
System::SharedPtr<IPubParser> parser = PubFactory::CreateParser(filePub);
System::SharedPtr<Aspose::Pub::Document> document = parser->Parse();

// فایل PUB را به PDF تبدیل کنید
PubFactory::CreatePdfConverter()->ConvertToPdf(document, filePdf);

// فایل PDF تولید شده را بارگیری کنید
auto pdfDocument = MakeObject<Aspose::Pdf::Document>(filePdf);
auto info = MakeObject<Facades::PdfFileInfo>(pdfDocument);

// از طریق صفحات PDF تکرار کنید
for (auto page : pdfDocument->get_Pages())
{
	// ابعاد صفحه PDF را دریافت کنید
	int width = info->GetPageWidth(page->get_Number());
	int height = info->GetPageHeight(page->get_Number());

	// یک نمونه از کلاس Resolution ایجاد کنید
	auto resolution = MakeObject<Devices::Resolution>(300);

	// دستگاه JPEG با عرض، ارتفاع و وضوح مشخص شده ایجاد کنید
	auto device = MakeObject<Devices::JpegDevice>(width, height, resolution);

	// File Stream را برای تصویر خروجی ایجاد کنید
	System::SharedPtr<System::IO::FileStream> imageStream = System::IO::File::Create(String::Format(u"OutputDirectory\\page_{0}.jpg", page->get_Number()));

	// صفحه PDF را به تصویر JPG تبدیل کنید
	device->Process(page, imageStream);

	// جریان را ببندید
	imageStream->Close();
}

با استفاده از C++ فایل‌های PUB را به تصاویر PNG تبدیل کنید

برای تبدیل فایل‌های PUB به تصاویر PNG، مراحل زیر را دنبال کنید.

  • فایل PUB را با استفاده از روش PubFactory::CreateParser(System::String fileName) بارگیری کنید.
  • تبدیل فایل PUB به فرمت PDF با استفاده از ConvertToPdf(System::SharedPtr doc، روش System::String filename).
  • فایل PDF تولید شده را با استفاده از کلاس Document بارگیری کنید.
  • صفحات فایل PDF را مرور کنید.
  • ابعاد صفحه PDF را دریافت کنید.
  • یک نمونه از کلاس Resolution ایجاد کنید.
  • کلاس PngDevice را با ارائه عرض، ارتفاع و وضوح نمونه‌سازی کنید.
  • یک نمونه از FileStream برای تصویر خروجی ایجاد کنید.
  • تبدیل صفحه PDF به تصویر PNG با استفاده از [PngDevice->Process(System::SharedPtr صفحه، سیستم::SharedPtrSystem::IO::Stream خروجی) 19 روش.
  • جریان را ببندید.

کد نمونه زیر نحوه تبدیل فایل های PUB به تصاویر PNG با استفاده از C++ را نشان می دهد.

// منبع PUB و خروجی مسیرهای فایل PDF
System::String filePub = u"SourceDirectory\\1.pub";
System::String filePdf = u"OutputDirectory\\1.pdf";

// فایل PUB را بارگیری کنید
System::SharedPtr<IPubParser> parser = PubFactory::CreateParser(filePub);
System::SharedPtr<Aspose::Pub::Document> document = parser->Parse();

// فایل PUB را به PDF تبدیل کنید
PubFactory::CreatePdfConverter()->ConvertToPdf(document, filePdf);

// فایل PDF تولید شده را بارگیری کنید
auto pdfDocument = MakeObject<Aspose::Pdf::Document>(filePdf);
auto info = MakeObject<Facades::PdfFileInfo>(pdfDocument);

// از طریق صفحات PDF تکرار کنید
for (auto page : pdfDocument->get_Pages())
{
	// ابعاد صفحه PDF را دریافت کنید
	int width = info->GetPageWidth(page->get_Number());
	int height = info->GetPageHeight(page->get_Number());

	// یک نمونه از کلاس Resolution ایجاد کنید
	auto resolution = MakeObject<Devices::Resolution>(300);

	// دستگاه PNG با عرض، ارتفاع و وضوح مشخص شده ایجاد کنید
	auto device = MakeObject<Devices::PngDevice>(width, height, resolution);

	// File Stream را برای تصویر خروجی ایجاد کنید
	System::SharedPtr<System::IO::FileStream> imageStream = System::IO::File::Create(String::Format(u"OutputDirectory\\page_{0}.png", page->get_Number()));

	// صفحه PDF را به تصویر PNG تبدیل کنید
	device->Process(page, imageStream);

	// جریان را ببندید
	imageStream->Close();
}

تبدیل فایل های PUB به تصاویر TIFF با استفاده از ++C

مراحل زیر برای تبدیل فایل‌های PUB به تصاویر TIFF آمده است.

کد نمونه زیر نحوه تبدیل فایل های PUB به تصاویر TIFF با استفاده از ++C را نشان می دهد.

// منبع PUB و خروجی مسیرهای فایل PDF
System::String filePub = u"SourceDirectory\\1.pub";
System::String filePdf = u"OutputDirectory\\1.pdf";

// فایل PUB را بارگیری کنید
System::SharedPtr<IPubParser> parser = PubFactory::CreateParser(filePub);
System::SharedPtr<Aspose::Pub::Document> document = parser->Parse();

// فایل PUB را به PDF تبدیل کنید
PubFactory::CreatePdfConverter()->ConvertToPdf(document, filePdf);

// فایل PDF تولید شده را بارگیری کنید
auto pdfDocument = MakeObject<Aspose::Pdf::Document>(filePdf);
auto info = MakeObject<Facades::PdfFileInfo>(pdfDocument);

// ابعاد صفحه اول PDF را دریافت کنید
int width = info->GetPageWidth(1);
int height = info->GetPageHeight(1);

// یک نمونه از کلاس Resolution ایجاد کنید
auto resolution = MakeObject<Devices::Resolution>(300);

// یک نمونه از کلاس TiffSettings ایجاد کنید و تنظیمات مورد نیاز را تنظیم کنید
auto settings = MakeObject<Devices::TiffSettings>();
settings->set_Compression(Devices::CompressionType::None);
settings->set_Depth(Devices::ColorDepth::Default);

// ایجاد دستگاه TIFF با عرض، ارتفاع، وضوح و تنظیمات Tiff مشخص شده
auto device = MakeObject<Devices::TiffDevice>(width, height, resolution, settings);

// File Stream را برای تصویر خروجی ایجاد کنید
System::SharedPtr<System::IO::FileStream> imageStream = System::IO::File::Create(u"OutputDirectory\\pdf.tiff");

// فایل PDF را به تصویر TIFF تبدیل کنید
device->Process(pdfDocument, 1, 1, imageStream);

// جریان را ببندید
imageStream->Close();

مجوز رایگان دریافت کنید

با درخواست [مجوز موقت رایگان30 می‌توانید API را بدون محدودیت ارزیابی امتحان کنید.

نتیجه

در این مقاله نحوه تبدیل فایل های Microsoft Publisher (PUB) به تصاویر JPG، PNG و TIFF با استفاده از ++C را یاد گرفتید. برای رسیدن به این هدف از Aspose.PUB برای C++ و Aspose.PDF برای C++ API استفاده کردیم. شما می توانید با مراجعه به اسناد رسمی این API ها را با جزئیات بررسی کنید. در صورت وجود هرگونه سوال، لطفاً با ما در [تالار گفتمان پشتیبانی رایگان31 تماس بگیرید.

همچنین ببینید