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
- Konvertieren Sie PUB Dateien mit C++ in JPG Bilder
- Konvertieren Sie PUB Dateien mit C++ in PNG Bilder
- Konvertieren von PUB Dateien in TIFF Bilder mit C++
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.
- Laden Sie die PUB Datei mit der methode PubFactory::CreateParser(System::String fileName).
- Konvertieren Sie die PUB Datei mit ConvertToPdf(System::SharedPtr doc, System::String fileName) methode.
- Laden Sie die generierte PDF Datei mit der Klasse Document.
- Durchlaufen Sie die Seiten der PDF Datei.
- Holen Sie sich die Abmessungen der PDF-Seite.
- Erstellen Sie eine Instanz der Klasse Resolution.
- Instanziieren Sie die Klasse JpegDevice, indem Sie Breite, Höhe und Auflösung angeben.
- Erstellen Sie eine Instanz von FileStream für das Ausgabebild.
- Konvertieren Sie die PDF-Seite mithilfe von JpegDevice->Process(System::SharedPtr page, System::SharedPtr< System::IO::Stream > output) methode.
- Schließen Sie den Stream.
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.
- Laden Sie die PUB Datei mit der methode PubFactory::CreateParser(System::String fileName).
- Konvertieren Sie die PUB Datei mit ConvertToPdf(System::SharedPtr doc, System::String fileName) methode.
- Laden Sie die generierte PDF Datei mit der Klasse Document.
- Durchlaufen Sie die Seiten der PDF Datei.
- Holen Sie sich die Abmessungen der PDF-Seite.
- Erstellen Sie eine Instanz der Klasse Resolution.
- Instanziieren Sie die Klasse PngDevice, indem Sie Breite, Höhe und Auflösung angeben.
- Erstellen Sie eine Instanz von FileStream für das Ausgabebild.
- Konvertieren Sie die PDF-Seite mithilfe von PngDevice->Process(System::SharedPtr Seite, System::SharedPtrSystem::IO::Stream Ausgabe) methode.
- Schließen Sie den Stream.
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.
- Laden Sie die PUB Datei mit der methode PubFactory::CreateParser(System::String fileName).
- Konvertieren Sie die PUB Datei mit ConvertToPdf(System::SharedPtr doc, System::String fileName) methode.
- Laden Sie die generierte PDF Datei mit der Klasse Document.
- Holen Sie sich die Abmessungen der ersten PDF-Seite.
- Erstellen Sie eine Instanz der Klasse Resolution.
- Erstellen Sie eine Instanz der Klasse TiffSettings und legen Sie die erforderlichen Einstellungen fest.
- Instanziieren Sie die Klasse TiffDevice, indem Sie Breite, Höhe, Auflösung und TiffSettings angeben.
- Erstellen Sie eine Instanz von FileStream für das Ausgabebild.
- Konvertieren Sie die PDF Datei in ein TIFF Bild mit TiffDevice->Process( System::SharedPtrAspose::Pdf::Document document, int32t fromPage, int32t toPage, System::SharedPtrSystem::IO::Stream Ausgabe) methode.
- Schließen Sie den Stream.
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.