קבצי Microsoft Publisher (PUB) משמשים להדפסה או פרסום מידע. ייתכן שיש תרחישים שבהם עליך לשתף קבצים אלה, ולצד המקבל אין גישה ל-Microsoft Publisher. במקרים כאלה, המרת קבצים אלה לתמונות לפני השיתוף יכולה להיות מועילה. לשם כך, מאמר זה ילמד אותך כיצד להמיר קבצי PUB לפורמטים שונים של תמונה באמצעות C++.
- ממשקי API של C++ להמרת קבצי PUB לפורמט תמונה
- המר קבצי PUB לתמונות JPG באמצעות C++
- המר קבצי PUB לתמונות PNG באמצעות C++
- המרת קבצי PUB לתמונות TIFF באמצעות 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 באמצעות השיטה PubFactory::CreateParser(System::String fileName).
- המר את קובץ ה-PUB לפורמט PDF באמצעות ConvertToPdf(System::SharedPtr doc, System::String fileName) שיטה.
- טען את קובץ ה-PDF שנוצר באמצעות המחלקה מסמך.
- עברו בלולאה בין דפי קובץ ה-PDF.
- קבל את המידות של דף ה-PDF.
- צור מופע של המחלקה Resolution.
- הצג את המחלקה JpegDevice על ידי מתן הרוחב, הגובה והרזולוציה.
- צור מופע של FileStream עבור תמונת הפלט.
- המר את דף ה-PDF לתמונת JPG באמצעות JpegDevice->Process(System::SharedPtr דף, System::SharedPtr< System::IO::Stream > output) שיטת.
- סגור את הזרם.
הקוד לדוגמה הבא מראה כיצד להמיר קבצי 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 באמצעות השיטה 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 דף, System::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 באמצעות השיטה PubFactory::CreateParser(System::String fileName).
- המר את קובץ ה-PUB לפורמט PDF באמצעות ConvertToPdf(System::SharedPtr doc, System::String fileName) שיטה.
- טען את קובץ ה-PDF שנוצר באמצעות המחלקה Document.
- קבל את המידות של דף ה-PDF הראשון.
- צור מופע של המחלקה Resolution.
- צור מופע של המחלקה TiffSettings והגדר את ההגדרות הנדרשות.
- הצג את המחלקה TiffDevice על ידי מתן הרוחב, הגובה, הרזולוציה ו-TiffSettings.
- צור מופע של FileStream עבור תמונת הפלט.
- המר את קובץ ה-PDF לתמונת TIFF באמצעות [TiffDevice->Process( System::SharedPtrAspose::Pdf::Document מסמך, int32t fromPage, int32t toPage, System::SharedPtrSystem::IO::Stream פלט) שיטת 29.
- סגור את הזרם.
הקוד לדוגמה הבא מדגים כיצד להמיר קובצי 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.