ไฟล์ Microsoft Publisher (PUB) ใช้สำหรับพิมพ์หรือเผยแพร่ข้อมูล อาจมีบางสถานการณ์ที่คุณจำเป็นต้องแชร์ไฟล์เหล่านี้ และฝ่ายรับไม่มีสิทธิ์เข้าถึง Microsoft Publisher ในกรณีเช่นนี้ การแปลงไฟล์เหล่านี้เป็นภาพก่อนแบ่งปันสามารถพิสูจน์ได้ว่ามีประโยชน์ ด้วยเหตุนี้ บทความนี้จะสอนวิธีแปลงไฟล์ PUB เป็นรูปแบบรูปภาพต่างๆ โดยใช้ C++
- C ++ API สำหรับการแปลงไฟล์ PUB เป็นรูปแบบรูปภาพ
- แปลงไฟล์ PUB เป็นรูปภาพ JPG โดยใช้ C++
- แปลงไฟล์ PUB เป็นภาพ PNG โดยใช้ C++
- การแปลงไฟล์ PUB เป็นรูปภาพ TIFF โดยใช้ C++
C ++ API สำหรับการแปลงไฟล์ 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 ที่สร้างขึ้นโดยใช้คลาส Document
- วนซ้ำหน้าต่างๆ ของไฟล์ PDF
- รับขนาดของหน้า PDF
- สร้างอินสแตนซ์ของคลาส Resolution
- สร้างอินสแตนซ์ของคลาส JpegDevice โดยระบุความกว้าง ความสูง และความละเอียด
- สร้างอินสแตนซ์ของ FileStream สำหรับภาพที่ส่งออก
- แปลงหน้า PDF เป็นภาพ JPG โดยใช้ JpegDevice->Process(System::SharedPtr หน้า System::SharedPtr< System::IO::Stream > เอาต์พุต) เมธอด
- ปิดสตรีม.
โค้ดตัวอย่างต่อไปนี้แสดงวิธีการแปลงไฟล์ 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 เอาต์พุต) เมธอด
- ปิดสตรีม.
โค้ดตัวอย่างต่อไปนี้แสดงวิธีการแปลงไฟล์ 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 เอาต์พุต) วิธีการ
- ปิดสตรีม.
โค้ดตัวอย่างต่อไปนี้สาธิตวิธีการแปลงไฟล์ 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 ได้โดยไม่มีข้อจำกัดในการประเมินโดยขอ ใบอนุญาตชั่วคราวฟรี
บทสรุป
ในบทความนี้ คุณได้เรียนรู้วิธีแปลงไฟล์ Microsoft Publisher (PUB) เป็นรูปภาพ JPG, PNG และ TIFF โดยใช้ C++ เราใช้ Aspose.PUB for C++ และ Aspose.PDF for C++ API เพื่อให้บรรลุเป้าหมายนี้ คุณสามารถสำรวจ API เหล่านี้โดยละเอียดได้โดยไปที่เอกสารอย่างเป็นทางการ ในกรณีที่มีคำถามใดๆ โปรดติดต่อเราได้ที่ ฟอรัมสนับสนุนฟรี