チュートリアル
簡単にライブラリーを使用するためのチュートリアルコレクション
Word ドキュメントの改ページは、ページレイアウトの重要な機能で、好きな場所で新しいページを開始するのに役立ちます。改ページを挿入すると、前のページのすべての書式が新しいページに適用され、ドキュメント全体がすっきりと整理されます。この記事では、Spire.Doc for C++ を使用して、プログラムで Word ドキュメントに改ページを追加または削除する方法について説明します。
Spire.Doc for C++ をアプリケーションに組み込むには、2つの方法があります。一つは NuGet 経由でインストールする方法、もう一つは当社のウェブサイトからパッケージをダウンロードし、ライブラリをプログラムにコピーする方法です。NuGet 経由のインストールの方が便利で、より推奨されます。詳しくは、以下のリンクからご覧いただけます。
Spire.Doc for C++ を C++ アプリケーションに統合する方法
Spire.Doc for C++ では、段落の後に改ページを挿入する Paragraph->AppendBreak(BreakType::PageBreak) メソッドを提供しています。改ページが挿入されると、改ページを示す記号が表示されます。以下は、Word ドキュメントで特定の段落の後に改ページを挿入するための詳細な手順である。
#include "Spire.Doc.o.h"
using namespace Spire::Doc;
int main() {
//入力ファイル、出力ファイルのパスを指定する
std::wstring inputFile = L"C:/狼はどこに行ったの.docx";
std::wstring outputFile = L"Output/段落の後に改ページを挿入.docx";
//Documentのインスタンスを作成する
Document* document = new Document();
//Wordドキュメントを読み込む
document->LoadFromFile(inputFile.c_str());
//最初のセクションを取得する
Section* section = document->GetSections()->GetItem(0);
//セクションの3つ目の段落を取得する
Paragraph* paragraph = section->GetParagraphs()->GetItem(2);
//段落の後に改ページを挿入する
paragraph->AppendBreak(BreakType::PageBreak);
//ドキュメントを保存する
document->SaveToFile(outputFile.c_str(), FileFormat::Docx2013);
document->Close();
delete document;
}
Spire.Doc for C++ では、段落の後に改ページを挿入する以外に、指定したテキストを検索して、そのテキストの後に改ページを挿入することも可能です。以下、詳しい手順を説明します。
#include "Spire.Doc.o.h"
using namespace Spire::Doc;
int main() {
//入力ファイル、出力ファイルのパスを指定する
std::wstring inputFile = L"C:/狼はどこに行ったの.docx";
std::wstring outputFile = L"Output/テキストの後に改ページを挿入.docx";
//Documentのインスタンスを作成する
Document* document = new Document();
//Word ドキュメントを読み込む
document->LoadFromFile(inputFile.c_str());
//指定したテキストを検索する
TextSelection* selection = document->FindString(L"進化現象", true, true);
//指定したテキストのテキスト範囲を取得する
TextRange* range = selection->GetAsOneRange();
//テキスト範囲がある段落を取得する
Paragraph* paragraph = range->GetOwnerParagraph();
//段落内のテキスト範囲の位置インデックスを取得する
int index = paragraph->GetChildObjects()->IndexOf(range);
//改ページを作成する
Break* pageBreak = new Break(document, BreakType::PageBreak);
//指定したテキストの後に改ページを挿入する
paragraph->GetChildObjects()->Insert(index + 1, pageBreak);
//ドキュメントを保存する
document->SaveToFile(outputFile.c_str(), FileFormat::Docx2013);
document->Close();
delete document;
}
誤って追加された改ページがあると、文書全体の構造が乱れてしまうので、それを削除することはかなり必要です。以下は、Word 文書で改ページを削除する手順です。
#include "Spire.Doc.o.h"
using namespace Spire::Doc;
int main() {
//入力ファイル、出力ファイルのパスを指定する
std::wstring inputFile = L"Output/段落の後に改ページを挿入.docx";
std::wstring outputFile = L"Output/改ページの削除.docx";
//Documentのインスタンスを作成する
Document* document = new Document();
//Word ドキュメントを読み込む
document->LoadFromFile(inputFile.c_str());
//1つ目のセクションの各段落をループする
for (int j = 0; j < document->GetSections()->GetItem(0)->GetParagraphs()->GetCount(); j++)
{
Paragraph* p = document->GetSections()->GetItem(0)->GetParagraphs()->GetItem(j);
//段落の各子オブジェクトをループする
for (int i = 0; i < p->GetChildObjects()->GetCount(); i++)
{
DocumentObject* obj = p->GetChildObjects()->GetItem(i);
//子オブジェクトの種類が改ページかどうかを判断する
if (obj->GetDocumentObjectType() == DocumentObjectType::Break)
{
Break* b = dynamic_cast<Break*>(obj);
//段落から改ページを削除する
p->GetChildObjects()->Remove(b);
}
}
}
//ドキュメントを保存する
document->SaveToFile(outputFile.c_str(), FileFormat::Docx2013);
document->Close();
delete document;
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。