Konvertieren Sie PUB mit C++ in Image

Microsoft Publisher (PUB) Dateien werden zum Drucken oder Veröffentlichen von Informationen verwendet. Es kann Szenarien geben, in denen Sie diese Dateien freigeben müssen und die empfangende Partei keinen Zugriff auf Microsoft Publisher hat. In solchen Fällen kann es hilfreich sein, diese Dateien vor dem Teilen in Bilder umzuwandeln. Zu diesem Zweck erfahren Sie in diesem Artikel, wie Sie PUB Dateien mit C++ in verschiedene Bildformate konvertieren.

C++-APIs zum Konvertieren von PUB Dateien in das Bildformat

Wir werden die APIs Aspose.PUB for C++ und Aspose.PDF for C++ verwenden, um diese Konvertierung durchzuführen. Ersteres ist eine Bibliothek zum Arbeiten mit Microsoft Publisher (PUB) Dateien, während letzteres die Bibliothek zum Erstellen, Lesen und Ändern von PDF Dateien ist. Wir werden die API Aspose.PUB for C++ verwenden, um PUB Dateien in das PDF Format zu konvertieren, und die API Aspose.PDF for C++, um die generierten PDF Dateien in das Bildformat zu konvertieren. Sie können die APIs entweder über NuGet installieren oder direkt aus dem Abschnitt Downloads herunterladen.

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

Konvertieren Sie PUB Dateien mit C++ in JPG Bilder

Im Folgenden sind die Schritte zum Konvertieren von PUB Dateien in JPG Bilder aufgeführt.

Der folgende Beispielcode zeigt, wie PUB Dateien mit C++ in JPG Bilder konvertiert werden.

// Quell-PUB und Ausgabe-PDF Dateipfade
System::String filePub = u"SourceDirectory\\1.pub";
System::String filePdf = u"OutputDirectory\\1.pdf";

// Laden Sie die PUB Datei
System::SharedPtr<IPubParser> parser = PubFactory::CreateParser(filePub);
System::SharedPtr<Aspose::Pub::Document> document = parser->Parse();

// Konvertieren Sie die PUB Datei in PDF
PubFactory::CreatePdfConverter()->ConvertToPdf(document, filePdf);

// Laden Sie die generierte PDF Datei
auto pdfDocument = MakeObject<Aspose::Pdf::Document>(filePdf);
auto info = MakeObject<Facades::PdfFileInfo>(pdfDocument);

// Durchlaufen Sie die PDF-Seiten
for (auto page : pdfDocument->get_Pages())
{
	// Abmessungen der PDF-Seite abrufen
	int width = info->GetPageWidth(page->get_Number());
	int height = info->GetPageHeight(page->get_Number());

	// Erstellen Sie eine Instanz der Resolution Klasse
	auto resolution = MakeObject<Devices::Resolution>(300);

	// Erstellen Sie ein JPEG-Gerät mit der angegebenen Breite, Höhe und Auflösung
	auto device = MakeObject<Devices::JpegDevice>(width, height, resolution);

	// Erstellen Sie den Dateistream für das Ausgabebild
	System::SharedPtr<System::IO::FileStream> imageStream = System::IO::File::Create(String::Format(u"OutputDirectory\\page_{0}.jpg", page->get_Number()));

	// Konvertieren Sie die PDF-Seite in ein JPG Bild
	device->Process(page, imageStream);

	// Schließen Sie den Stream
	imageStream->Close();
}

Konvertieren Sie PUB Dateien mit C++ in PNG Bilder

Führen Sie die folgenden Schritte aus, um PUB Dateien in PNG Bilder zu konvertieren.

Der folgende Beispielcode zeigt, wie PUB Dateien mit C++ in PNG Bilder konvertiert werden.

// Quell-PUB und Ausgabe-PDF Dateipfade
System::String filePub = u"SourceDirectory\\1.pub";
System::String filePdf = u"OutputDirectory\\1.pdf";

// Laden Sie die PUB Datei
System::SharedPtr<IPubParser> parser = PubFactory::CreateParser(filePub);
System::SharedPtr<Aspose::Pub::Document> document = parser->Parse();

// Konvertieren Sie die PUB Datei in PDF
PubFactory::CreatePdfConverter()->ConvertToPdf(document, filePdf);

