تحويل PUB إلى صورة باستخدام C ++

تُستخدم ملفات Microsoft Publisher (PUB) لطباعة المعلومات أو نشرها. قد تكون هناك سيناريوهات تحتاج فيها إلى مشاركة هذه الملفات ، ولا يمتلك الطرف المتلقي حق الوصول إلى Microsoft Publisher. في مثل هذه الحالات ، يمكن أن يكون تحويل هذه الملفات إلى صور قبل مشاركتها مفيدًا. تحقيقًا لهذه الغاية ، ستعلمك هذه المقالة كيفية تحويل ملفات PUB إلى تنسيقات صور مختلفة باستخدام C ++.

واجهات برمجة تطبيقات C ++ لتحويل ملفات PUB إلى تنسيق صورة

سنستخدم Aspose.PUB لـ C ++ و Aspose.PDF لـ C ++ APIs لإجراء هذا التحويل. الأول عبارة عن مكتبة للعمل مع ملفات Microsoft Publisher (PUB) ، بينما الثانية هي مكتبة لإنشاء ملفات PDF وقراءتها وتعديلها. سنستخدم Aspose.PUB لـ C ++ API لتحويل ملفات PUB إلى تنسيق PDF و Aspose.PDF لـ C ++ API لتحويل ملفات PDF التي تم إنشاؤها إلى تنسيق صورة. يمكنك إما تثبيت واجهات برمجة التطبيقات من خلال NuGet أو تنزيلها مباشرة من قسم التنزيلات.

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

قم بتحويل ملفات PUB إلى صور JPG باستخدام C ++

فيما يلي خطوات تحويل ملفات PUB إلى صور JPG.

  • قم بتحميل ملف PUB باستخدام أسلوب PubFactory :: CreateParser (System :: String fileName).
  • قم بتحويل ملف PUB إلى تنسيق PDF باستخدام [ConvertToPdf (System :: SharedPtr doc ، System :: String fileName)] طريقة 6.
  • قم بتحميل ملف PDF الذي تم إنشاؤه باستخدام فئة Document.
  • قم بالتكرار خلال صفحات ملف PDF.
  • احصل على أبعاد صفحة PDF.
  • قم بإنشاء مثيل لفئة Resolution.
  • إنشاء فئة JpegDevice من خلال توفير العرض والارتفاع والدقة.
  • قم بإنشاء مثيل لـ FileStream للصورة الناتجة.
  • قم بتحويل صفحة PDF إلى صورة JPG باستخدام [JpegDevice-> Process (System :: SharedPtr page، System :: SharedPtr output)] طريقة 11.
  • أغلق الدفق.

يوضح نموذج التعليمات البرمجية التالي كيفية تحويل ملفات 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());

	// قم بإنشاء مثيل لفئة الدقة
	auto resolution = MakeObject<Devices::Resolution>(300);

	// قم بإنشاء جهاز JPEG بالعرض والارتفاع والدقة المحددين
	auto device = MakeObject<Devices::JpegDevice>(width, height, resolution);

	// قم بإنشاء دفق الملفات للصورة الناتجة
	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();
}

قم بتحويل ملفات PUB إلى صور PNG باستخدام C ++

لتحويل ملفات PUB إلى صور PNG ، اتبع الخطوات الموضحة أدناه.

يوضح نموذج التعليمات البرمجية التالي كيفية تحويل ملفات 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());

	// قم بإنشاء مثيل لفئة الدقة
	auto resolution = MakeObject<Devices::Resolution>(300);

	// قم بإنشاء جهاز PNG بالعرض والارتفاع والدقة المحددين
	auto device = MakeObject<Devices::PngDevice>(width, height, resolution);

	// قم بإنشاء دفق الملفات للصورة الناتجة
	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);

// قم بإنشاء مثيل لفئة الدقة
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 بالعرض والارتفاع والدقة وإعدادات TiffSettings المحددة
auto device = MakeObject<Devices::TiffDevice>(width, height, resolution, settings);

// قم بإنشاء دفق الملفات للصورة الناتجة
System::SharedPtr<System::IO::FileStream> imageStream = System::IO::File::Create(u"OutputDirectory\\pdf.tiff");

// قم بتحويل ملف PDF إلى صورة TIFF
device->Process(pdfDocument, 1, 1, imageStream);

// أغلق الدفق
imageStream->Close();

احصل على رخصة مجانية

يمكنك تجربة واجهة برمجة التطبيقات بدون قيود التقييم من خلال طلب ترخيص مؤقت مجاني.

استنتاج

في هذه المقالة ، تعلمت كيفية تحويل ملفات Microsoft Publisher (PUB) إلى صور JPG و PNG و TIFF باستخدام C ++. استخدمنا Aspose.PUB لـ C ++ و Aspose.PDF لواجهات برمجة تطبيقات C ++ لتحقيق ذلك. يمكنك استكشاف واجهات برمجة التطبيقات هذه بالتفصيل من خلال زيارة الوثائق الرسمية الخاصة بهم. في حالة وجود أي أسئلة ، لا تتردد في الاتصال بنا على منتدى الدعم المجاني.

أنظر أيضا