המר PUB לתמונה באמצעות C++

קבצי Microsoft Publisher (PUB) משמשים להדפסה או פרסום מידע. ייתכן שיש תרחישים שבהם עליך לשתף קבצים אלה, ולצד המקבל אין גישה ל-Microsoft Publisher. במקרים כאלה, המרת קבצים אלה לתמונות לפני השיתוף יכולה להיות מועילה. לשם כך, מאמר זה ילמד אותך כיצד להמיר קבצי PUB לפורמטים שונים של תמונה באמצעות C++.

ממשקי API של C++ להמרת קבצי PUB לפורמט תמונה

נשתמש בממשקי ה-API Aspose.PUB for C++ ו-Aspose.PDF for C++ כדי לבצע המרה זו. הראשונה היא ספרייה לעבודה עם קבצי Microsoft Publisher (PUB), ואילו השנייה היא הספרייה ליצירה, קריאה ושינוי של קובצי PDF. נשתמש ב-Aspose.PUB for C++ API כדי להמיר קבצי PUB לפורמט PDF וב-Aspose.PDF for C++ API כדי להמיר את קבצי ה-PDF שנוצרו לפורמט תמונה. אתה יכול להתקין את ממשקי ה-API דרך NuGet או להוריד אותם ישירות מהקטע הורדות.

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

המר קבצי PUB לתמונות JPG באמצעות C++

להלן השלבים להמרת קובצי 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();
}

המר קבצי 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());

	// צור מופע של המחלקה 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 עם הגדרות הרוחב, הגובה, הרזולוציה וה-TiffSettings שצוינו
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();

קבל רישיון חינם

אתה יכול לנסות את ה-API ללא מגבלות הערכה על ידי בקשת [רישיון זמני בחינם].30

סיכום

במאמר זה, למדת כיצד להמיר קבצי Microsoft Publisher (PUB) לתמונות JPG, PNG ו-TIFF באמצעות C++. השתמשנו ב-Aspose.PUB עבור C++ ו-Aspose.PDF עבור C++ APIs כדי להשיג זאת. אתה יכול לחקור את ממשקי ה-API הללו בפירוט על ידי ביקור בתיעוד הרשמי שלהם. בכל שאלה, אנא אל תהסס לפנות אלינו ב[פורום התמיכה החינמי] שלנו31.

ראה גם