Microsoft Publisher(PUB))ファイルは、パンフレット、ニュースレター、ポスターなどの専門的なドキュメントやマーケティング資料を作成するために使用されます。 PUBファイルをDOCおよびDOCX形式のWord文書に変換する必要があるシナリオがあるかもしれません。このような場合、この記事では、C++を使用してPUBファイルをWord形式に変換する方法を説明します。
PUBファイルをWord形式に変換するためのC++API
この変換は、Aspose.PUB for C++およびAspose.PDF for C++APIを使用して実行します。前者はMicrosoftPublisher(PUB)ファイルを操作するためのAPIであり、後者はPDFファイルを作成、読み取り、更新するためのAPIです。 Aspose.PUB for C++ APIを使用してPUBファイルをPDF形式に変換し、Aspose.PDF for C++APIを使用して生成されたPDFファイルをWordファイルに変換します。 NuGetを介してAPIをインストールするか、ダウンロードセクションから直接ダウンロードできます。
PM> Install-Package Aspose.PUB.Cpp
PM> Install-Package Aspose.PDF.Cpp
C++を使用してPUBファイルをWordDOC/DOCXファイルに変換する
以下は、PUBファイルをDOCまたはDOCX形式のWord文書に変換する手順です。
- PubFactory::CreateParser(System::String fileName)メソッドを使用してPUBファイルをロードします。
- ConvertToPdf(System::SharedPtr doc, System::String fileName)メソッド。
- Documentクラスを使用して生成されたPDFファイルをロードします。
- DocSaveOptionsクラスのインスタンスを作成します。
- DocSaveOptions->set_Format(DocSaveOptions::DocFormat value)メソッドを使用して、フォーマットをDocFormat ::DocXに設定します。
- Document->Save(System::String outputFileName, System::SharedPtr options)メソッドを使用してWordファイルを保存します。
次のサンプルコードは、C++を使用してPUBファイルをWord文書に変換する方法を示しています。
// ソース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);
// DocSaveOptionsクラスのインスタンスを作成します
auto saveOptions = MakeObject<Aspose::Pdf::DocSaveOptions>();
// フォーマットをDocXとして設定します
saveOptions->set_Format(DocSaveOptions::DocFormat::DocX);
// DocXファイルを保存します
pdfDocument->Save(u"OutputDirectory\\PubToDocx.docx", saveOptions);
無料ライセンスを取得する
無料の一時ライセンスをリクエストすることで、評価の制限なしにAPIを試すことができます。
結論
この記事では、C++を使用してPUBファイルをWord形式に変換する方法を学習しました。これを実現するために、C++にはAspose.PUBを使用し、C++APIにはAspose.PDFを使用しました。これらのAPIの詳細については、公式ドキュメントをご覧ください。ご不明な点がございましたら、無料サポートフォーラムまでお気軽にお問い合わせください。