Попробуйте этот код. Я могу вставить новую страницу везде, где я вызываю этот метод:
void insertNewPage() {
QAxObject* activeWindow = activeDocument->querySubObject( "ActiveWindow" );
QAxObject* selection = activeWindow->querySubObject( "Selection" );
selection->dynamicCall( "Collapse(int)", 0 );
selection->dynamicCall( "InsertNewPage()" );
selection->dynamicCall( "Collapse(int)", 0 );
}
Например, предположим, что у вас есть метод write
для записи в ваш документ:
write( "This is a test. " );
write("With no newline but with a page break");
writePageBreak();
write("But this has a newline at the beginning and the end\n");
Вы закончите с This is a test. With no newline but with a page break
на одной странице и But this has a newline at the beginning and the end
на другой.
Я не проверяю NULL
указатели, хотя:)
Что касается того, почему ваша вторая страница пуста ... Я использую это, чтобы написать в Word:
QAxObject* selection = activeWindow->querySubObject( "Selection" );
selection->dynamicCall( "InsertAfter(const QString&)",text);
и до сих пор это работало.