Soubory Microsoft Publisher (PUB) se používají k tisku nebo publikování informací. Mohou nastat situace, kdy je potřeba tyto soubory sdílet, a přijímající strana nemá přístup k aplikaci Microsoft Publisher. V takových případech může být užitečné převést tyto soubory na obrázky před sdílením. Za tímto účelem vás tento článek naučí, jak převést soubory PUB do různých obrazových formátů pomocí C++.
- C++ API pro převod souborů PUB do formátu obrázku
- Převeďte soubory PUB na obrázky JPG pomocí C++
- Převeďte soubory PUB na obrázky PNG pomocí C++
- Převod souborů PUB na obrázky TIFF pomocí C++
C++ API pro převod souborů PUB do formátu obrázku
K provedení této konverze použijeme API Aspose.PUB for C++ a Aspose.PDF for C++. První je knihovna pro práci se soubory Microsoft Publisher (PUB), zatímco druhá je knihovna pro vytváření, čtení a úpravy souborů PDF. Aspose.PUB for C++ API použijeme pro převod souborů PUB do formátu PDF a Aspose.PDF for C++ API pro převod vygenerovaných souborů PDF do formátu obrázků. Rozhraní API můžete nainstalovat prostřednictvím NuGet nebo si je stáhnout přímo ze sekce Stahování.
PM> Install-Package Aspose.PUB.Cpp
PM> Install-Package Aspose.PDF.Cpp
Převeďte soubory PUB na obrázky JPG pomocí C++
Následují kroky pro převod souborů PUB na obrázky JPG.
- Načtěte soubor PUB pomocí metody PubFactory::CreateParser(System::String fileName).
- Převeďte soubor PUB do formátu PDF pomocí ConvertToPdf(System::SharedPtr doc, System::String fileName) metoda.
- Načtěte vygenerovaný soubor PDF pomocí třídy Document.
- Procházejte stránky souboru PDF.
- Získejte rozměry stránky PDF.
- Vytvořte instanci třídy Resolution.
- Vytvořte instanci třídy JpegDevice zadáním šířky, výšky a rozlišení.
- Vytvořte instanci FileStream pro výstupní obrázek.
- Převeďte stránku PDF na obrázek JPG pomocí JpegDevice->Process(System::SharedPtr stránka, System::SharedPtr< System::IO::Stream > výstup) metoda.
- Zavřete stream.
Následující ukázkový kód ukazuje, jak převést soubory PUB na obrázky JPG pomocí C++.
// Zdrojové cesty PUB a výstupní soubory PDF
System::String filePub = u"SourceDirectory\\1.pub";
System::String filePdf = u"OutputDirectory\\1.pdf";
// Načtěte soubor PUB
System::SharedPtr<IPubParser> parser = PubFactory::CreateParser(filePub);
System::SharedPtr<Aspose::Pub::Document> document = parser->Parse();
// Převeďte soubor PUB do formátu PDF
PubFactory::CreatePdfConverter()->ConvertToPdf(document, filePdf);
// Načtěte vygenerovaný soubor PDF
auto pdfDocument = MakeObject<Aspose::Pdf::Document>(filePdf);
auto info = MakeObject<Facades::PdfFileInfo>(pdfDocument);
// Iterujte stránky PDF
for (auto page : pdfDocument->get_Pages())
{
// Získejte rozměry stránky PDF
int width = info->GetPageWidth(page->get_Number());
int height = info->GetPageHeight(page->get_Number());
// Vytvořte instanci třídy Resolution
auto resolution = MakeObject<Devices::Resolution>(300);
// Vytvořte zařízení JPEG se zadanou šířkou, výškou a rozlišením
auto device = MakeObject<Devices::JpegDevice>(width, height, resolution);
// Vytvořte tok souborů pro výstupní obrázek
System::SharedPtr<System::IO::FileStream> imageStream = System::IO::File::Create(String::Format(u"OutputDirectory\\page_{0}.jpg", page->get_Number()));
// Převeďte stránku PDF na obrázek JPG
device->Process(page, imageStream);
// Zavřete stream
imageStream->Close();
}
Převeďte soubory PUB na obrázky PNG pomocí C++
Chcete-li převést soubory PUB na obrázky PNG, postupujte podle níže uvedených kroků.
- Načtěte soubor PUB pomocí metody PubFactory::CreateParser(System::String fileName).
- Převeďte soubor PUB do formátu PDF pomocí ConvertToPdf(System::SharedPtr doc, System::String fileName) metoda.
- Načtěte vygenerovaný soubor PDF pomocí třídy Document.
- Procházejte stránky souboru PDF.
- Získejte rozměry stránky PDF.
- Vytvořte instanci třídy Resolution.
- Vytvořte instanci třídy PngDevice zadáním šířky, výšky a rozlišení.
- Vytvořte instanci FileStream pro výstupní obrázek.
- Převeďte stránku PDF na obrázek PNG pomocí PngDevice->Process(System::SharedPtr strana, System::SharedPtrSystem::IO::Stream výstup) metoda.
- Zavřete stream.
Následující ukázkový kód ukazuje, jak převést soubory PUB na obrázky PNG pomocí C++.
// Zdrojové cesty PUB a výstupní soubory PDF
System::String filePub = u"SourceDirectory\\1.pub";
System::String filePdf = u"OutputDirectory\\1.pdf";
// Načtěte soubor PUB
System::SharedPtr<IPubParser> parser = PubFactory::CreateParser(filePub);
System::SharedPtr<Aspose::Pub::Document> document = parser->Parse();
// Převeďte soubor PUB do formátu PDF
PubFactory::CreatePdfConverter()->ConvertToPdf(document, filePdf);
// Načtěte vygenerovaný soubor PDF
auto pdfDocument = MakeObject<Aspose::Pdf::Document>(filePdf);
auto info = MakeObject<Facades::PdfFileInfo>(pdfDocument);
// Iterujte stránky PDF
for (auto page : pdfDocument->get_Pages())
{
// Získejte rozměry stránky PDF
int width = info->GetPageWidth(page->get_Number());
int height = info->GetPageHeight(page->get_Number());
// Vytvořte instanci třídy Resolution
auto resolution = MakeObject<Devices::Resolution>(300);
// Vytvořte zařízení PNG se zadanou šířkou, výškou a rozlišením
auto device = MakeObject<Devices::PngDevice>(width, height, resolution);
// Vytvořte tok souborů pro výstupní obrázek
System::SharedPtr<System::IO::FileStream> imageStream = System::IO::File::Create(String::Format(u"OutputDirectory\\page_{0}.png", page->get_Number()));
// Převeďte stránku PDF na obrázek PNG
device->Process(page, imageStream);
// Zavřete stream
imageStream->Close();
}
Převod souborů PUB na obrázky TIFF pomocí C++
Následují kroky pro převod souborů PUB na obrázky TIFF.
- Načtěte soubor PUB pomocí metody PubFactory::CreateParser(System::String fileName).
- Převeďte soubor PUB do formátu PDF pomocí ConvertToPdf(System::SharedPtr doc, System::String fileName) metoda.
- Načtěte vygenerovaný soubor PDF pomocí třídy Document.
- Získejte rozměry první stránky PDF.
- Vytvořte instanci třídy Resolution.
- Vytvořte instanci třídy TiffSettings a nastavte požadovaná nastavení.
- Vytvořte instanci třídy TiffDevice zadáním šířky, výšky, rozlišení a TiffSettings.
- Vytvořte instanci FileStream pro výstupní obrázek.
- Převeďte soubor PDF na obrázek TIFF pomocí TiffDevice->Process( System::SharedPtrAspose::Pdf::Document dokument, int32t fromPage, int32t toPage, System::SharedPtrSystem::IO::Stream výstup) metoda.
- Zavřete stream.
Následující ukázkový kód ukazuje, jak převést soubory PUB na obrázky TIFF pomocí C++.
// Zdrojové cesty PUB a výstupní soubory PDF
System::String filePub = u"SourceDirectory\\1.pub";
System::String filePdf = u"OutputDirectory\\1.pdf";
// Načtěte soubor PUB
System::SharedPtr<IPubParser> parser = PubFactory::CreateParser(filePub);
System::SharedPtr<Aspose::Pub::Document> document = parser->Parse();
// Převeďte soubor PUB do formátu PDF
PubFactory::CreatePdfConverter()->ConvertToPdf(document, filePdf);
// Načtěte vygenerovaný soubor PDF
auto pdfDocument = MakeObject<Aspose::Pdf::Document>(filePdf);
auto info = MakeObject<Facades::PdfFileInfo>(pdfDocument);
// Získejte rozměry první stránky PDF
int width = info->GetPageWidth(1);
int height = info->GetPageHeight(1);
// Vytvořte instanci třídy Resolution
auto resolution = MakeObject<Devices::Resolution>(300);
// Vytvořte instanci třídy TiffSettings a nastavte požadovaná nastavení
auto settings = MakeObject<Devices::TiffSettings>();
settings->set_Compression(Devices::CompressionType::None);
settings->set_Depth(Devices::ColorDepth::Default);
// Vytvořte zařízení TIFF se zadanými nastaveními Width, Height, Resolution a TiffSettings
auto device = MakeObject<Devices::TiffDevice>(width, height, resolution, settings);
// Vytvořte tok souborů pro výstupní obrázek
System::SharedPtr<System::IO::FileStream> imageStream = System::IO::File::Create(u"OutputDirectory\\pdf.tiff");
// Převeďte soubor PDF na obrázek TIFF
device->Process(pdfDocument, 1, 1, imageStream);
// Zavřete stream
imageStream->Close();
Získejte bezplatnou licenci
Rozhraní API můžete vyzkoušet bez omezení hodnocení tím, že požádáte o bezplatnou dočasnou licenci.
Závěr
V tomto článku jste se naučili, jak převést soubory Microsoft Publisher (PUB) na obrázky JPG, PNG a TIFF pomocí C++. K dosažení tohoto cíle jsme použili Aspose.PUB for C++ a Aspose.PDF for C++ API. Tato rozhraní API můžete podrobně prozkoumat návštěvou jejich oficiální dokumentace. V případě jakýchkoli dotazů nás neváhejte kontaktovat na našem bezplatném fóru podpory.