Microsoft Word文書は、DOCとDOCXの2つの形式で入手できます。 DOCは古い形式であり、DOCXはその後継です。 DOCXファイルをDOC形式に、またはその逆に変換できます。この記事では、DOCXファイルをDOC形式に変換する方法とDOCファイルをDOCX形式に変換する方法を学習します。また、これらの変換を一括で実行する方法についても説明します。これらのシナリオを詳細に調べるには、次のセクションを参照してください。
- DOCXをDOCに、DOCをDOCX形式に変換するためのC++ API
- C++を使用したDOCXファイルのDOC形式への変換
- C++を使用してDOCXファイルをDOC形式にバッチ変換する
- C++を使用してDOCファイルをDOCX形式に変換する
- C++を使用してDOCファイルをDOCX形式にバッチ変換する
DOCXをDOCに、DOCをDOCX形式に変換するためのC++ API
Aspose.Words for C++は、Microsoft Word文書の作成、読み取り、および変更を可能にするネイティブC++ライブラリです。さらに、DOCXファイルからDOC形式への変換、およびDOCファイルからDOCX形式への変換もサポートしています。 APIは、NuGetからインストールするか、ダウンロードセクションから直接ダウンロードできます。
PM> Install-Package Aspose.Words.Cpp
C++を使用したDOCXファイルのDOC形式への変換
以下の手順に従って、DOCXファイルをDOC形式に変換できます。
- LoadOptionsクラスのインスタンスを作成します。
- LoadOptions->set_LoadFormat(Aspose::Words::LoadFormat value)メソッドを使用して、ロード形式をDOCXとして設定します。
- Documentクラスを使用してソースDOCXファイルをロードします。
- Document->Save(System::String fileName, Aspose::Words::SaveFormat saveFormat)メソッドを使用して、変換されたDOCファイルを保存します。
次のサンプルコードは、C++を使用してDOCXファイルをDOCファイルに変換する方法を示しています。
// LoadOptionsクラスのインスタンスを作成します
auto loadOptions = System::MakeObject<LoadOptions>();
// 入力ワードドキュメントのLoadFormatを指定します
loadOptions->set_LoadFormat(LoadFormat::Docx);
// ソースDOCXファイルをロードします
System::SharedPtr<Document> doc = System::MakeObject<Document>(u"SourceDirectory\\Word\\Sample 4.docx", loadOptions);
// DOCファイルを保存します
doc->Save(u"OutputDirectory\\output.doc", SaveFormat::Doc);
C++を使用してDOCXファイルをDOC形式にバッチ変換する
DOC形式に変換する必要のあるDOCXファイルが数百ある場合は、プログラムを1回実行するだけで簡単に変換できます。この例では、boostライブラリを使用して、ディレクトリ内のファイルを反復処理します。以下は、DOCXファイルをDOC形式にバッチ変換する手順です。
- ディレクトリ内のファイルを繰り返し処理します。
- LoadOptionsクラスのインスタンスを作成します。
- LoadOptions->set_LoadFormat(Aspose::Words::LoadFormat value)メソッドを使用して、ロード形式をDOCXとして設定します。
- Documentクラスを使用してDOCXファイルをロードします。
- ファイル名の拡張子をDOCに変更します。
- Document->Save(System::String fileName, Aspose::Words::SaveFormat saveFormat)メソッドを使用して、変換されたDOCファイルを保存します。
次のサンプルコードは、C++を使用してDOCXファイルを一括でDOC形式に変換する方法を示しています。
// ディレクトリ内のファイルを繰り返し処理します
for (directory_entry& file : directory_iterator("SourceDirectory\\Word"))
{
// ファイル拡張子を確認してください
if (file.path().extension().string() == ".docx")
{
// LoadOptionsクラスのインスタンスを作成します
auto loadOptions = System::MakeObject<LoadOptions>();
// 入力ワードドキュメントのLoadFormatを指定します
loadOptions->set_LoadFormat(LoadFormat::Docx);
// DOCXファイルをロードします
System::SharedPtr<Document> doc = System::MakeObject<Document>((System::String)file.path().string(), loadOptions);
// ファイル拡張子を変更する
System::String fileName = (System::String)file.path().filename().string();
fileName = fileName.Replace(u".docx", u".doc");
// DOCファイルを保存します
doc->Save(System::String::Concat(u"OutputDirectory\\", fileName), SaveFormat::Doc);
}
}
C++を使用してDOCファイルをDOCX形式に変換する
以下は、DOCファイルをDOCXファイルに変換する手順です。
- LoadOptionsクラスのインスタンスを作成します。
- LoadOptions->set_LoadFormat(Aspose::Words::LoadFormat value)メソッドを使用して、ロード形式をDOCとして設定します。
- Documentクラスを使用してソースDOCファイルをロードします。
- Document->Save(System::String fileName, Aspose::Words::SaveFormat saveFormat)メソッドを使用して、変換されたDOCXファイルを保存します。
次のサンプルコードは、C++を使用してDOCファイルをDOCXファイルに変換する方法を示しています。
// LoadOptionsクラスのインスタンスを作成します
auto loadOptions = System::MakeObject<LoadOptions>();
// 入力ワードドキュメントのLoadFormatを指定します
loadOptions->set_LoadFormat(LoadFormat::Doc);
// ソースDOCファイルをロードします
System::SharedPtr<Document> doc = System::MakeObject<Document>(u"SourceDirectory\\Word\\Sample 1.doc", loadOptions);
// DOCXファイルを保存します
doc->Save(u"OutputDirectory\\output.docx", SaveFormat::Docx);
C++を使用してDOCファイルをDOCX形式にバッチ変換する
DOCファイルを一括でDOCX形式に変換するには、以下の手順を使用します。
- ディレクトリ内のファイルを繰り返し処理します。
- LoadOptionsクラスのインスタンスを作成します。
- LoadOptions->set_LoadFormat(Aspose::Words::LoadFormat value)メソッドを使用して、ロード形式をDOCとして設定します。
- Documentクラスを使用してDOCファイルをロードします。
- ファイル名の拡張子をDOCXに変更します。
- Document->Save(System::String fileName, Aspose::Words::SaveFormat saveFormat)メソッドを使用して、変換されたDOCXファイルを保存します。
次のサンプルコードは、C++を使用してDOCファイルを一括でDOCX形式に変換する方法を示しています。
// ディレクトリ内のファイルを繰り返し処理します
for (directory_entry& file : directory_iterator("SourceDirectory\\Word"))
{
// ファイル拡張子を確認してください
if (file.path().extension().string() == ".doc")
{
// LoadOptionsクラスのインスタンスを作成します
auto loadOptions = System::MakeObject<LoadOptions>();
// 入力ワードドキュメントのLoadFormatを指定します
loadOptions->set_LoadFormat(LoadFormat::Doc);
// DOCファイルをロードします
System::SharedPtr<Document> doc = System::MakeObject<Document>((System::String)file.path().string(), loadOptions);
// ファイル拡張子を変更する
System::String fileName = (System::String)file.path().filename().string();
fileName = fileName.Replace(u".doc", u".docx");
// DOCXファイルを保存します
doc->Save(System::String::Concat(u"OutputDirectory\\", fileName), SaveFormat::Docx);
}
}
無料ライセンスを取得する
無料の一時ライセンスをリクエストすることで、評価の制限なしにAPIを試すことができます。
結論
この記事では、C++を使用してDOCXファイルをDOC形式に変換し、DOCファイルをDOCX形式に変換する方法を学習しました。さらに、Boostライブラリを使用してこれらの変換を一括で実行する方法を見てきました。 Aspose.Words for C++は、Word関連のタスクを自動化するための一連の追加機能を提供します。 公式ドキュメントにアクセスすると、APIの詳細を調べることができます。ご不明な点がございましたら、無料サポートフォーラムまでお気軽にお問い合わせください。