画像は、ドキュメントに視覚的な多様性を追加し、テキストだけでは表現しきれない複雑な概念や感情などの情報を伝えることができます。これは文書を分かりやすく、魅力的で記憶に残るものにするための強力なツールです。レポートやマーケティングドキュメントを作成する場合でも、画像を挿入することで読者とのコミュニケーションを強化し、印象に残るドキュメントを作成できます。この記事では、Spire.Doc for C++ を使用して C++ で Word 文書に画像を挿入する方法について説明します。
Spire.Doc for C++ をインストールします
Spire.Doc for C++ をアプリケーションに組み込むには、2つの方法があります。一つは NuGet 経由でインストールする方法、もう一つは当社のウェブサイトからパッケージをダウンロードし、ライブラリをプログラムにコピーする方法です。NuGet 経由のインストールの方が便利で、より推奨されます。詳しくは、以下のリンクからご覧いただけます。
Spire.Doc for C++ を C++ アプリケーションに統合する方法
Word 文書に画像を挿入する
Spire.Doc for C++ は、Word 文書に画像を挿入するための Paragraph->AppendPicture() メソッドを提供します。詳細な手順は次のとおりです。
- Document クラスのインスタンスを初期化します。
- Document->AddSection() メソッドを使用してセクションを追加します。
- Section->AddParagraph() メソッドを使用して、セクションに 2 つの段落を追加します。
- Paragraph->AppendText() メソッドを使用して段落にテキストを追加し、フォーマットを設定します。
- Image::FromFile() メソッドを使用して画像を読み込みます。
- Paragraph->AppendPicture() メソッドを使用して、最初の段落に画像を追加します。
- DocPicture->SetWidth() メソッドと DocPicture->SetHeight() メソッドを使用して、画像の幅と高さを設定します。
- DocPicture->SetTextWrappingStyle() メソッドを使用して、画像の折り返し種類を設定します。
- Document->SaveToFile() メソッドを使用して結果ドキュメントを保存します。
- C++
#include "Spire.Doc.o.h"
using namespace Spire::Doc;
using namespace Spire::Common;
int main()
{
//Documentクラスのインスタンスを初期化する
Document* document = new Document();
//セクションを追加する
Section* section = document->AddSection();
//最初の段落を追加する
Paragraph* paragraph1 = section->AddParagraph();
//段落にテキストを追加してフォーマットを設定する
TextRange* tr = paragraph1->AppendText(L"Spire.Doc for C++ は、Word 文書を操作するための C++ クラスライブラリです。開発者が Microsoft Word 文書を迅速かつ容易に作成、編集、変換、比較できるように設計されています。");
tr->GetCharacterFormat()->SetFontName(L"Yu Mincho ");
tr->GetCharacterFormat()->SetFontSize(11.0f);
paragraph1->GetFormat()->SetLineSpacing(20.0f);
paragraph1->GetFormat()->SetAfterSpacing(10.0f);
//2 つの段落を追加する
Paragraph* paragraph2 = section->AddParagraph();
//段落にテキストを追加してフォーマットを設定する
tr = paragraph2->AppendText(L"独立した Word C++ コントロールとして、Spire.Doc for C++ は、それが実行されるシステム(サーバーまたはクライアント)に Microsoft Word がインストールされている必要はありませんが、Microsoft Word 文書の操作を任意の開発者の C++ アプリケーションに統合することができます。");
tr->GetCharacterFormat()->SetFontName(L"Yu Mincho ");
tr->GetCharacterFormat()->SetFontSize(11.0f);
paragraph2->GetFormat()->SetLineSpacing(20.0f);
//画像をロードする
Spire::Common::Image* image = Image::FromFile(L"image.png");
//画像を最初の段落に追加する
DocPicture* picture = paragraph1->AppendPicture(image);
//画像の幅と高さを設定する
picture->SetWidth(100);
picture->SetHeight(100);
//画像の折り返し種類を設定する
picture->SetTextWrappingStyle(TextWrappingStyle::Tight);
//結果ドキュメントを保存する
document->SaveToFile(L"InsertImage.docx", FileFormat::Docx2013);
document->Close();
delete document;
}
Word 文書の指定した位置に画像を挿入する
Spire.Doc for C++ は Word に画像の挿入をサポートしています。そして、DocPicture->SetHorizontalPosition() と DocPicture->SetVerticalPosition() メソッドを使用して、画像の位置を設定することができます。詳細な手順は次のとおりです。
- Document クラスのインスタンスを初期化します。
- Document->AddSection() メソッドを使用してセクションを追加します。
- Section->AddParagraph() メソッドを使用して、セクションに段落を追加します。
- Paragraph->AppendText() メソッドを使用して段落にテキストを追加し、フォーマットを設定します。
- Image::FromFile() メソッドを使用して画像を読み込みます。
- Paragraph->AppendPicture() メソッドを使用して、段落に画像を追加します。
- DocPicture->SetWidth() メソッドと DocPicture->SetHeight() メソッドを使用して、画像の幅と高さを設定します。
- DocPicture->SetHorizontalPosition() メソッドと DocPicture->SetVerticalPosition() メソッドを使用して、画像の水平位置と垂直位置を設定します。
- DocPicture->SetTextWrappingStyle() メソッドを使用して、画像の折り返し種類を設定します。 (折り返し種類が「Inline」の場合、位置を設定できません。)
- Document->SaveToFile() メソッドを使用して結果ドキュメントを保存します。
- C++
#include "Spire.Doc.o.h"
using namespace Spire::Doc;
using namespace Spire::Common;
int main()
{
//Documentクラスのインスタンスを初期化する
Document* document = new Document();
//セクションを追加する
Section* section = document->AddSection();
//セクションに段落を追加する
Paragraph* paragraph = section->AddParagraph();
//段落にテキストを追加してフォーマットを設定する
TextRange* tr = paragraph->AppendText(L"この例では、Word内の指定された場所に画像を挿入する方法を示します。");
tr->GetCharacterFormat()->SetFontName(L"Yu Mincho");
paragraph->ApplyStyle(BuiltinStyle::Heading2);
//画像をロードする
Spire::Common::Image* image = Image::FromFile(L"image.png");
//画像を段落に追加する
DocPicture* picture = paragraph->AppendPicture(image);
//画像のサイズを設定する
picture->SetWidth(100);
picture->SetHeight(100);
//画像の位置を設定する
picture->SetHorizontalPosition(180.0F);
picture->SetVerticalPosition(60.0F);
//画像の折り返し種類を設定する (折り返し種類が「Inline」の場合、位置を設定できません。)
picture->SetTextWrappingStyle(TextWrappingStyle::Through);
//結果ドキュメントを保存する
document->SaveToFile(L"InsertImageAtSpecifiedLocation.docx", FileFormat::Docx);
document->Close();
delete document;
}
一時ライセンスを申請する
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。