// Laden Sie die generierte PDF Datei
auto pdfDocument = MakeObject<Aspose::Pdf::Document>(filePdf);
auto info = MakeObject<Facades::PdfFileInfo>(pdfDocument);

// Durchlaufen Sie die PDF-Seiten
for (auto page : pdfDocument->get_Pages())
{
	// Abmessungen der PDF-Seite abrufen
	int width = info->GetPageWidth(page->get_Number());
	int height = info->GetPageHeight(page->get_Number());

	// Erstellen Sie eine Instanz der Resolution Klasse
	auto resolution = MakeObject<Devices::Resolution>(300);

	// Erstellen Sie ein PNG-Gerät mit der angegebenen Breite, Höhe und Auflösung
	auto device = MakeObject<Devices::PngDevice>(width, height, resolution);

	// Erstellen Sie den Dateistream für das Ausgabebild
	System::SharedPtr<System::IO::FileStream> imageStream = System::IO::File::Create(String::Format(u"OutputDirectory\\page_{0}.png", page->get_Number()));

	// Konvertieren Sie die PDF-Seite in ein PNG Bild
	device->Process(page, imageStream);

	// Schließen Sie den Stream
	imageStream->Close();
}

Konvertieren von PUB Dateien in TIFF Bilder mit C++

Im Folgenden sind die Schritte zum Konvertieren von PUB Dateien in TIFF Bilder aufgeführt.

Der folgende Beispielcode veranschaulicht, wie PUB Dateien mit C++ in TIFF Bilder konvertiert werden.

// Quell-PUB und Ausgabe-PDF Dateipfade
System::String filePub = u"SourceDirectory\\1.pub";
System::String filePdf = u"OutputDirectory\\1.pdf";

// Laden Sie die PUB Datei
System::SharedPtr<IPubParser> parser = PubFactory::CreateParser(filePub);
System::SharedPtr<Aspose::Pub::Document> document = parser->Parse();

// Konvertieren Sie die PUB Datei in PDF
PubFactory::CreatePdfConverter()->ConvertToPdf(document, filePdf);

// Laden Sie die generierte PDF Datei
auto pdfDocument = MakeObject<Aspose::Pdf::Document>(filePdf);
auto info = MakeObject<Facades::PdfFileInfo>(pdfDocument);

// Holen Sie sich die Abmessungen der ersten PDF-Seite
int width = info->GetPageWidth(1);
int height = info->GetPageHeight(1);

// Erstellen Sie eine Instanz der Resolution Klasse
auto resolution = MakeObject<Devices::Resolution>(300);

// Erstellen Sie eine Instanz der TiffSettings Klasse und legen Sie die erforderlichen Einstellungen fest
auto settings = MakeObject<Devices::TiffSettings>();
settings->set_Compression(Devices::CompressionType::None);
settings->set_Depth(Devices::ColorDepth::Default);

// Erstellen Sie ein TIFF-Gerät mit der angegebenen Breite, Höhe, Auflösung und Tiff-Einstellungen
auto device = MakeObject<Devices::TiffDevice>(width, height, resolution, settings);

// Erstellen Sie den Dateistream für das Ausgabebild
System::SharedPtr<System::IO::FileStream> imageStream = System::IO::File::Create(u"OutputDirectory\\pdf.tiff");

// Konvertieren Sie die PDF Datei in ein TIFF Bild
device->Process(pdfDocument, 1, 1, imageStream);

// Schließen Sie den Stream
imageStream->Close();

Holen Sie sich eine kostenlose Lizenz

Sie können die API ohne Evaluierungseinschränkungen testen, indem Sie eine kostenlose temporäre Lizenz anfordern.

Fazit

In diesem Artikel haben Sie gelernt, wie Sie Microsoft Publisher Dateien (PUB) mit C++ in JPG, PNG und TIFF Bilder konvertieren. Wir haben die APIs Aspose.PUB for C++ und Aspose.PDF for C++ verwendet, um dies zu erreichen. Sie können diese APIs im Detail erkunden, indem Sie ihre offizielle Dokumentation besuchen. Bei Fragen können Sie uns gerne in unserem kostenlosen Support-Forum erreichen.

Siehe auch